From 70ba974348dda7f650f078677a8ede2cb7befbc8 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Tue, 1 Apr 2025 15:58:25 -0700 Subject: [PATCH 001/102] [Balance] Remove accuracy cap from Wide Lens --- src/modifier/modifier.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 7c9207bbea5..80f14ba22ce 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -2734,7 +2734,7 @@ export class PokemonMoveAccuracyBoosterModifier extends PokemonHeldItemModifier * @returns always `true` */ override apply(_pokemon: Pokemon, moveAccuracy: NumberHolder): boolean { - moveAccuracy.value = Math.min(moveAccuracy.value + this.accuracyAmount * this.getStackCount(), 100); + moveAccuracy.value = moveAccuracy.value + this.accuracyAmount * this.getStackCount(); return true; } From b364bb18991475d8622af07955efe0580edf0393 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:39:53 -0500 Subject: [PATCH 002/102] [Bug][Ability] Fix wimp out and emergency exit skipping waves in double battles (#5261) Fix wimp out causing battles to skip --- src/phases/battle-end-phase.ts | 17 +++++++++++++++++ src/phases/new-battle-phase.ts | 5 +++++ test/abilities/wimp_out.test.ts | 26 ++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index a7158264ab7..e6a0c66548e 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -17,6 +17,23 @@ export class BattleEndPhase extends BattlePhase { start() { super.start(); + // cull any extra `BattleEnd` phases from the queue. + globalScene.phaseQueue = globalScene.phaseQueue.filter(phase => { + if (phase instanceof BattleEndPhase) { + this.isVictory ||= phase.isVictory; + return false; + } + return true; + }); + // `phaseQueuePrepend` is private, so we have to use this inefficient loop. + while (globalScene.tryRemoveUnshiftedPhase(phase => { + if (phase instanceof BattleEndPhase) { + this.isVictory ||= phase.isVictory; + return true; + } + return false; + })) {} + globalScene.gameData.gameStats.battles++; if ( globalScene.gameMode.isEndless && diff --git a/src/phases/new-battle-phase.ts b/src/phases/new-battle-phase.ts index 8cdbdc5891a..09b8ab1d335 100644 --- a/src/phases/new-battle-phase.ts +++ b/src/phases/new-battle-phase.ts @@ -5,6 +5,11 @@ export class NewBattlePhase extends BattlePhase { start() { super.start(); + // cull any extra `NewBattle` phases from the queue. + globalScene.phaseQueue = globalScene.phaseQueue.filter(phase => !(phase instanceof NewBattlePhase)); + // `phaseQueuePrepend` is private, so we have to use this inefficient loop. + while (globalScene.tryRemoveUnshiftedPhase(phase => phase instanceof NewBattlePhase)) {} + globalScene.newBattle(); this.end(); diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index ef201cbf8dd..294025a10e7 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -498,6 +498,7 @@ describe("Abilities - Wimp Out", () => { const hasFled = enemyPokemon.switchOutStatus; expect(isVisible && !hasFled).toBe(true); }); + it("wimp out will not skip battles when triggered in a double battle", async () => { const wave = 2; game.override @@ -525,4 +526,29 @@ describe("Abilities - Wimp Out", () => { await game.toNextWave(); expect(game.scene.currentBattle.waveIndex).toBe(wave + 1); }); + + it("wimp out should not skip battles when triggering the same turn as another enemy faints", async () => { + const wave = 2; + game.override + .enemySpecies(Species.WIMPOD) + .enemyAbility(Abilities.WIMP_OUT) + .startingLevel(50) + .enemyLevel(1) + .enemyMoveset([ Moves.SPLASH, Moves.ENDURE ]) + .battleType("double") + .moveset([ Moves.DRAGON_ENERGY, Moves.SPLASH ]) + .startingWave(wave); + + await game.classicMode.startBattle([ Species.REGIDRAGO, Species.MAGIKARP ]); + + // turn 1 + game.move.select(Moves.DRAGON_ENERGY, 0); + game.move.select(Moves.SPLASH, 1); + await game.forceEnemyMove(Moves.SPLASH); + await game.forceEnemyMove(Moves.ENDURE); + + await game.phaseInterceptor.to("SelectModifierPhase"); + expect(game.scene.currentBattle.waveIndex).toBe(wave + 1); + + }); }); From e31bf912231709c42b3044d7ff5f3a244f60f209 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:57:39 -0500 Subject: [PATCH 003/102] [Bug][Ability] Fix mold breaker effect lingering if the user's move runs out of PP (#5265) * Fix mold breaker pp bug * Update Dancer test to account for changed phase behavior * Update doc comment for move-phase's `end` method * Add null handling for pokemon in `move-end` phase --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/phases/move-end-phase.ts | 9 ++++- src/phases/move-phase.ts | 7 ++-- test/abilities/dancer.test.ts | 20 ++++++----- test/abilities/mold_breaker.test.ts | 51 +++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 14 deletions(-) create mode 100644 test/abilities/mold_breaker.test.ts diff --git a/src/phases/move-end-phase.ts b/src/phases/move-end-phase.ts index 46e266a32b7..f3a40ce69bd 100644 --- a/src/phases/move-end-phase.ts +++ b/src/phases/move-end-phase.ts @@ -1,13 +1,20 @@ import { globalScene } from "#app/global-scene"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { PokemonPhase } from "./pokemon-phase"; +import type { BattlerIndex } from "#app/battle"; export class MoveEndPhase extends PokemonPhase { + private wasFollowUp: boolean; + constructor(battlerIndex: BattlerIndex, wasFollowUp: boolean = false) { + super(battlerIndex); + this.wasFollowUp = wasFollowUp; + } + start() { super.start(); const pokemon = this.getPokemon(); - if (pokemon.isActive(true)) { + if (!this.wasFollowUp && pokemon?.isActive(true)) { pokemon.lapseTags(BattlerTagLapseType.AFTER_MOVE); } diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index e04f48c2880..cab02174605 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -465,13 +465,10 @@ export class MovePhase extends BattlePhase { } /** - * Queues a {@linkcode MoveEndPhase} if the move wasn't a {@linkcode followUp} and {@linkcode canMove()} returns `true`, - * then ends the phase. + * Queues a {@linkcode MoveEndPhase} and then ends the phase */ public end(): void { - if (!this.followUp && this.canMove()) { - globalScene.unshiftPhase(new MoveEndPhase(this.pokemon.getBattlerIndex())); - } + globalScene.unshiftPhase(new MoveEndPhase(this.pokemon.getBattlerIndex(), this.followUp)); super.end(); } diff --git a/test/abilities/dancer.test.ts b/test/abilities/dancer.test.ts index 56c357b2212..c296329473d 100644 --- a/test/abilities/dancer.test.ts +++ b/test/abilities/dancer.test.ts @@ -39,20 +39,24 @@ describe("Abilities - Dancer", () => { game.move.select(Moves.SPLASH); game.move.select(Moves.SWORDS_DANCE, 1); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); - await game.phaseInterceptor.to("MovePhase"); - // immediately copies ally move - await game.phaseInterceptor.to("MovePhase", false); + await game.phaseInterceptor.to("MovePhase"); // feebas uses swords dance + await game.phaseInterceptor.to("MovePhase", false); // oricorio copies swords dance + let currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(oricorio); expect(currentPhase.move.moveId).toBe(Moves.SWORDS_DANCE); - await game.phaseInterceptor.to("MoveEndPhase"); - await game.phaseInterceptor.to("MovePhase"); - // immediately copies enemy move - await game.phaseInterceptor.to("MovePhase", false); + + await game.phaseInterceptor.to("MoveEndPhase"); // end oricorio's move + await game.phaseInterceptor.to("MovePhase"); // magikarp 1 copies swords dance + await game.phaseInterceptor.to("MovePhase"); // magikarp 2 copies swords dance + await game.phaseInterceptor.to("MovePhase"); // magikarp (left) uses victory dance + await game.phaseInterceptor.to("MovePhase", false); // oricorio copies magikarp's victory dance + currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(oricorio); expect(currentPhase.move.moveId).toBe(Moves.VICTORY_DANCE); - await game.phaseInterceptor.to("BerryPhase"); + + await game.phaseInterceptor.to("BerryPhase"); // finish the turn // doesn't use PP if copied move is also in moveset expect(oricorio.moveset[0]?.ppUsed).toBe(0); diff --git a/test/abilities/mold_breaker.test.ts b/test/abilities/mold_breaker.test.ts new file mode 100644 index 00000000000..8f050a68d76 --- /dev/null +++ b/test/abilities/mold_breaker.test.ts @@ -0,0 +1,51 @@ +import { BattlerIndex } from "#app/battle"; +import { globalScene } from "#app/global-scene"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Mold Breaker", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.MOLD_BREAKER) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should turn off the ignore abilities arena variable after the user's move", async () => { + game.override.enemyMoveset(Moves.SPLASH) + .ability(Abilities.MOLD_BREAKER) + .moveset([ Moves.ERUPTION ]) + .startingLevel(100) + .enemyLevel(2); + await game.classicMode.startBattle([ Species.MAGIKARP ]); + const enemy = game.scene.getEnemyPokemon()!; + + expect(enemy.isFainted()).toBe(false); + game.move.select(Moves.SPLASH); + await game.setTurnOrder([ BattlerIndex.PLAYER, BattlerIndex.ENEMY ]); + await game.phaseInterceptor.to("MoveEndPhase", true); + expect(globalScene.arena.ignoreAbilities).toBe(false); + }); +}); From 420c2e37c21d123e1fb88bb64e68070305efd7c5 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:13:21 -0500 Subject: [PATCH 004/102] [GitHub] Add path filters to avoid unnecessarily re-running tests (#5497) * Add path filters to avoid unnecessarily re-running tests * Apply suggestions from kev's review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update .github/workflows/tests.yml Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Don't ignore image files for tests --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- .github/workflows/tests.yml | 48 +++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 167a108e58c..ccc8604ff7e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,18 +5,58 @@ on: # but only for the main branch push: branches: - - main # Trigger on push events to the main branch + - main # Trigger on push events to the main branch - beta # Trigger on push events to the beta branch + # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft until they fix this or ditch yml for workflows + paths: + # src and test files + - "src/**" + - "test/**" + - "public/**" + # Workflows that can impact tests + - ".github/workflows/test*.yml" + # top-level files + - "package*.json" + - ".nvrmc" # Updates to node version can break tests + - "vite.*.ts" # vite.config.ts, vite.vitest.config.ts, vitest.workspace.ts + - "tsconfig*.json" # tsconfig.json tweaking can impact compilation + - "global.d.ts" + - ".env.*" + # Blanket negations for files that cannot impact tests + - "!**/*.py" # No .py files + - "!**/*.sh" # No .sh files + - "!**/*.md" # No .md files + - "!**/.git*" # .gitkeep and family + pull_request: branches: - - main # Trigger on pull request events targeting the main branch + - main # Trigger on pull request events targeting the main branch - beta # Trigger on pull request events targeting the beta branch + paths: # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft because until then we have to duplicate this + # src and test files + - "src/**" + - "test/**" + - "public/**" + # Workflows that can impact tests + - ".github/workflows/test*.yml" + # top-level files + - "package*.json" + - ".nvrmc" # Updates to node version can break tests + - "vite*" # vite.config.ts, vite.vitest.config.ts, vitest.workspace.ts + - "tsconfig*.json" # tsconfig.json tweaking can impact compilation + - "global.d.ts" + - ".env.*" + # Blanket negations for files that cannot impact tests + - "!**/*.py" # No .py files + - "!**/*.sh" # No .sh files + - "!**/*.md" # No .md files + - "!**/.git*" # .gitkeep and family merge_group: types: [checks_requested] jobs: run-tests: - name: Run Tests + name: Run Tests strategy: matrix: shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] @@ -24,4 +64,4 @@ jobs: with: project: main shard: ${{ matrix.shard }} - totalShards: 10 \ No newline at end of file + totalShards: 10 From 9e4162d4299466d15a04185f6e86eb0de0189671 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 4 Apr 2025 19:40:25 -0500 Subject: [PATCH 005/102] [Bug] Fix super luck implementation (#5625) * Fix super luck implementation * Use numberholder instead of booleanholder * Update tsdoc for getCritStage --- src/data/ability.ts | 14 ++++++++-- src/field/pokemon.ts | 14 +++------- test/abilities/super_luck.test.ts | 43 +++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 test/abilities/super_luck.test.ts diff --git a/src/data/ability.ts b/src/data/ability.ts index eea24c791b0..790bff2290d 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3499,8 +3499,18 @@ export class BonusCritAbAttr extends AbAttr { constructor() { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.BooleanHolder).value = true; + + /** + * Apply the bonus crit ability by increasing the value in the provided number holder by 1 + * + * @param pokemon The pokemon with the BonusCrit ability (unused) + * @param passive Unused + * @param simulated Unused + * @param cancelled Unused + * @param args Args[0] is a number holder containing the crit stage. + */ + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: [Utils.NumberHolder, ...any]): void { + (args[0] as Utils.NumberHolder).value += 1; } } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index f89319a6e30..f3e758e4efd 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1340,8 +1340,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Retrieves the critical-hit stage considering the move used and the Pokemon - * who used it. + * Calculate the critical-hit stage of a move used against this pokemon by + * the given source + * * @param source the {@linkcode Pokemon} who using the move * @param move the {@linkcode Move} being used * @returns the final critical-hit stage value @@ -1360,14 +1361,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { source.isPlayer(), critStage, ); - const bonusCrit = new Utils.BooleanHolder(false); - //@ts-ignore - if (applyAbAttrs(BonusCritAbAttr, source, null, false, bonusCrit)) { - // TODO: resolve ts-ignore. This is a promise. Checking a promise is bogus. - if (bonusCrit.value) { - critStage.value += 1; - } - } + applyAbAttrs(BonusCritAbAttr, source, null, false, critStage) const critBoostTag = source.getTag(CritBoostTag); if (critBoostTag) { if (critBoostTag instanceof DragonCheerTag) { diff --git a/test/abilities/super_luck.test.ts b/test/abilities/super_luck.test.ts new file mode 100644 index 00000000000..bc9524de801 --- /dev/null +++ b/test/abilities/super_luck.test.ts @@ -0,0 +1,43 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Super Luck", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.TACKLE]) + .ability(Abilities.SUPER_LUCK) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should increase the crit stage of a user by 1", async () => { + await game.classicMode.startBattle([Species.MAGIKARP]); + const enemy = game.scene.getEnemyPokemon()!; + const fn = vi.spyOn(enemy, "getCritStage"); + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase"); + expect(fn).toHaveReturnedWith(1); + fn.mockRestore(); + }); +}); From 5318d717b3035f0e047533961d6a3e22505693dd Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 4 Apr 2025 19:43:46 -0500 Subject: [PATCH 006/102] [Refactor] [Docs] Minor refactor of `move.checkFlags` into `move.doesFlagEffectApply` (#5264) * Refactor Move.checkFlags * Improve jsdoc clarity * Fix improper recursive call for the IGNORE_PROTECT check * Fix improper placement of followUp check * Get rid of unnecssary break * Fix last import * Remove latent checkFlag call in move-effect-phase * Remedy perish body oversight * Apply kev's suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/data/ability.ts | 21 ++++++++++----------- src/data/moves/move.ts | 32 ++++++++++++++++++++++++++------ src/phases/move-effect-phase.ts | 5 +++-- src/phases/move-phase.ts | 2 +- 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index 790bff2290d..a7107ce2e9d 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -998,7 +998,7 @@ export class PostDefendContactApplyStatusEffectAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { const effect = this.effects.length === 1 ? this.effects[0] : this.effects[pokemon.randSeedInt(this.effects.length)]; - return move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.status + return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && !attacker.status && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance) && !move.hitsSubstitute(attacker, pokemon) && attacker.canSetStatus(effect, true, false, pokemon); } @@ -1038,7 +1038,7 @@ export class PostDefendContactApplyTagChanceAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && pokemon.randSeedInt(100) < this.chance + return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && pokemon.randSeedInt(100) < this.chance && !move.hitsSubstitute(attacker, pokemon) && attacker.canAddTag(this.tagType); } @@ -1085,7 +1085,7 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return !simulated && move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) + return !simulated && move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && !attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !move.hitsSubstitute(attacker, pokemon); } @@ -1118,8 +1118,7 @@ export class PostDefendPerishSongAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !move.hitsSubstitute(attacker, pokemon)) - && !attacker.getTag(BattlerTagType.PERISH_SONG); + return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && !attacker.getTag(BattlerTagType.PERISH_SONG); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -1163,7 +1162,7 @@ export class PostDefendAbilitySwapAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) + return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && attacker.getAbility().isSwappable && !move.hitsSubstitute(attacker, pokemon); } @@ -1189,7 +1188,7 @@ export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && attacker.getAbility().isSuppressable + return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && attacker.getAbility().isSuppressable && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr) && !move.hitsSubstitute(attacker, pokemon); } @@ -1220,7 +1219,7 @@ export class PostDefendMoveDisableAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { return attacker.getTag(BattlerTagType.DISABLED) === null && !move.hitsSubstitute(attacker, pokemon) - && move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance); + && move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -1925,7 +1924,7 @@ export class PostAttackApplyStatusEffectAbAttr extends PostAttackAbAttr { super.canApplyPostAttack(pokemon, passive, simulated, attacker, move, hitResult, args) && !(pokemon !== attacker && move.hitsSubstitute(attacker, pokemon)) && (simulated || !attacker.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && pokemon !== attacker - && (!this.contactRequired || move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) && pokemon.randSeedInt(100) < this.chance && !pokemon.status) + && (!this.contactRequired || move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon})) && pokemon.randSeedInt(100) < this.chance && !pokemon.status) ) { const effect = this.effects.length === 1 ? this.effects[0] : this.effects[pokemon.randSeedInt(this.effects.length)]; return simulated || attacker.canSetStatus(effect, true, false, pokemon); @@ -1964,7 +1963,7 @@ export class PostAttackApplyBattlerTagAbAttr extends PostAttackAbAttr { /**Battler tags inflicted by abilities post attacking are also considered additional effects.*/ return super.canApplyPostAttack(pokemon, passive, simulated, attacker, move, hitResult, args) && !attacker.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && pokemon !== attacker && - (!this.contactRequired || move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) && + (!this.contactRequired || move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon})) && pokemon.randSeedInt(100) < this.chance(attacker, pokemon, move) && !pokemon.status; } @@ -4761,7 +4760,7 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr { } override canApplyPostFaint(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker?: Pokemon, move?: Move, hitResult?: HitResult, ...args: any[]): boolean { - const diedToDirectDamage = move !== undefined && attacker !== undefined && move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon); + const diedToDirectDamage = move !== undefined && attacker !== undefined && move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}); const cancelled = new Utils.BooleanHolder(false); globalScene.getField(true).map(p => applyAbAttrs(FieldPreventExplosiveMovesAbAttr, p, cancelled, simulated)); if (!diedToDirectDamage || cancelled.value || attacker!.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) { diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 2624fe6cda9..421314b1945 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -346,7 +346,7 @@ export default class Move implements Localizable { * @param target The {@linkcode Pokemon} targeted by this move * @returns `true` if the move can bypass the target's Substitute; `false` otherwise. */ - hitsSubstitute(user: Pokemon, target: Pokemon | null): boolean { + hitsSubstitute(user: Pokemon, target?: Pokemon): boolean { if ([ MoveTarget.USER, MoveTarget.USER_SIDE, MoveTarget.ENEMY_SIDE, MoveTarget.BOTH_SIDES ].includes(this.moveTarget) || !target?.getTag(BattlerTagType.SUBSTITUTE)) { return false; @@ -618,12 +618,30 @@ export default class Move implements Localizable { /** * Checks if the move flag applies to the pokemon(s) using/receiving the move + * + * This method will take the `user`'s ability into account when reporting flags, e.g. + * calling this method for {@linkcode MoveFlags.MAKES_CONTACT | MAKES_CONTACT} + * will return `false` if the user has a {@linkcode Abilities.LONG_REACH} that is not being suppressed. + * + * **Note:** This method only checks if the move should have effectively have the flag applied to its use. + * It does *not* check whether the flag will trigger related effects. + * For example using this method to check {@linkcode MoveFlags.WIND_MOVE} + * will not consider {@linkcode Abilities.WIND_RIDER | Wind Rider }. + * + * To simply check whether the move has a flag, use {@linkcode hasFlag}. * @param flag {@linkcode MoveFlags} MoveFlag to check on user and/or target * @param user {@linkcode Pokemon} the Pokemon using the move * @param target {@linkcode Pokemon} the Pokemon receiving the move + * @param isFollowUp (defaults to `false`) `true` if the move was used as a follow up * @returns boolean + * @see {@linkcode hasFlag} */ - checkFlag(flag: MoveFlags, user: Pokemon, target: Pokemon | null): boolean { + doesFlagEffectApply({ flag, user, target, isFollowUp = false }: { + flag: MoveFlags; + user: Pokemon; + target?: Pokemon; + isFollowUp?: boolean; + }): boolean { // special cases below, eg: if the move flag is MAKES_CONTACT, and the user pokemon has an ability that ignores contact (like "Long Reach"), then overrides and move does not make contact switch (flag) { case MoveFlags.MAKES_CONTACT: @@ -633,16 +651,18 @@ export default class Move implements Localizable { break; case MoveFlags.IGNORE_ABILITIES: if (user.hasAbilityWithAttr(MoveAbilityBypassAbAttr)) { - const abilityEffectsIgnored = new Utils.BooleanHolder(false); + const abilityEffectsIgnored = new Utils.BooleanHolder(false); applyAbAttrs(MoveAbilityBypassAbAttr, user, abilityEffectsIgnored, false, this); if (abilityEffectsIgnored.value) { return true; } + // Sunsteel strike, Moongeist beam, and photon geyser will not ignore abilities if invoked + // by another move, such as via metronome. } - break; + return this.hasFlag(MoveFlags.IGNORE_ABILITIES) && !isFollowUp; case MoveFlags.IGNORE_PROTECT: if (user.hasAbilityWithAttr(IgnoreProtectOnContactAbAttr) - && this.checkFlag(MoveFlags.MAKES_CONTACT, user, null)) { + && this.doesFlagEffectApply({ flag: MoveFlags.MAKES_CONTACT, user })) { return true; } break; @@ -1214,7 +1234,7 @@ export class MoveEffectAttr extends MoveAttr { canApply(user: Pokemon, target: Pokemon, move: Move, args?: any[]) { return !! (this.selfTarget ? user.hp && !user.getTag(BattlerTagType.FRENZY) : target.hp) && (this.selfTarget || !target.getTag(BattlerTagType.PROTECTED) || - move.checkFlag(MoveFlags.IGNORE_PROTECT, user, target)); + move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_PROTECT, user, target })); } /** Applies move effects so long as they are able based on {@linkcode canApply} */ diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index bd1c9caad96..7cc389651dd 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -289,7 +289,8 @@ export class MoveEffectPhase extends PokemonPhase { /** Is the target protected by Protect, etc. or a relevant conditional protection effect? */ const isProtected = ![MoveTarget.ENEMY_SIDE, MoveTarget.BOTH_SIDES].includes(this.move.getMove().moveTarget) && - (bypassIgnoreProtect.value || !this.move.getMove().checkFlag(MoveFlags.IGNORE_PROTECT, user, target)) && + (bypassIgnoreProtect.value || + !this.move.getMove().doesFlagEffectApply({ flag: MoveFlags.IGNORE_PROTECT, user, target })) && (hasConditionalProtectApplied.value || (!target.findTags(t => t instanceof DamageProtectedTag).length && target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType))) || @@ -307,7 +308,7 @@ export class MoveEffectPhase extends PokemonPhase { /** Is the target's magic bounce ability not ignored and able to reflect this move? */ const canMagicBounce = !isReflecting && - !move.checkFlag(MoveFlags.IGNORE_ABILITIES, user, target) && + !move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user, target }) && target.hasAbilityWithAttr(ReflectStatusMoveAbAttr); const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index cab02174605..33e772eb2ea 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -168,7 +168,7 @@ export class MovePhase extends BattlePhase { // Check move to see if arena.ignoreAbilities should be true. if (!this.followUp || this.reflected) { - if (this.move.getMove().checkFlag(MoveFlags.IGNORE_ABILITIES, this.pokemon, null)) { + if (this.move.getMove().doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user: this.pokemon, isFollowUp: this.followUp })) { globalScene.arena.setIgnoreAbilities(true, this.pokemon.getBattlerIndex()); } } From 1e6ceb55812fe00dde450ecdbc31d8876e5c4066 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sat, 5 Apr 2025 20:10:52 -0700 Subject: [PATCH 007/102] [Misc] Clean up various phases (part 1) (#4797) * Clean up various phases Remove redundant code, utilize default parameters, clean up some leftover `strict-null` `TODO`s, replace `integer` with `number` * Replace `* as Utils` imports with named imports * Apply Biome --- src/battle-scene.ts | 2 - src/phases/add-enemy-buff-modifier-phase.ts | 4 -- src/phases/attempt-run-phase.ts | 10 +-- src/phases/battle-end-phase.ts | 16 +++-- src/phases/battle-phase.ts | 12 ++-- src/phases/berry-phase.ts | 6 +- src/phases/common-anim-phase.ts | 11 +++- src/phases/damage-anim-phase.ts | 9 ++- src/phases/egg-hatch-phase.ts | 73 ++++++++++----------- src/phases/encounter-phase.ts | 4 +- src/phases/evolution-phase.ts | 28 ++++---- src/phases/exp-phase.ts | 4 +- src/phases/form-change-phase.ts | 8 +-- src/phases/game-over-phase.ts | 4 +- src/phases/login-phase.ts | 16 ++--- src/phases/message-phase.ts | 12 ++-- src/phases/money-reward-phase.ts | 4 +- src/phases/move-anim-test-phase.ts | 50 -------------- src/phases/move-end-phase.ts | 2 +- src/phases/move-phase.ts | 3 +- src/phases/mystery-encounter-phases.ts | 5 +- src/phases/new-biome-encounter-phase.ts | 4 -- src/phases/next-encounter-phase.ts | 4 -- src/phases/party-heal-phase.ts | 4 +- src/phases/pokemon-anim-phase.ts | 10 +-- src/phases/pokemon-heal-phase.ts | 6 +- src/phases/pokemon-phase.ts | 11 ++-- src/phases/post-game-over-phase.ts | 4 +- src/phases/post-turn-status-effect-phase.ts | 6 +- src/phases/reload-session-phase.ts | 8 +-- src/phases/scan-ivs-phase.ts | 4 +- src/phases/select-biome-phase.ts | 12 ++-- src/phases/select-challenge-phase.ts | 4 -- src/phases/select-gender-phase.ts | 4 -- src/phases/select-modifier-phase.ts | 3 +- src/phases/select-starter-phase.ts | 4 -- src/phases/select-target-phase.ts | 1 + src/phases/shiny-sparkle-phase.ts | 1 + src/phases/show-party-exp-bar-phase.ts | 4 +- src/phases/show-trainer-phase.ts | 4 -- src/phases/summon-missing-phase.ts | 4 -- src/phases/switch-summon-phase.ts | 10 +-- src/phases/test-message-phase.ts | 7 -- src/phases/title-phase.ts | 14 ++-- src/phases/trainer-message-test-phase.ts | 47 ------------- src/phases/trainer-victory-phase.ts | 8 +-- src/phases/turn-end-phase.ts | 4 -- src/phases/turn-init-phase.ts | 4 -- src/phases/turn-start-phase.ts | 14 ++-- src/phases/unavailable-phase.ts | 4 -- src/phases/weather-effect-phase.ts | 13 ++-- 51 files changed, 178 insertions(+), 332 deletions(-) delete mode 100644 src/phases/move-anim-test-phase.ts delete mode 100644 src/phases/test-message-phase.ts delete mode 100644 src/phases/trainer-message-test-phase.ts diff --git a/src/battle-scene.ts b/src/battle-scene.ts index a759cbb84c2..f676ba63306 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1526,8 +1526,6 @@ export default class BattleScene extends SceneBase { this.currentBattle.mysteryEncounterType = mysteryEncounterType; } - //this.pushPhase(new TrainerMessageTestPhase(this, TrainerType.RIVAL, TrainerType.RIVAL_2, TrainerType.RIVAL_3, TrainerType.RIVAL_4, TrainerType.RIVAL_5, TrainerType.RIVAL_6)); - if (!waveIndex && lastBattle) { const isWaveIndexMultipleOfTen = !(lastBattle.waveIndex % 10); const isEndlessOrDaily = this.gameMode.hasShortBiomes || this.gameMode.isDaily; diff --git a/src/phases/add-enemy-buff-modifier-phase.ts b/src/phases/add-enemy-buff-modifier-phase.ts index 7d91e64382a..16ed78e6d0d 100644 --- a/src/phases/add-enemy-buff-modifier-phase.ts +++ b/src/phases/add-enemy-buff-modifier-phase.ts @@ -9,10 +9,6 @@ import { Phase } from "#app/phase"; import { globalScene } from "#app/global-scene"; export class AddEnemyBuffModifierPhase extends Phase { - constructor() { - super(); - } - start() { super.start(); diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index dab5b8789da..e5691f5fb8e 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -1,10 +1,10 @@ import { applyAbAttrs, applyPreLeaveFieldAbAttrs, PreLeaveFieldAbAttr, RunSuccessAbAttr } from "#app/data/ability"; -import { Stat } from "#app/enums/stat"; -import { StatusEffect } from "#app/enums/status-effect"; +import { Stat } from "#enums/stat"; +import { StatusEffect } from "#enums/status-effect"; import type { PlayerPokemon, EnemyPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { BattleEndPhase } from "./battle-end-phase"; import { NewBattlePhase } from "./new-battle-phase"; import { PokemonPhase } from "./pokemon-phase"; @@ -22,7 +22,7 @@ export class AttemptRunPhase extends PokemonPhase { const playerPokemon = this.getPokemon(); - const escapeChance = new Utils.NumberHolder(0); + const escapeChance = new NumberHolder(0); this.attemptRunAway(playerField, enemyField, escapeChance); @@ -63,7 +63,7 @@ export class AttemptRunPhase extends PokemonPhase { this.end(); } - attemptRunAway(playerField: PlayerPokemon[], enemyField: EnemyPokemon[], escapeChance: Utils.NumberHolder) { + attemptRunAway(playerField: PlayerPokemon[], enemyField: EnemyPokemon[], escapeChance: NumberHolder) { /** Sum of the speed of all enemy pokemon on the field */ const enemySpeed = enemyField.reduce( (total: number, enemyPokemon: Pokemon) => total + enemyPokemon.getStat(Stat.SPD), diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index e6a0c66548e..ff17b17ab8b 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -26,13 +26,15 @@ export class BattleEndPhase extends BattlePhase { return true; }); // `phaseQueuePrepend` is private, so we have to use this inefficient loop. - while (globalScene.tryRemoveUnshiftedPhase(phase => { - if (phase instanceof BattleEndPhase) { - this.isVictory ||= phase.isVictory; - return true; - } - return false; - })) {} + while ( + globalScene.tryRemoveUnshiftedPhase(phase => { + if (phase instanceof BattleEndPhase) { + this.isVictory ||= phase.isVictory; + return true; + } + return false; + }) + ) {} globalScene.gameData.gameStats.battles++; if ( diff --git a/src/phases/battle-phase.ts b/src/phases/battle-phase.ts index 72bcc85bc62..d70b3909639 100644 --- a/src/phases/battle-phase.ts +++ b/src/phases/battle-phase.ts @@ -3,13 +3,13 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { Phase } from "#app/phase"; export class BattlePhase extends Phase { - constructor() { - super(); - } - showEnemyTrainer(trainerSlot: TrainerSlot = TrainerSlot.NONE): void { - const sprites = globalScene.currentBattle.trainer?.getSprites()!; // TODO: is this bang correct? - const tintSprites = globalScene.currentBattle.trainer?.getTintSprites()!; // TODO: is this bang correct? + if (!globalScene.currentBattle.trainer) { + console.warn("Enemy trainer is missing!"); + return; + } + const sprites = globalScene.currentBattle.trainer.getSprites(); + const tintSprites = globalScene.currentBattle.trainer.getTintSprites(); for (let i = 0; i < sprites.length; i++) { const visible = !trainerSlot || !i === (trainerSlot === TrainerSlot.TRAINER) || sprites.length < 2; [sprites[i], tintSprites[i]].map(sprite => { diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index 0048f8cd2f2..e5614739903 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -4,7 +4,7 @@ import { BerryUsedEvent } from "#app/events/battle-scene"; import { getPokemonNameWithAffix } from "#app/messages"; import { BerryModifier } from "#app/modifier/modifier"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { BooleanHolder } from "#app/utils"; import { FieldPhase } from "./field-phase"; import { CommonAnimPhase } from "./common-anim-phase"; import { globalScene } from "#app/global-scene"; @@ -20,7 +20,7 @@ export class BerryPhase extends FieldPhase { }, pokemon.isPlayer()); if (hasUsableBerry) { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); pokemon.getOpponents().map(opp => applyAbAttrs(PreventBerryUseAbAttr, opp, cancelled)); if (cancelled.value) { @@ -44,7 +44,7 @@ export class BerryPhase extends FieldPhase { globalScene.updateModifiers(pokemon.isPlayer()); - applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new Utils.BooleanHolder(false)); + applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); } } }); diff --git a/src/phases/common-anim-phase.ts b/src/phases/common-anim-phase.ts index d32e93ea6aa..5be5e112389 100644 --- a/src/phases/common-anim-phase.ts +++ b/src/phases/common-anim-phase.ts @@ -6,13 +6,18 @@ import { PokemonPhase } from "./pokemon-phase"; export class CommonAnimPhase extends PokemonPhase { private anim: CommonAnim | null; - private targetIndex: number | undefined; + private targetIndex?: BattlerIndex; private playOnEmptyField: boolean; - constructor(battlerIndex?: BattlerIndex, targetIndex?: BattlerIndex, anim?: CommonAnim, playOnEmptyField = false) { + constructor( + battlerIndex?: BattlerIndex, + targetIndex?: BattlerIndex, + anim: CommonAnim | null = null, + playOnEmptyField = false, + ) { super(battlerIndex); - this.anim = anim!; // TODO: is this bang correct? + this.anim = anim; this.targetIndex = targetIndex; this.playOnEmptyField = playOnEmptyField; } diff --git a/src/phases/damage-anim-phase.ts b/src/phases/damage-anim-phase.ts index 703cd3d160e..696a2e55b6f 100644 --- a/src/phases/damage-anim-phase.ts +++ b/src/phases/damage-anim-phase.ts @@ -10,11 +10,16 @@ export class DamageAnimPhase extends PokemonPhase { private damageResult: DamageResult; private critical: boolean; - constructor(battlerIndex: BattlerIndex, amount: number, damageResult?: DamageResult, critical = false) { + constructor( + battlerIndex: BattlerIndex, + amount: number, + damageResult: DamageResult = HitResult.EFFECTIVE, + critical = false, + ) { super(battlerIndex); this.amount = amount; - this.damageResult = damageResult || HitResult.EFFECTIVE; + this.damageResult = damageResult; this.critical = critical; } diff --git a/src/phases/egg-hatch-phase.ts b/src/phases/egg-hatch-phase.ts index 49a408e8699..07eeeb0f8ae 100644 --- a/src/phases/egg-hatch-phase.ts +++ b/src/phases/egg-hatch-phase.ts @@ -11,7 +11,7 @@ import PokemonInfoContainer from "#app/ui/pokemon-info-container"; import { Mode } from "#app/ui/ui"; import i18next from "i18next"; import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; -import * as Utils from "#app/utils"; +import { fixedInt, getFrameMs, randInt } from "#app/utils"; import type { EggLapsePhase } from "./egg-lapse-phase"; import type { EggHatchData } from "#app/data/egg-hatch-data"; import { doShinySparkleAnim } from "#app/field/anims"; @@ -306,17 +306,17 @@ export class EggHatchPhase extends Phase { this.canSkip = false; this.hatched = true; if (this.evolutionBgm) { - SoundFade.fadeOut(globalScene, this.evolutionBgm, Utils.fixedInt(100)); + SoundFade.fadeOut(globalScene, this.evolutionBgm, fixedInt(100)); } for (let e = 0; e < 5; e++) { - globalScene.time.delayedCall(Utils.fixedInt(375 * e), () => + globalScene.time.delayedCall(fixedInt(375 * e), () => globalScene.playSound("se/egg_hatch", { volume: 1 - e * 0.2 }), ); } this.eggLightraysOverlay.setVisible(true); this.eggLightraysOverlay.play("egg_lightrays"); globalScene.tweens.add({ - duration: Utils.fixedInt(125), + duration: fixedInt(125), targets: this.eggHatchOverlay, alpha: 1, ease: "Cubic.easeIn", @@ -325,7 +325,7 @@ export class EggHatchPhase extends Phase { this.canSkip = true; }, }); - globalScene.time.delayedCall(Utils.fixedInt(1500), () => { + globalScene.time.delayedCall(fixedInt(1500), () => { this.canSkip = false; if (!this.skipped) { this.doReveal(); @@ -363,46 +363,43 @@ export class EggHatchPhase extends Phase { this.pokemonSprite.setPipelineData("shiny", this.pokemon.shiny); this.pokemonSprite.setPipelineData("variant", this.pokemon.variant); this.pokemonSprite.setVisible(true); - globalScene.time.delayedCall(Utils.fixedInt(250), () => { + globalScene.time.delayedCall(fixedInt(250), () => { this.eggsToHatchCount--; this.eggHatchHandler.eventTarget.dispatchEvent(new EggCountChangedEvent(this.eggsToHatchCount)); this.pokemon.cry(); if (isShiny) { - globalScene.time.delayedCall(Utils.fixedInt(500), () => { + globalScene.time.delayedCall(fixedInt(500), () => { doShinySparkleAnim(this.pokemonShinySparkle, this.pokemon.variant); }); } - globalScene.time.delayedCall( - Utils.fixedInt(!this.skipped ? (!isShiny ? 1250 : 1750) : !isShiny ? 250 : 750), - () => { - this.infoContainer.show(this.pokemon, false, this.skipped ? 2 : 1); + globalScene.time.delayedCall(fixedInt(!this.skipped ? (!isShiny ? 1250 : 1750) : !isShiny ? 250 : 750), () => { + this.infoContainer.show(this.pokemon, false, this.skipped ? 2 : 1); - globalScene.playSoundWithoutBgm("evolution_fanfare"); + globalScene.playSoundWithoutBgm("evolution_fanfare"); - globalScene.ui.showText( - i18next.t("egg:hatchFromTheEgg", { - pokemonName: this.pokemon.species.getExpandedSpeciesName(), - }), - null, - () => { - globalScene.gameData.updateSpeciesDexIvs(this.pokemon.species.speciesId, this.pokemon.ivs); - globalScene.gameData.setPokemonCaught(this.pokemon, true, true).then(() => { - globalScene.gameData.setEggMoveUnlocked(this.pokemon.species, this.eggMoveIndex).then(value => { - this.eggHatchData.setEggMoveUnlocked(value); - globalScene.ui.showText("", 0); - this.end(); - }); + globalScene.ui.showText( + i18next.t("egg:hatchFromTheEgg", { + pokemonName: this.pokemon.species.getExpandedSpeciesName(), + }), + null, + () => { + globalScene.gameData.updateSpeciesDexIvs(this.pokemon.species.speciesId, this.pokemon.ivs); + globalScene.gameData.setPokemonCaught(this.pokemon, true, true).then(() => { + globalScene.gameData.setEggMoveUnlocked(this.pokemon.species, this.eggMoveIndex).then(value => { + this.eggHatchData.setEggMoveUnlocked(value); + globalScene.ui.showText("", 0); + this.end(); }); - }, - null, - true, - 3000, - ); - }, - ); + }); + }, + null, + true, + 3000, + ); + }); }); globalScene.tweens.add({ - duration: Utils.fixedInt(this.skipped ? 500 : 3000), + duration: fixedInt(this.skipped ? 500 : 3000), targets: this.eggHatchOverlay, alpha: 0, ease: "Cubic.easeOut", @@ -427,9 +424,9 @@ export class EggHatchPhase extends Phase { doSpray(intensity: number, offsetY?: number) { globalScene.tweens.addCounter({ repeat: intensity, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { - this.doSprayParticle(Utils.randInt(8), offsetY || 0); + this.doSprayParticle(randInt(8), offsetY || 0); }, }); } @@ -448,12 +445,12 @@ export class EggHatchPhase extends Phase { let f = 0; let yOffset = 0; - const speed = 3 - Utils.randInt(8); - const amp = 24 + Utils.randInt(32); + const speed = 3 - randInt(8); + const amp = 24 + randInt(32); const particleTimer = globalScene.tweens.addCounter({ repeat: -1, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { updateParticle(); }, diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index ad2bf689e38..9e5edf3e1d9 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -43,10 +43,10 @@ import { getNatureName } from "#app/data/nature"; export class EncounterPhase extends BattlePhase { private loaded: boolean; - constructor(loaded?: boolean) { + constructor(loaded = false) { super(); - this.loaded = !!loaded; + this.loaded = loaded; } start() { diff --git a/src/phases/evolution-phase.ts b/src/phases/evolution-phase.ts index bb283fa8139..203c7542eff 100644 --- a/src/phases/evolution-phase.ts +++ b/src/phases/evolution-phase.ts @@ -5,7 +5,7 @@ import { globalScene } from "#app/global-scene"; import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import { FusionSpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import type EvolutionSceneHandler from "#app/ui/evolution-scene-handler"; -import * as Utils from "#app/utils"; +import { fixedInt, getFrameMs, randInt } from "#app/utils"; import { Mode } from "#app/ui/ui"; import { cos, sin } from "#app/field/anims"; import type { PlayerPokemon } from "#app/field/pokemon"; @@ -332,9 +332,9 @@ export class EvolutionPhase extends Phase { () => this.end(), null, true, - Utils.fixedInt(4000), + fixedInt(4000), ); - globalScene.time.delayedCall(Utils.fixedInt(4250), () => globalScene.playBgm()); + globalScene.time.delayedCall(fixedInt(4250), () => globalScene.playBgm()); }); }); }; @@ -392,7 +392,7 @@ export class EvolutionPhase extends Phase { globalScene.tweens.addCounter({ repeat: 64, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { if (f < 64) { if (!(f & 7)) { @@ -411,7 +411,7 @@ export class EvolutionPhase extends Phase { globalScene.tweens.addCounter({ repeat: 96, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { if (f < 96) { if (f < 6) { @@ -461,7 +461,7 @@ export class EvolutionPhase extends Phase { globalScene.tweens.addCounter({ repeat: 48, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { if (!f) { for (let i = 0; i < 16; i++) { @@ -482,14 +482,14 @@ export class EvolutionPhase extends Phase { globalScene.tweens.addCounter({ repeat: 48, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { if (!f) { for (let i = 0; i < 8; i++) { this.doSprayParticle(i); } } else if (f < 50) { - this.doSprayParticle(Utils.randInt(8)); + this.doSprayParticle(randInt(8)); } f++; }, @@ -506,7 +506,7 @@ export class EvolutionPhase extends Phase { const particleTimer = globalScene.tweens.addCounter({ repeat: -1, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { updateParticle(); }, @@ -543,7 +543,7 @@ export class EvolutionPhase extends Phase { const particleTimer = globalScene.tweens.addCounter({ repeat: -1, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { updateParticle(); }, @@ -575,7 +575,7 @@ export class EvolutionPhase extends Phase { const particleTimer = globalScene.tweens.addCounter({ repeat: -1, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { updateParticle(); }, @@ -605,12 +605,12 @@ export class EvolutionPhase extends Phase { let f = 0; let yOffset = 0; - const speed = 3 - Utils.randInt(8); - const amp = 48 + Utils.randInt(64); + const speed = 3 - randInt(8); + const amp = 48 + randInt(64); const particleTimer = globalScene.tweens.addCounter({ repeat: -1, - duration: Utils.getFrameMs(1), + duration: getFrameMs(1), onRepeat: () => { updateParticle(); }, diff --git a/src/phases/exp-phase.ts b/src/phases/exp-phase.ts index 092482d4c18..b7d62c92bcf 100644 --- a/src/phases/exp-phase.ts +++ b/src/phases/exp-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { getPokemonNameWithAffix } from "#app/messages"; import { ExpBoosterModifier } from "#app/modifier/modifier"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase"; import { LevelUpPhase } from "./level-up-phase"; @@ -19,7 +19,7 @@ export class ExpPhase extends PlayerPartyMemberPokemonPhase { super.start(); const pokemon = this.getPokemon(); - const exp = new Utils.NumberHolder(this.expValue); + const exp = new NumberHolder(this.expValue); globalScene.applyModifiers(ExpBoosterModifier, true, exp); exp.value = Math.floor(exp.value); globalScene.ui.showText( diff --git a/src/phases/form-change-phase.ts b/src/phases/form-change-phase.ts index e0ec4e87600..bf94284b117 100644 --- a/src/phases/form-change-phase.ts +++ b/src/phases/form-change-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import { achvs } from "../system/achv"; import type { SpeciesFormChange } from "../data/pokemon-forms"; import { getSpeciesFormChangeMessage } from "../data/pokemon-forms"; @@ -9,7 +9,7 @@ import type PartyUiHandler from "../ui/party-ui-handler"; import { getPokemonNameWithAffix } from "../messages"; import { EndEvolutionPhase } from "./end-evolution-phase"; import { EvolutionPhase } from "./evolution-phase"; -import { BattlerTagType } from "#app/enums/battler-tag-type"; +import { BattlerTagType } from "#enums/battler-tag-type"; import { SpeciesFormKey } from "#enums/species-form-key"; export class FormChangePhase extends EvolutionPhase { @@ -151,9 +151,9 @@ export class FormChangePhase extends EvolutionPhase { () => this.end(), null, true, - Utils.fixedInt(delay), + fixedInt(delay), ); - globalScene.time.delayedCall(Utils.fixedInt(delay + 250), () => + globalScene.time.delayedCall(fixedInt(delay + 250), () => globalScene.playBgm(), ); }); diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index f105b625cc8..1ccdc9c7106 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -20,7 +20,7 @@ import { UnlockPhase } from "#app/phases/unlock-phase"; import { achvs, ChallengeAchv } from "#app/system/achv"; import { Unlockables } from "#app/system/unlockables"; import { Mode } from "#app/ui/ui"; -import * as Utils from "#app/utils"; +import { isLocal, isLocalServerConnected } from "#app/utils"; import { PlayerGender } from "#enums/player-gender"; import { TrainerType } from "#enums/trainer-type"; import i18next from "i18next"; @@ -219,7 +219,7 @@ export class GameOverPhase extends BattlePhase { /* Added a local check to see if the game is running offline If Online, execute apiFetch as intended If Offline, execute offlineNewClear() only for victory, a localStorage implementation of newClear daily run checks */ - if (!Utils.isLocal || Utils.isLocalServerConnected) { + if (!isLocal || isLocalServerConnected) { pokerogueApi.savedata.session .newclear({ slot: globalScene.sessionSlotId, diff --git a/src/phases/login-phase.ts b/src/phases/login-phase.ts index 5cce6ca0298..846482ff726 100644 --- a/src/phases/login-phase.ts +++ b/src/phases/login-phase.ts @@ -5,26 +5,26 @@ import { Phase } from "#app/phase"; import { handleTutorial, Tutorial } from "#app/tutorial"; import { Mode } from "#app/ui/ui"; import i18next, { t } from "i18next"; -import * as Utils from "#app/utils"; +import { getCookie, sessionIdKey, executeIf, removeCookie } from "#app/utils"; import { SelectGenderPhase } from "./select-gender-phase"; import { UnavailablePhase } from "./unavailable-phase"; export class LoginPhase extends Phase { private showText: boolean; - constructor(showText?: boolean) { + constructor(showText = true) { super(); - this.showText = showText === undefined || !!showText; + this.showText = showText; } start(): void { super.start(); - const hasSession = !!Utils.getCookie(Utils.sessionIdKey); + const hasSession = !!getCookie(sessionIdKey); globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); - Utils.executeIf(bypassLogin || hasSession, updateUserInfo).then(response => { + executeIf(bypassLogin || hasSession, updateUserInfo).then(response => { const success = response ? response[0] : false; const statusCode = response ? response[1] : null; if (!success) { @@ -38,7 +38,7 @@ export class LoginPhase extends Phase { const loadData = () => { updateUserInfo().then(success => { if (!success[0]) { - Utils.removeCookie(Utils.sessionIdKey); + removeCookie(sessionIdKey); globalScene.reset(true, true); return; } @@ -60,7 +60,7 @@ export class LoginPhase extends Phase { globalScene.ui.playSelect(); updateUserInfo().then(success => { if (!success[0]) { - Utils.removeCookie(Utils.sessionIdKey); + removeCookie(sessionIdKey); globalScene.reset(true, true); return; } @@ -89,7 +89,7 @@ export class LoginPhase extends Phase { ], }); } else if (statusCode === 401) { - Utils.removeCookie(Utils.sessionIdKey); + removeCookie(sessionIdKey); globalScene.reset(true, true); } else { globalScene.unshiftPhase(new UnavailablePhase()); diff --git a/src/phases/message-phase.ts b/src/phases/message-phase.ts index cff7249fcfa..f6777579857 100644 --- a/src/phases/message-phase.ts +++ b/src/phases/message-phase.ts @@ -3,9 +3,9 @@ import { Phase } from "#app/phase"; export class MessagePhase extends Phase { private text: string; - private callbackDelay: number | null; - private prompt: boolean | null; - private promptDelay: number | null; + private callbackDelay?: number | null; + private prompt?: boolean | null; + private promptDelay?: number | null; private speaker?: string; constructor( @@ -18,9 +18,9 @@ export class MessagePhase extends Phase { super(); this.text = text; - this.callbackDelay = callbackDelay!; // TODO: is this bang correct? - this.prompt = prompt!; // TODO: is this bang correct? - this.promptDelay = promptDelay!; // TODO: is this bang correct? + this.callbackDelay = callbackDelay; + this.prompt = prompt; + this.promptDelay = promptDelay; this.speaker = speaker; } diff --git a/src/phases/money-reward-phase.ts b/src/phases/money-reward-phase.ts index 56f46d25f77..ae8dc90616d 100644 --- a/src/phases/money-reward-phase.ts +++ b/src/phases/money-reward-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { MoneyMultiplierModifier } from "#app/modifier/modifier"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { BattlePhase } from "./battle-phase"; export class MoneyRewardPhase extends BattlePhase { @@ -15,7 +15,7 @@ export class MoneyRewardPhase extends BattlePhase { } start() { - const moneyAmount = new Utils.NumberHolder(globalScene.getWaveMoneyAmount(this.moneyMultiplier)); + const moneyAmount = new NumberHolder(globalScene.getWaveMoneyAmount(this.moneyMultiplier)); globalScene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount); diff --git a/src/phases/move-anim-test-phase.ts b/src/phases/move-anim-test-phase.ts deleted file mode 100644 index e8b7c0c8fa7..00000000000 --- a/src/phases/move-anim-test-phase.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { globalScene } from "#app/global-scene"; -import { initMoveAnim, loadMoveAnimAssets, MoveAnim } from "#app/data/battle-anims"; -import { allMoves, SelfStatusMove } from "#app/data/moves/move"; -import { Moves } from "#app/enums/moves"; -import * as Utils from "#app/utils"; -import { BattlePhase } from "./battle-phase"; - -export class MoveAnimTestPhase extends BattlePhase { - private moveQueue: Moves[]; - - constructor(moveQueue?: Moves[]) { - super(); - - this.moveQueue = moveQueue || Utils.getEnumValues(Moves).slice(1); - } - - start() { - const moveQueue = this.moveQueue.slice(0); - this.playMoveAnim(moveQueue, true); - } - - playMoveAnim(moveQueue: Moves[], player: boolean) { - const moveId = player ? moveQueue[0] : moveQueue.shift(); - if (moveId === undefined) { - this.playMoveAnim(this.moveQueue.slice(0), true); - return; - } - if (player) { - console.log(Moves[moveId]); - } - - initMoveAnim(moveId).then(() => { - loadMoveAnimAssets([moveId], true).then(() => { - const user = player ? globalScene.getPlayerPokemon()! : globalScene.getEnemyPokemon()!; - const target = - player !== allMoves[moveId] instanceof SelfStatusMove - ? globalScene.getEnemyPokemon()! - : globalScene.getPlayerPokemon()!; - new MoveAnim(moveId, user, target.getBattlerIndex()).play(allMoves[moveId].hitsSubstitute(user, target), () => { - // TODO: are the bangs correct here? - if (player) { - this.playMoveAnim(moveQueue, false); - } else { - this.playMoveAnim(moveQueue, true); - } - }); - }); - }); - } -} diff --git a/src/phases/move-end-phase.ts b/src/phases/move-end-phase.ts index f3a40ce69bd..53856956401 100644 --- a/src/phases/move-end-phase.ts +++ b/src/phases/move-end-phase.ts @@ -5,7 +5,7 @@ import type { BattlerIndex } from "#app/battle"; export class MoveEndPhase extends PokemonPhase { private wasFollowUp: boolean; - constructor(battlerIndex: BattlerIndex, wasFollowUp: boolean = false) { + constructor(battlerIndex: BattlerIndex, wasFollowUp = false) { super(battlerIndex); this.wasFollowUp = wasFollowUp; } diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 33e772eb2ea..82b73f681a0 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -227,7 +227,7 @@ export class MovePhase extends BattlePhase { (!this.pokemon.randSeedInt(4) || Overrides.STATUS_ACTIVATION_OVERRIDE === true) && Overrides.STATUS_ACTIVATION_OVERRIDE !== false; break; - case StatusEffect.SLEEP: + case StatusEffect.SLEEP: { applyMoveAttrs(BypassSleepAttr, this.pokemon, null, this.move.getMove()); const turnsRemaining = new NumberHolder(this.pokemon.status.sleepTurnsRemaining ?? 0); applyAbAttrs( @@ -242,6 +242,7 @@ export class MovePhase extends BattlePhase { healed = this.pokemon.status.sleepTurnsRemaining <= 0; activated = !healed && !this.pokemon.getTag(BattlerTagType.BYPASS_SLEEP); break; + } case StatusEffect.FREEZE: healed = !!this.move diff --git a/src/phases/mystery-encounter-phases.ts b/src/phases/mystery-encounter-phases.ts index eb187617e69..f42290ff872 100644 --- a/src/phases/mystery-encounter-phases.ts +++ b/src/phases/mystery-encounter-phases.ts @@ -26,8 +26,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { IvScannerModifier } from "../modifier/modifier"; import { Phase } from "../phase"; import { Mode } from "../ui/ui"; -import * as Utils from "../utils"; -import { isNullOrUndefined } from "../utils"; +import { isNullOrUndefined, randSeedItem } from "#app/utils"; /** * Will handle (in order): @@ -387,7 +386,7 @@ export class MysteryEncounterBattlePhase extends Phase { const trainer = globalScene.currentBattle.trainer; let message: string; globalScene.executeWithSeedOffset( - () => (message = Utils.randSeedItem(encounterMessages)), + () => (message = randSeedItem(encounterMessages)), globalScene.currentBattle.mysteryEncounter?.getSeedOffset(), ); message = message!; // tell TS compiler it's defined now diff --git a/src/phases/new-biome-encounter-phase.ts b/src/phases/new-biome-encounter-phase.ts index bb1fe54fe9f..3449a562c4a 100644 --- a/src/phases/new-biome-encounter-phase.ts +++ b/src/phases/new-biome-encounter-phase.ts @@ -4,10 +4,6 @@ import { getRandomWeatherType } from "#app/data/weather"; import { NextEncounterPhase } from "./next-encounter-phase"; export class NewBiomeEncounterPhase extends NextEncounterPhase { - constructor() { - super(); - } - doEncounter(): void { globalScene.playBgm(undefined, true); diff --git a/src/phases/next-encounter-phase.ts b/src/phases/next-encounter-phase.ts index e53f775f083..e5e61312c3b 100644 --- a/src/phases/next-encounter-phase.ts +++ b/src/phases/next-encounter-phase.ts @@ -2,10 +2,6 @@ import { globalScene } from "#app/global-scene"; import { EncounterPhase } from "./encounter-phase"; export class NextEncounterPhase extends EncounterPhase { - constructor() { - super(); - } - start() { super.start(); } diff --git a/src/phases/party-heal-phase.ts b/src/phases/party-heal-phase.ts index a9b24309e24..137af9f3a2d 100644 --- a/src/phases/party-heal-phase.ts +++ b/src/phases/party-heal-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import * as Utils from "#app/utils"; +import { fixedInt } from "#app/utils"; import { BattlePhase } from "./battle-phase"; export class PartyHealPhase extends BattlePhase { @@ -28,7 +28,7 @@ export class PartyHealPhase extends BattlePhase { pokemon.updateInfo(true); } const healSong = globalScene.playSoundWithoutBgm("heal"); - globalScene.time.delayedCall(Utils.fixedInt(healSong.totalDuration * 1000), () => { + globalScene.time.delayedCall(fixedInt(healSong.totalDuration * 1000), () => { healSong.destroy(); if (this.resumeBgm && bgmPlaying) { globalScene.playBgm(); diff --git a/src/phases/pokemon-anim-phase.ts b/src/phases/pokemon-anim-phase.ts index b9c91508b5a..f0693a52aaa 100644 --- a/src/phases/pokemon-anim-phase.ts +++ b/src/phases/pokemon-anim-phase.ts @@ -8,18 +8,18 @@ import { Species } from "#enums/species"; export class PokemonAnimPhase extends BattlePhase { /** The type of animation to play in this phase */ - private key: PokemonAnimType; + protected key: PokemonAnimType; /** The Pokemon to which this animation applies */ - private pokemon: Pokemon; + protected pokemon: Pokemon; /** Any other field sprites affected by this animation */ - private fieldAssets: Phaser.GameObjects.Sprite[]; + protected fieldAssets: Phaser.GameObjects.Sprite[]; - constructor(key: PokemonAnimType, pokemon: Pokemon, fieldAssets?: Phaser.GameObjects.Sprite[]) { + constructor(key: PokemonAnimType, pokemon: Pokemon, fieldAssets: Phaser.GameObjects.Sprite[] = []) { super(); this.key = key; this.pokemon = pokemon; - this.fieldAssets = fieldAssets ?? []; + this.fieldAssets = fieldAssets; } start(): void { diff --git a/src/phases/pokemon-heal-phase.ts b/src/phases/pokemon-heal-phase.ts index ecfe99389eb..651c625b23a 100644 --- a/src/phases/pokemon-heal-phase.ts +++ b/src/phases/pokemon-heal-phase.ts @@ -8,7 +8,7 @@ import { getPokemonNameWithAffix } from "#app/messages"; import { HealingBoosterModifier } from "#app/modifier/modifier"; import { HealAchv } from "#app/system/achv"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { CommonAnimPhase } from "./common-anim-phase"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { HealBlockTag } from "#app/data/battler-tags"; @@ -72,11 +72,11 @@ export class PokemonHealPhase extends CommonAnimPhase { return super.end(); } if (healOrDamage) { - const hpRestoreMultiplier = new Utils.NumberHolder(1); + const hpRestoreMultiplier = new NumberHolder(1); if (!this.revive) { globalScene.applyModifiers(HealingBoosterModifier, this.player, hpRestoreMultiplier); } - const healAmount = new Utils.NumberHolder(Math.floor(this.hpHealed * hpRestoreMultiplier.value)); + const healAmount = new NumberHolder(Math.floor(this.hpHealed * hpRestoreMultiplier.value)); if (healAmount.value < 0) { pokemon.damageAndUpdate(healAmount.value * -1, { result: HitResult.INDIRECT }); healAmount.value = 0; diff --git a/src/phases/pokemon-phase.ts b/src/phases/pokemon-phase.ts index 3ca5f09f953..8c30512cdc4 100644 --- a/src/phases/pokemon-phase.ts +++ b/src/phases/pokemon-phase.ts @@ -11,11 +11,14 @@ export abstract class PokemonPhase extends FieldPhase { constructor(battlerIndex?: BattlerIndex | number) { super(); - if (battlerIndex === undefined) { - battlerIndex = globalScene + battlerIndex = + battlerIndex ?? + globalScene .getField() - .find(p => p?.isActive())! - .getBattlerIndex(); // TODO: is the bang correct here? + .find(p => p?.isActive())! // TODO: is the bang correct here? + .getBattlerIndex(); + if (battlerIndex === undefined) { + console.warn("There are no Pokemon on the field!"); // TODO: figure out a suitable fallback behavior } this.battlerIndex = battlerIndex; diff --git a/src/phases/post-game-over-phase.ts b/src/phases/post-game-over-phase.ts index f86ec8496e0..753251e992f 100644 --- a/src/phases/post-game-over-phase.ts +++ b/src/phases/post-game-over-phase.ts @@ -4,12 +4,12 @@ import type { EndCardPhase } from "./end-card-phase"; import { TitlePhase } from "./title-phase"; export class PostGameOverPhase extends Phase { - private endCardPhase: EndCardPhase | null; + private endCardPhase?: EndCardPhase; constructor(endCardPhase?: EndCardPhase) { super(); - this.endCardPhase = endCardPhase!; // TODO: is this bang correct? + this.endCardPhase = endCardPhase; } start() { diff --git a/src/phases/post-turn-status-effect-phase.ts b/src/phases/post-turn-status-effect-phase.ts index f6341666e7e..619ef22d01e 100644 --- a/src/phases/post-turn-status-effect-phase.ts +++ b/src/phases/post-turn-status-effect-phase.ts @@ -13,7 +13,7 @@ import { getStatusEffectActivationText } from "#app/data/status-effect"; import { BattleSpec } from "#app/enums/battle-spec"; import { StatusEffect } from "#app/enums/status-effect"; import { getPokemonNameWithAffix } from "#app/messages"; -import * as Utils from "#app/utils"; +import { BooleanHolder, NumberHolder } from "#app/utils"; import { PokemonPhase } from "./pokemon-phase"; export class PostTurnStatusEffectPhase extends PokemonPhase { @@ -26,7 +26,7 @@ export class PostTurnStatusEffectPhase extends PokemonPhase { const pokemon = this.getPokemon(); if (pokemon?.isActive(true) && pokemon.status && pokemon.status.isPostTurn() && !pokemon.switchOutStatus) { pokemon.status.incrementTurn(); - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); applyAbAttrs(BlockStatusDamageAbAttr, pokemon, cancelled); @@ -34,7 +34,7 @@ export class PostTurnStatusEffectPhase extends PokemonPhase { globalScene.queueMessage( getStatusEffectActivationText(pokemon.status.effect, getPokemonNameWithAffix(pokemon)), ); - const damage = new Utils.NumberHolder(0); + const damage = new NumberHolder(0); switch (pokemon.status.effect) { case StatusEffect.POISON: damage.value = Math.max(pokemon.getMaxHp() >> 3, 1); diff --git a/src/phases/reload-session-phase.ts b/src/phases/reload-session-phase.ts index 3a4a4e0e3a5..a7ac0002b03 100644 --- a/src/phases/reload-session-phase.ts +++ b/src/phases/reload-session-phase.ts @@ -1,15 +1,15 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; import { Mode } from "#app/ui/ui"; -import * as Utils from "#app/utils"; +import { fixedInt } from "#app/utils"; export class ReloadSessionPhase extends Phase { - private systemDataStr: string | null; + private systemDataStr?: string; constructor(systemDataStr?: string) { super(); - this.systemDataStr = systemDataStr ?? null; + this.systemDataStr = systemDataStr; } start(): void { @@ -18,7 +18,7 @@ export class ReloadSessionPhase extends Phase { let delayElapsed = false; let loaded = false; - globalScene.time.delayedCall(Utils.fixedInt(1500), () => { + globalScene.time.delayedCall(fixedInt(1500), () => { if (loaded) { this.end(); } else { diff --git a/src/phases/scan-ivs-phase.ts b/src/phases/scan-ivs-phase.ts index 2a2d68591ca..aaeeb7f84f8 100644 --- a/src/phases/scan-ivs-phase.ts +++ b/src/phases/scan-ivs-phase.ts @@ -8,6 +8,7 @@ import i18next from "i18next"; import { PokemonPhase } from "./pokemon-phase"; export class ScanIvsPhase extends PokemonPhase { + // biome-ignore lint/complexity/noUselessConstructor: This changes `battlerIndex` to be required constructor(battlerIndex: BattlerIndex) { super(battlerIndex); } @@ -24,7 +25,8 @@ export class ScanIvsPhase extends PokemonPhase { const uiTheme = globalScene.uiTheme; // Assuming uiTheme is accessible for (let e = 0; e < enemyField.length; e++) { enemyIvs = enemyField[e].ivs; - const currentIvs = globalScene.gameData.dexData[enemyField[e].species.getRootSpeciesId()].ivs; // we are using getRootSpeciesId() here because we want to check against the baby form, not the mid form if it exists + // we are using getRootSpeciesId() here because we want to check against the baby form, not the mid form if it exists + const currentIvs = globalScene.gameData.dexData[enemyField[e].species.getRootSpeciesId()].ivs; statsContainer = enemyField[e].getBattleInfo().getStatsValueContainer().list as Phaser.GameObjects.Sprite[]; statsContainerLabels = statsContainer.filter(m => m.name.indexOf("icon_stat_label") >= 0); for (let s = 0; s < statsContainerLabels.length; s++) { diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index 6a11967832a..2d67cb87405 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -5,15 +5,11 @@ import { MoneyInterestModifier, MapModifier } from "#app/modifier/modifier"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { Mode } from "#app/ui/ui"; import { BattlePhase } from "./battle-phase"; -import * as Utils from "#app/utils"; +import { randSeedInt } from "#app/utils"; import { PartyHealPhase } from "./party-heal-phase"; import { SwitchBiomePhase } from "./switch-biome-phase"; export class SelectBiomePhase extends BattlePhase { - constructor() { - super(); - } - start() { super.start(); @@ -40,7 +36,7 @@ export class SelectBiomePhase extends BattlePhase { let biomes: Biome[] = []; globalScene.executeWithSeedOffset(() => { biomes = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) - .filter(b => !Array.isArray(b) || !Utils.randSeedInt(b[1])) + .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) .map(b => (!Array.isArray(b) ? b : b[0])); }, globalScene.currentBattle.waveIndex); if (biomes.length > 1 && globalScene.findModifier(m => m instanceof MapModifier)) { @@ -51,7 +47,7 @@ export class SelectBiomePhase extends BattlePhase { ? [biomeLinks[currentBiome] as Biome] : (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) ) - .filter((b, _i) => !Array.isArray(b) || !Utils.randSeedInt(b[1])) + .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) .map(b => (Array.isArray(b) ? b[0] : b)); }, globalScene.currentBattle.waveIndex); const biomeSelectItems = biomeChoices.map(b => { @@ -70,7 +66,7 @@ export class SelectBiomePhase extends BattlePhase { delay: 1000, }); } else { - setNextBiome(biomes[Utils.randSeedInt(biomes.length)]); + setNextBiome(biomes[randSeedInt(biomes.length)]); } } else if (biomeLinks.hasOwnProperty(currentBiome)) { setNextBiome(biomeLinks[currentBiome] as Biome); diff --git a/src/phases/select-challenge-phase.ts b/src/phases/select-challenge-phase.ts index 2a6797d3556..5e6f20f93ee 100644 --- a/src/phases/select-challenge-phase.ts +++ b/src/phases/select-challenge-phase.ts @@ -3,10 +3,6 @@ import { Phase } from "#app/phase"; import { Mode } from "#app/ui/ui"; export class SelectChallengePhase extends Phase { - constructor() { - super(); - } - start() { super.start(); diff --git a/src/phases/select-gender-phase.ts b/src/phases/select-gender-phase.ts index 1c86536de53..4da60b38aa1 100644 --- a/src/phases/select-gender-phase.ts +++ b/src/phases/select-gender-phase.ts @@ -6,10 +6,6 @@ import { Mode } from "#app/ui/ui"; import i18next from "i18next"; export class SelectGenderPhase extends Phase { - constructor() { - super(); - } - start(): void { super.start(); diff --git a/src/phases/select-modifier-phase.ts b/src/phases/select-modifier-phase.ts index 11d448876d3..27ab7e374a2 100644 --- a/src/phases/select-modifier-phase.ts +++ b/src/phases/select-modifier-phase.ts @@ -26,7 +26,6 @@ import { SHOP_OPTIONS_ROW_LIMIT } from "#app/ui/modifier-select-ui-handler"; import PartyUiHandler, { PartyUiMode, PartyOption } from "#app/ui/party-ui-handler"; import { Mode } from "#app/ui/ui"; import i18next from "i18next"; -import * as Utils from "#app/utils"; import { BattlePhase } from "./battle-phase"; import Overrides from "#app/overrides"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; @@ -67,7 +66,7 @@ export class SelectModifierPhase extends BattlePhase { if (!this.isCopy) { regenerateModifierPoolThresholds(party, this.getPoolType(), this.rerollCount); } - const modifierCount = new Utils.NumberHolder(3); + const modifierCount = new NumberHolder(3); if (this.isPlayer()) { globalScene.applyModifiers(ExtraModifierModifier, true, modifierCount); globalScene.applyModifiers(TempExtraModifierModifier, true, modifierCount); diff --git a/src/phases/select-starter-phase.ts b/src/phases/select-starter-phase.ts index b3ebe6731c9..c6ded6be7af 100644 --- a/src/phases/select-starter-phase.ts +++ b/src/phases/select-starter-phase.ts @@ -15,10 +15,6 @@ import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; import * as Utils from "../utils"; export class SelectStarterPhase extends Phase { - constructor() { - super(); - } - start() { super.start(); diff --git a/src/phases/select-target-phase.ts b/src/phases/select-target-phase.ts index 2042d0a3fcf..035eaff41fa 100644 --- a/src/phases/select-target-phase.ts +++ b/src/phases/select-target-phase.ts @@ -8,6 +8,7 @@ import i18next from "#app/plugins/i18n"; import { allMoves } from "#app/data/moves/move"; export class SelectTargetPhase extends PokemonPhase { + // biome-ignore lint/complexity/noUselessConstructor: This makes `fieldIndex` required constructor(fieldIndex: number) { super(fieldIndex); } diff --git a/src/phases/shiny-sparkle-phase.ts b/src/phases/shiny-sparkle-phase.ts index 2540d98fb79..87a7db29cf6 100644 --- a/src/phases/shiny-sparkle-phase.ts +++ b/src/phases/shiny-sparkle-phase.ts @@ -3,6 +3,7 @@ import type { BattlerIndex } from "#app/battle"; import { PokemonPhase } from "./pokemon-phase"; export class ShinySparklePhase extends PokemonPhase { + // biome-ignore lint/complexity/noUselessConstructor: This makes `battlerIndex` required constructor(battlerIndex: BattlerIndex) { super(battlerIndex); } diff --git a/src/phases/show-party-exp-bar-phase.ts b/src/phases/show-party-exp-bar-phase.ts index 568b8b615c8..139f4efcc49 100644 --- a/src/phases/show-party-exp-bar-phase.ts +++ b/src/phases/show-party-exp-bar-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { ExpGainsSpeed } from "#app/enums/exp-gains-speed"; import { ExpNotification } from "#app/enums/exp-notification"; import { ExpBoosterModifier } from "#app/modifier/modifier"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { HidePartyExpBarPhase } from "./hide-party-exp-bar-phase"; import { LevelUpPhase } from "./level-up-phase"; import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase"; @@ -20,7 +20,7 @@ export class ShowPartyExpBarPhase extends PlayerPartyMemberPokemonPhase { super.start(); const pokemon = this.getPokemon(); - const exp = new Utils.NumberHolder(this.expValue); + const exp = new NumberHolder(this.expValue); globalScene.applyModifiers(ExpBoosterModifier, true, exp); exp.value = Math.floor(exp.value); diff --git a/src/phases/show-trainer-phase.ts b/src/phases/show-trainer-phase.ts index 740c11f5c5d..b6c1e345c70 100644 --- a/src/phases/show-trainer-phase.ts +++ b/src/phases/show-trainer-phase.ts @@ -3,10 +3,6 @@ import { PlayerGender } from "#app/enums/player-gender"; import { BattlePhase } from "./battle-phase"; export class ShowTrainerPhase extends BattlePhase { - constructor() { - super(); - } - start() { super.start(); diff --git a/src/phases/summon-missing-phase.ts b/src/phases/summon-missing-phase.ts index 32bc7495dce..a692455ce47 100644 --- a/src/phases/summon-missing-phase.ts +++ b/src/phases/summon-missing-phase.ts @@ -4,10 +4,6 @@ import { SummonPhase } from "./summon-phase"; import { globalScene } from "#app/global-scene"; export class SummonMissingPhase extends SummonPhase { - constructor(fieldIndex: number) { - super(fieldIndex); - } - preSummon(): void { globalScene.ui.showText( i18next.t("battle:sendOutPokemon", { diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index 16868bf9bc0..e0903ada275 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -23,11 +23,11 @@ export class SwitchSummonPhase extends SummonPhase { /** * Constructor for creating a new SwitchSummonPhase - * @param switchType the type of switch behavior - * @param fieldIndex integer representing position on the battle field - * @param slotIndex integer for the index of pokemon (in party of 6) to switch into - * @param doReturn boolean whether to render "comeback" dialogue - * @param player boolean if the switch is from the player + * @param switchType - The type of switch behavior + * @param fieldIndex - Position on the battle field + * @param slotIndex - The index of pokemon (in party of 6) to switch into + * @param doReturn - Whether to render "comeback" dialogue + * @param player - (Optional) `true` if the switch is from the player */ constructor(switchType: SwitchType, fieldIndex: number, slotIndex: number, doReturn: boolean, player?: boolean) { super(fieldIndex, player !== undefined ? player : true); diff --git a/src/phases/test-message-phase.ts b/src/phases/test-message-phase.ts deleted file mode 100644 index d5e74efd490..00000000000 --- a/src/phases/test-message-phase.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { MessagePhase } from "./message-phase"; - -export class TestMessagePhase extends MessagePhase { - constructor(message: string) { - super(message, null, true); - } -} diff --git a/src/phases/title-phase.ts b/src/phases/title-phase.ts index dc455a0a62a..108366d4774 100644 --- a/src/phases/title-phase.ts +++ b/src/phases/title-phase.ts @@ -18,7 +18,7 @@ import { vouchers } from "#app/system/voucher"; import type { OptionSelectConfig, OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { SaveSlotUiMode } from "#app/ui/save-slot-select-ui-handler"; import { Mode } from "#app/ui/ui"; -import * as Utils from "#app/utils"; +import { isLocal, isLocalServerConnected, isNullOrUndefined } from "#app/utils"; import i18next from "i18next"; import { CheckSwitchPhase } from "./check-switch-phase"; import { EncounterPhase } from "./encounter-phase"; @@ -29,16 +29,10 @@ import { globalScene } from "#app/global-scene"; import Overrides from "#app/overrides"; export class TitlePhase extends Phase { - private loaded: boolean; + private loaded = false; private lastSessionData: SessionSaveData; public gameMode: GameModes; - constructor() { - super(); - - this.loaded = false; - } - start(): void { super.start(); @@ -282,7 +276,7 @@ export class TitlePhase extends Phase { }; // If Online, calls seed fetch from db to generate daily run. If Offline, generates a daily run based on current date. - if (!Utils.isLocal || Utils.isLocalServerConnected) { + if (!isLocal || isLocalServerConnected) { fetchDailyRunSeed() .then(seed => { if (seed) { @@ -296,7 +290,7 @@ export class TitlePhase extends Phase { }); } else { let seed: string = btoa(new Date().toISOString().substring(0, 10)); - if (!Utils.isNullOrUndefined(Overrides.DAILY_RUN_SEED_OVERRIDE)) { + if (!isNullOrUndefined(Overrides.DAILY_RUN_SEED_OVERRIDE)) { seed = Overrides.DAILY_RUN_SEED_OVERRIDE; } generateDaily(seed); diff --git a/src/phases/trainer-message-test-phase.ts b/src/phases/trainer-message-test-phase.ts deleted file mode 100644 index 23c2c86361c..00000000000 --- a/src/phases/trainer-message-test-phase.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { globalScene } from "#app/global-scene"; -import { trainerConfigs } from "#app/data/trainers/trainer-config"; -import type { TrainerType } from "#app/enums/trainer-type"; -import { BattlePhase } from "./battle-phase"; -import { TestMessagePhase } from "./test-message-phase"; - -export class TrainerMessageTestPhase extends BattlePhase { - private trainerTypes: TrainerType[]; - - constructor(...trainerTypes: TrainerType[]) { - super(); - - this.trainerTypes = trainerTypes; - } - - start() { - super.start(); - - const testMessages: string[] = []; - - for (const t of Object.keys(trainerConfigs)) { - const type = Number.parseInt(t); - if (this.trainerTypes.length && !this.trainerTypes.find(tt => tt === (type as TrainerType))) { - continue; - } - const config = trainerConfigs[type]; - [ - config.encounterMessages, - config.femaleEncounterMessages, - config.victoryMessages, - config.femaleVictoryMessages, - config.defeatMessages, - config.femaleDefeatMessages, - ].map(messages => { - if (messages?.length) { - testMessages.push(...messages); - } - }); - } - - for (const message of testMessages) { - globalScene.pushPhase(new TestMessagePhase(message)); - } - - this.end(); - } -} diff --git a/src/phases/trainer-victory-phase.ts b/src/phases/trainer-victory-phase.ts index a024885121f..637ddea8b56 100644 --- a/src/phases/trainer-victory-phase.ts +++ b/src/phases/trainer-victory-phase.ts @@ -3,7 +3,7 @@ import { TrainerType } from "#app/enums/trainer-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { vouchers } from "#app/system/voucher"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { randSeedItem } from "#app/utils"; import { BattlePhase } from "./battle-phase"; import { ModifierRewardPhase } from "./modifier-reward-phase"; import { MoneyRewardPhase } from "./money-reward-phase"; @@ -14,10 +14,6 @@ import { achvs } from "#app/system/achv"; import { timedEventManager } from "#app/global-event-manager"; export class TrainerVictoryPhase extends BattlePhase { - constructor() { - super(); - } - start() { globalScene.disableMenu = true; @@ -82,7 +78,7 @@ export class TrainerVictoryPhase extends BattlePhase { const victoryMessages = globalScene.currentBattle.trainer?.getVictoryMessages()!; // TODO: is this bang correct? let message: string; globalScene.executeWithSeedOffset( - () => (message = Utils.randSeedItem(victoryMessages)), + () => (message = randSeedItem(victoryMessages)), globalScene.currentBattle.waveIndex, ); message = message!; // tell TS compiler it's defined now diff --git a/src/phases/turn-end-phase.ts b/src/phases/turn-end-phase.ts index ddfc0955508..9b84ea05e58 100644 --- a/src/phases/turn-end-phase.ts +++ b/src/phases/turn-end-phase.ts @@ -18,10 +18,6 @@ import { PokemonHealPhase } from "./pokemon-heal-phase"; import { globalScene } from "#app/global-scene"; export class TurnEndPhase extends FieldPhase { - constructor() { - super(); - } - start() { super.start(); diff --git a/src/phases/turn-init-phase.ts b/src/phases/turn-init-phase.ts index 3104b65eb3f..0c110024af7 100644 --- a/src/phases/turn-init-phase.ts +++ b/src/phases/turn-init-phase.ts @@ -15,10 +15,6 @@ import { TurnStartPhase } from "./turn-start-phase"; import { globalScene } from "#app/global-scene"; export class TurnInitPhase extends FieldPhase { - constructor() { - super(); - } - start() { super.start(); diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index 34dd7df3e89..d5b4160fe1b 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -6,7 +6,7 @@ import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import { BypassSpeedChanceModifier } from "#app/modifier/modifier"; import { Command } from "#app/ui/command-ui-handler"; -import * as Utils from "#app/utils"; +import { randSeedShuffle, BooleanHolder } from "#app/utils"; import { AttemptCapturePhase } from "./attempt-capture-phase"; import { AttemptRunPhase } from "./attempt-run-phase"; import { BerryPhase } from "./berry-phase"; @@ -24,10 +24,6 @@ import { globalScene } from "#app/global-scene"; import { TeraPhase } from "./tera-phase"; export class TurnStartPhase extends FieldPhase { - constructor() { - super(); - } - /** * This orders the active Pokemon on the field by speed into an BattlerIndex array and returns that array. * It also checks for Trick Room and reverses the array if it is present. @@ -43,14 +39,14 @@ export class TurnStartPhase extends FieldPhase { // was varying based on how long since you last reloaded globalScene.executeWithSeedOffset( () => { - orderedTargets = Utils.randSeedShuffle(orderedTargets); + orderedTargets = randSeedShuffle(orderedTargets); }, globalScene.currentBattle.turn, globalScene.waveSeed, ); // Next, a check for Trick Room is applied to determine sort order. - const speedReversed = new Utils.BooleanHolder(false); + const speedReversed = new BooleanHolder(false); globalScene.arena.applyTags(TrickRoomTag, false, speedReversed); // Adjust the sort function based on whether Trick Room is active. @@ -80,8 +76,8 @@ export class TurnStartPhase extends FieldPhase { .getField(true) .filter(p => p.summonData) .map(p => { - const bypassSpeed = new Utils.BooleanHolder(false); - const canCheckHeldItems = new Utils.BooleanHolder(true); + const bypassSpeed = new BooleanHolder(false); + const canCheckHeldItems = new BooleanHolder(true); applyAbAttrs(BypassSpeedChanceAbAttr, p, null, false, bypassSpeed); applyAbAttrs(PreventBypassSpeedChanceAbAttr, p, null, false, bypassSpeed, canCheckHeldItems); if (canCheckHeldItems.value) { diff --git a/src/phases/unavailable-phase.ts b/src/phases/unavailable-phase.ts index c0b5d4224c5..33042739971 100644 --- a/src/phases/unavailable-phase.ts +++ b/src/phases/unavailable-phase.ts @@ -4,10 +4,6 @@ import { Mode } from "#app/ui/ui"; import { LoginPhase } from "./login-phase"; export class UnavailablePhase extends Phase { - constructor() { - super(); - } - start(): void { globalScene.ui.setMode(Mode.UNAVAILABLE, () => { globalScene.unshiftPhase(new LoginPhase(true)); diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index d7a1f193029..5284c9fba85 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -15,7 +15,7 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { WeatherType } from "#app/enums/weather-type"; import type Pokemon from "#app/field/pokemon"; import { HitResult } from "#app/field/pokemon"; -import * as Utils from "#app/utils"; +import { BooleanHolder, toDmgValue } from "#app/utils"; import { CommonAnimPhase } from "./common-anim-phase"; export class WeatherEffectPhase extends CommonAnimPhase { @@ -35,14 +35,13 @@ export class WeatherEffectPhase extends CommonAnimPhase { this.weather = globalScene?.arena?.weather; if (!this.weather) { - this.end(); - return; + return this.end(); } this.setAnimation(CommonAnim.SUNNY + (this.weather.weatherType - 1)); if (this.weather.isDamaging()) { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); this.executeForAll((pokemon: Pokemon) => applyPreWeatherEffectAbAttrs(SuppressWeatherEffectAbAttr, pokemon, this.weather, cancelled), @@ -50,7 +49,7 @@ export class WeatherEffectPhase extends CommonAnimPhase { if (!cancelled.value) { const inflictDamage = (pokemon: Pokemon) => { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyPreWeatherEffectAbAttrs(PreWeatherDamageAbAttr, pokemon, this.weather, cancelled); applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); @@ -63,9 +62,9 @@ export class WeatherEffectPhase extends CommonAnimPhase { return; } - const damage = Utils.toDmgValue(pokemon.getMaxHp() / 16); + const damage = toDmgValue(pokemon.getMaxHp() / 16); - globalScene.queueMessage(getWeatherDamageMessage(this.weather?.weatherType!, pokemon)!); // TODO: are those bangs correct? + globalScene.queueMessage(getWeatherDamageMessage(this.weather!.weatherType, pokemon) ?? ""); pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT, ignoreSegments: true }); }; From 0479b9dfcc951969fec368f938ac3419673536e6 Mon Sep 17 00:00:00 2001 From: Diogo Cruz Diniz <50275496+didas72@users.noreply.github.com> Date: Mon, 7 Apr 2025 14:50:52 +0100 Subject: [PATCH 008/102] Fix #2735: Hazard moves incorrectly require targets (#5635) * Fix #2735: Hazard moves incorrectly require targets Hazard moves should no longer require targets to successfully execute * Apply suggestions from code review made by NightKev Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/data/battle-anims.ts | 3 +- src/data/moves/move.ts | 4 +- src/phases/move-effect-phase.ts | 415 ++++++++++++++++---------------- src/phases/move-phase.ts | 6 +- test/moves/spikes.test.ts | 14 ++ 5 files changed, 236 insertions(+), 206 deletions(-) diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 341976b388d..511c80bee72 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -1428,7 +1428,8 @@ export class MoveAnim extends BattleAnim { public move: Moves; constructor(move: Moves, user: Pokemon, target: BattlerIndex, playOnEmptyField = false) { - super(user, globalScene.getField()[target], playOnEmptyField); + // Set target to the user pokemon if no target is found to avoid crashes + super(user, globalScene.getField()[target] ?? user, playOnEmptyField); this.move = move; } diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 421314b1945..7a820d984d0 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -5928,7 +5928,7 @@ export class AddArenaTagAttr extends MoveEffectAttr { } if ((move.chance < 0 || move.chance === 100 || user.randSeedInt(100) < move.chance) && user.getLastXMoves(1)[0]?.result === MoveResult.SUCCESS) { - const side = (this.selfSideTarget ? user : target).isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; + const side = ((this.selfSideTarget ? user : target).isPlayer() !== (move.hasAttr(AddArenaTrapTagAttr) && target === user)) ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; globalScene.arena.addTag(this.tagType, this.turnCount, move.id, user.id, side); return true; } @@ -5977,7 +5977,7 @@ export class RemoveArenaTagsAttr extends MoveEffectAttr { export class AddArenaTrapTagAttr extends AddArenaTagAttr { getCondition(): MoveConditionFunc { return (user, target, move) => { - const side = (this.selfSideTarget ? user : target).isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; + const side = (this.selfSideTarget !== user.isPlayer()) ? ArenaTagSide.ENEMY : ArenaTagSide.PLAYER; const tag = globalScene.arena.getTagOnSide(this.tagType, side) as ArenaTrapTag; if (!tag) { return true; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 7cc389651dd..6c46f7ff8c0 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -26,6 +26,7 @@ import { } from "#app/data/battler-tags"; import type { MoveAttr } from "#app/data/moves/move"; import { + AddArenaTrapTagAttr, applyFilteredMoveAttrs, applyMoveAttrs, AttackMove, @@ -209,12 +210,12 @@ export class MoveEffectPhase extends PokemonPhase { targets.some(t => t.hasAbilityWithAttr(ReflectStatusMoveAbAttr) || !!t.getTag(BattlerTagType.MAGIC_COAT)); /** - * If no targets are left for the move to hit (FAIL), or the invoked move is non-reflectable, single-target + * If no targets are left for the move to hit and it is not a hazard move (FAIL), or the invoked move is non-reflectable, single-target * (and not random target) and failed the hit check against its target (MISS), log the move * as FAILed or MISSed (depending on the conditions above) and end this phase. */ if ( - !hasActiveTargets || + (!hasActiveTargets && !move.hasAttr(AddArenaTrapTagAttr)) || (!mayBounce && !move.hasAttr(VariableTargetAttr) && !move.isMultiTarget() && @@ -239,18 +240,28 @@ export class MoveEffectPhase extends PokemonPhase { return this.end(); } - const playOnEmptyField = globalScene.currentBattle?.mysteryEncounter?.hasBattleAnimationsWithoutTargets ?? false; - // Move animation only needs one target - new MoveAnim(move.id as Moves, user, this.getFirstTarget()!.getBattlerIndex(), playOnEmptyField).play( - move.hitsSubstitute(user, this.getFirstTarget()!), - () => { - /** Has the move successfully hit a target (for damage) yet? */ - let hasHit = false; + const playOnEmptyField = + (globalScene.currentBattle?.mysteryEncounter?.hasBattleAnimationsWithoutTargets ?? false) || + (!hasActiveTargets && move.hasAttr(AddArenaTrapTagAttr)); + // Move animation only needs one target. The attacker is used as a fallback. + new MoveAnim( + move.id as Moves, + user, + this.getFirstTarget()?.getBattlerIndex() ?? BattlerIndex.ATTACKER, + playOnEmptyField, + ).play(move.hitsSubstitute(user, this.getFirstTarget()!), () => { + /** Has the move successfully hit a target (for damage) yet? */ + let hasHit = false; - // Prevent ENEMY_SIDE targeted moves from occurring twice in double battles - // and check which target will magic bounce. - const trueTargets: Pokemon[] = - move.moveTarget !== MoveTarget.ENEMY_SIDE + // Prevent ENEMY_SIDE targeted moves from occurring twice in double battles + // and check which target will magic bounce. + // In the event that the move is a hazard move, there may be no target and the move should still succeed. + // In this case, the user is used as the "target" to prevent a crash. + // This should not affect normal execution of the move otherwise. + const trueTargets: Pokemon[] = + !hasActiveTargets && move.hasAttr(AddArenaTrapTagAttr) + ? [user] + : move.moveTarget !== MoveTarget.ENEMY_SIDE ? targets : (() => { const magicCoatTargets = targets.filter( @@ -264,27 +275,27 @@ export class MoveEffectPhase extends PokemonPhase { return [magicCoatTargets[0]]; })(); - const queuedPhases: Phase[] = []; - for (const target of trueTargets) { - /** The {@linkcode ArenaTagSide} to which the target belongs */ - const targetSide = target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; - /** Has the invoked move been cancelled by conditional protection (e.g Quick Guard)? */ - const hasConditionalProtectApplied = new BooleanHolder(false); - /** Does the applied conditional protection bypass Protect-ignoring effects? */ - const bypassIgnoreProtect = new BooleanHolder(false); - /** If the move is not targeting a Pokemon on the user's side, try to apply conditional protection effects */ - if (!this.move.getMove().isAllyTarget()) { - globalScene.arena.applyTagsForSide( - ConditionalProtectTag, - targetSide, - false, - hasConditionalProtectApplied, - user, - target, - move.id, - bypassIgnoreProtect, - ); - } + const queuedPhases: Phase[] = []; + for (const target of trueTargets) { + /** The {@linkcode ArenaTagSide} to which the target belongs */ + const targetSide = target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; + /** Has the invoked move been cancelled by conditional protection (e.g Quick Guard)? */ + const hasConditionalProtectApplied = new BooleanHolder(false); + /** Does the applied conditional protection bypass Protect-ignoring effects? */ + const bypassIgnoreProtect = new BooleanHolder(false); + /** If the move is not targeting a Pokemon on the user's side, try to apply conditional protection effects */ + if (!this.move.getMove().isAllyTarget()) { + globalScene.arena.applyTagsForSide( + ConditionalProtectTag, + targetSide, + false, + hasConditionalProtectApplied, + user, + target, + move.id, + bypassIgnoreProtect, + ); + } /** Is the target protected by Protect, etc. or a relevant conditional protection effect? */ const isProtected = @@ -297,13 +308,13 @@ export class MoveEffectPhase extends PokemonPhase { (this.move.getMove().category !== MoveCategory.STATUS && target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType)))); - /** Is the target hidden by the effects of its Commander ability? */ - const isCommanding = - globalScene.currentBattle.double && - target.getAlly()?.getTag(BattlerTagType.COMMANDED)?.getSourcePokemon() === target; + /** Is the target hidden by the effects of its Commander ability? */ + const isCommanding = + globalScene.currentBattle.double && + target.getAlly()?.getTag(BattlerTagType.COMMANDED)?.getSourcePokemon() === target; - /** Is the target reflecting status moves from the magic coat move? */ - const isReflecting = !!target.getTag(BattlerTagType.MAGIC_COAT); + /** Is the target reflecting status moves from the magic coat move? */ + const isReflecting = !!target.getTag(BattlerTagType.MAGIC_COAT); /** Is the target's magic bounce ability not ignored and able to reflect this move? */ const canMagicBounce = @@ -311,16 +322,16 @@ export class MoveEffectPhase extends PokemonPhase { !move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user, target }) && target.hasAbilityWithAttr(ReflectStatusMoveAbAttr); - const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); + const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); - /** Is the target reflecting the effect, not protected, and not in an semi-invulnerable state?*/ - const willBounce = - !isProtected && - !this.reflected && - !isCommanding && - move.hasFlag(MoveFlags.REFLECTABLE) && - (isReflecting || canMagicBounce) && - !semiInvulnerableTag; + /** Is the target reflecting the effect, not protected, and not in an semi-invulnerable state?*/ + const willBounce = + !isProtected && + !this.reflected && + !isCommanding && + move.hasFlag(MoveFlags.REFLECTABLE) && + (isReflecting || canMagicBounce) && + !semiInvulnerableTag; // If the move will bounce, then queue the bounce and move on to the next target if (!target.switchOutStatus && willBounce) { @@ -338,171 +349,171 @@ export class MoveEffectPhase extends PokemonPhase { queuedPhases.push(new HideAbilityPhase()); } - queuedPhases.push( - new MovePhase(target, newTargets, new PokemonMove(move.id, 0, 0, true), true, true, true), + queuedPhases.push(new MovePhase(target, newTargets, new PokemonMove(move.id, 0, 0, true), true, true, true)); + continue; + } + + /** Is the pokemon immune due to an ablility, and also not in a semi invulnerable state? */ + const isImmune = + target.hasAbilityWithAttr(TypeImmunityAbAttr) && + target.getAbility()?.getAttrs(TypeImmunityAbAttr)?.[0]?.getImmuneType() === user.getMoveType(move) && + !semiInvulnerableTag; + + /** + * If the move missed a target, stop all future hits against that target + * and move on to the next target (if there is one). + */ + if ( + target.switchOutStatus || + isCommanding || + (!isImmune && + !isProtected && + !targetHitChecks[target.getBattlerIndex()] && + !move.hasAttr(AddArenaTrapTagAttr)) + ) { + this.stopMultiHit(target); + if (!target.switchOutStatus) { + globalScene.queueMessage( + i18next.t("battle:attackMissed", { + pokemonNameWithAffix: getPokemonNameWithAffix(target), + }), ); - continue; } - - /** Is the pokemon immune due to an ablility, and also not in a semi invulnerable state? */ - const isImmune = - target.hasAbilityWithAttr(TypeImmunityAbAttr) && - target.getAbility()?.getAttrs(TypeImmunityAbAttr)?.[0]?.getImmuneType() === user.getMoveType(move) && - !semiInvulnerableTag; - - /** - * If the move missed a target, stop all future hits against that target - * and move on to the next target (if there is one). - */ - if ( - target.switchOutStatus || - isCommanding || - (!isImmune && !isProtected && !targetHitChecks[target.getBattlerIndex()]) - ) { - this.stopMultiHit(target); - if (!target.switchOutStatus) { - globalScene.queueMessage( - i18next.t("battle:attackMissed", { - pokemonNameWithAffix: getPokemonNameWithAffix(target), - }), - ); - } - if (moveHistoryEntry.result === MoveResult.PENDING) { - moveHistoryEntry.result = MoveResult.MISS; - } - user.pushMoveHistory(moveHistoryEntry); - applyMoveAttrs(MissEffectAttr, user, null, move); - continue; - } - - /** Does this phase represent the invoked move's first strike? */ - const firstHit = user.turnData.hitsLeft === user.turnData.hitCount; - - // Only log the move's result on the first strike - if (firstHit) { - user.pushMoveHistory(moveHistoryEntry); - } - - /** - * Since all fail/miss checks have applied, the move is considered successfully applied. - * It's worth noting that if the move has no effect or is protected against, this assignment - * is overwritten and the move is logged as a FAIL. - */ - moveHistoryEntry.result = MoveResult.SUCCESS; - - /** - * Stores the result of applying the invoked move to the target. - * If the target is protected, the result is always `NO_EFFECT`. - * Otherwise, the hit result is based on type effectiveness, immunities, - * and other factors that may negate the attack or status application. - * - * Internally, the call to {@linkcode Pokemon.apply} is where damage is calculated - * (for attack moves) and the target's HP is updated. However, this isn't - * made visible to the user until the resulting {@linkcode DamagePhase} - * is invoked. - */ - const hitResult = !isProtected ? target.apply(user, move) : HitResult.NO_EFFECT; - - /** Does {@linkcode hitResult} indicate that damage was dealt to the target? */ - const dealsDamage = [ - HitResult.EFFECTIVE, - HitResult.SUPER_EFFECTIVE, - HitResult.NOT_VERY_EFFECTIVE, - HitResult.ONE_HIT_KO, - ].includes(hitResult); - - /** Is this target the first one hit by the move on its current strike? */ - const firstTarget = dealsDamage && !hasHit; - if (firstTarget) { - hasHit = true; - } - - /** - * If the move has no effect on the target (i.e. the target is protected or immune), - * change the logged move result to FAIL. - */ - if (hitResult === HitResult.NO_EFFECT) { - moveHistoryEntry.result = MoveResult.FAIL; - } - - /** Does this phase represent the invoked move's last strike? */ - const lastHit = user.turnData.hitsLeft === 1 || !this.getFirstTarget()?.isActive(); - - /** - * If the user can change forms by using the invoked move, - * it only changes forms after the move's last hit - * (see Relic Song's interaction with Parental Bond when used by Meloetta). - */ - if (lastHit) { - globalScene.triggerPokemonFormChange(user, SpeciesFormChangePostMoveTrigger); - /** - * Multi-Lens, Multi Hit move and Parental Bond check for PostDamageAbAttr - * other damage source are calculated in damageAndUpdate in pokemon.ts - */ - if (user.turnData.hitCount > 1) { - applyPostDamageAbAttrs(PostDamageAbAttr, target, 0, target.hasPassive(), false, [], user); - } - } - - applyFilteredMoveAttrs( - (attr: MoveAttr) => - attr instanceof MoveEffectAttr && - attr.trigger === MoveEffectTrigger.PRE_APPLY && - (!attr.firstHitOnly || firstHit) && - (!attr.lastHitOnly || lastHit) && - hitResult !== HitResult.NO_EFFECT, - user, - target, - move, - ); - - if (hitResult !== HitResult.FAIL) { - this.applySelfTargetEffects(user, target, firstHit, lastHit); - - if (hitResult !== HitResult.NO_EFFECT) { - this.applyPostApplyEffects(user, target, firstHit, lastHit); - this.applyHeldItemFlinchCheck(user, target, dealsDamage); - this.applySuccessfulAttackEffects(user, target, firstHit, lastHit, !!isProtected, hitResult, firstTarget); - } else { - applyMoveAttrs(NoEffectAttr, user, null, move); - } + if (moveHistoryEntry.result === MoveResult.PENDING) { + moveHistoryEntry.result = MoveResult.MISS; } + user.pushMoveHistory(moveHistoryEntry); + applyMoveAttrs(MissEffectAttr, user, null, move); + continue; } - // Apply queued phases - if (queuedPhases.length) { - globalScene.appendToPhase(queuedPhases, MoveEndPhase); - } - // Apply the move's POST_TARGET effects on the move's last hit, after all targeted effects have resolved - if (user.turnData.hitsLeft === 1 || !this.getFirstTarget()?.isActive()) { - applyFilteredMoveAttrs( - (attr: MoveAttr) => attr instanceof MoveEffectAttr && attr.trigger === MoveEffectTrigger.POST_TARGET, - user, - null, - move, - ); + /** Does this phase represent the invoked move's first strike? */ + const firstHit = user.turnData.hitsLeft === user.turnData.hitCount; + + // Only log the move's result on the first strike + if (firstHit) { + user.pushMoveHistory(moveHistoryEntry); } /** - * Remove the target's substitute (if it exists and has expired) - * after all targeted effects have applied. - * This prevents blocked effects from applying until after this hit resolves. + * Since all fail/miss checks have applied, the move is considered successfully applied. + * It's worth noting that if the move has no effect or is protected against, this assignment + * is overwritten and the move is logged as a FAIL. */ - targets.forEach(target => { - const substitute = target.getTag(SubstituteTag); - if (substitute && substitute.hp <= 0) { - target.lapseTag(BattlerTagType.SUBSTITUTE); - } - }); + moveHistoryEntry.result = MoveResult.SUCCESS; - const moveType = user.getMoveType(move, true); - if (move.category !== MoveCategory.STATUS && !user.stellarTypesBoosted.includes(moveType)) { - user.stellarTypesBoosted.push(moveType); + /** + * Stores the result of applying the invoked move to the target. + * If the target is protected, the result is always `NO_EFFECT`. + * Otherwise, the hit result is based on type effectiveness, immunities, + * and other factors that may negate the attack or status application. + * + * Internally, the call to {@linkcode Pokemon.apply} is where damage is calculated + * (for attack moves) and the target's HP is updated. However, this isn't + * made visible to the user until the resulting {@linkcode DamagePhase} + * is invoked. + */ + const hitResult = !isProtected ? target.apply(user, move) : HitResult.NO_EFFECT; + + /** Does {@linkcode hitResult} indicate that damage was dealt to the target? */ + const dealsDamage = [ + HitResult.EFFECTIVE, + HitResult.SUPER_EFFECTIVE, + HitResult.NOT_VERY_EFFECTIVE, + HitResult.ONE_HIT_KO, + ].includes(hitResult); + + /** Is this target the first one hit by the move on its current strike? */ + const firstTarget = dealsDamage && !hasHit; + if (firstTarget) { + hasHit = true; } - this.end(); - }, - ); + /** + * If the move has no effect on the target (i.e. the target is protected or immune), + * change the logged move result to FAIL. + */ + if (hitResult === HitResult.NO_EFFECT) { + moveHistoryEntry.result = MoveResult.FAIL; + } + + /** Does this phase represent the invoked move's last strike? */ + const lastHit = user.turnData.hitsLeft === 1 || !this.getFirstTarget()?.isActive(); + + /** + * If the user can change forms by using the invoked move, + * it only changes forms after the move's last hit + * (see Relic Song's interaction with Parental Bond when used by Meloetta). + */ + if (lastHit) { + globalScene.triggerPokemonFormChange(user, SpeciesFormChangePostMoveTrigger); + /** + * Multi-Lens, Multi Hit move and Parental Bond check for PostDamageAbAttr + * other damage source are calculated in damageAndUpdate in pokemon.ts + */ + if (user.turnData.hitCount > 1) { + applyPostDamageAbAttrs(PostDamageAbAttr, target, 0, target.hasPassive(), false, [], user); + } + } + + applyFilteredMoveAttrs( + (attr: MoveAttr) => + attr instanceof MoveEffectAttr && + attr.trigger === MoveEffectTrigger.PRE_APPLY && + (!attr.firstHitOnly || firstHit) && + (!attr.lastHitOnly || lastHit) && + hitResult !== HitResult.NO_EFFECT, + user, + target, + move, + ); + + if (hitResult !== HitResult.FAIL) { + this.applySelfTargetEffects(user, target, firstHit, lastHit); + + if (hitResult !== HitResult.NO_EFFECT) { + this.applyPostApplyEffects(user, target, firstHit, lastHit); + this.applyHeldItemFlinchCheck(user, target, dealsDamage); + this.applySuccessfulAttackEffects(user, target, firstHit, lastHit, !!isProtected, hitResult, firstTarget); + } else { + applyMoveAttrs(NoEffectAttr, user, null, move); + } + } + } + + // Apply queued phases + if (queuedPhases.length) { + globalScene.appendToPhase(queuedPhases, MoveEndPhase); + } + // Apply the move's POST_TARGET effects on the move's last hit, after all targeted effects have resolved + if (user.turnData.hitsLeft === 1 || !this.getFirstTarget()?.isActive()) { + applyFilteredMoveAttrs( + (attr: MoveAttr) => attr instanceof MoveEffectAttr && attr.trigger === MoveEffectTrigger.POST_TARGET, + user, + null, + move, + ); + } + + /** + * Remove the target's substitute (if it exists and has expired) + * after all targeted effects have applied. + * This prevents blocked effects from applying until after this hit resolves. + */ + targets.forEach(target => { + const substitute = target.getTag(SubstituteTag); + if (substitute && substitute.hp <= 0) { + target.lapseTag(BattlerTagType.SUBSTITUTE); + } + }); + + const moveType = user.getMoveType(move, true); + if (move.category !== MoveCategory.STATUS && !user.stellarTypesBoosted.includes(moveType)) { + user.stellarTypesBoosted.push(moveType); + } + + this.end(); + }); } public override end(): void { diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 82b73f681a0..5232dfee8ba 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -15,6 +15,7 @@ import type { DelayedAttackTag } from "#app/data/arena-tag"; import { CommonAnim } from "#app/data/battle-anims"; import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags"; import { + AddArenaTrapTagAttr, allMoves, applyMoveAttrs, BypassRedirectAttr, @@ -201,7 +202,10 @@ export class MovePhase extends BattlePhase { const targets = this.getActiveTargetPokemon(); const moveQueue = this.pokemon.getMoveQueue(); - if (targets.length === 0 || (moveQueue.length && moveQueue[0].move === Moves.NONE)) { + if ( + (targets.length === 0 && !this.move.getMove().hasAttr(AddArenaTrapTagAttr)) || + (moveQueue.length && moveQueue[0].move === Moves.NONE) + ) { this.showMoveText(); this.showFailedText(); this.cancel(); diff --git a/test/moves/spikes.test.ts b/test/moves/spikes.test.ts index 9bf0e5e1437..76af15777bb 100644 --- a/test/moves/spikes.test.ts +++ b/test/moves/spikes.test.ts @@ -4,6 +4,7 @@ import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; +import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; describe("Moves - Spikes", () => { let phaserGame: Phaser.Game; @@ -77,4 +78,17 @@ describe("Moves - Spikes", () => { const enemy = game.scene.getEnemyParty()[0]; expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); }, 20000); + + it("should work when all targets fainted", async () => { + game.override.enemySpecies(Species.DIGLETT); + game.override.battleType("double"); + game.override.startingLevel(50); + await game.classicMode.startBattle([Species.RAYQUAZA, Species.ROWLET]); + + game.move.select(Moves.EARTHQUAKE); + game.move.select(Moves.SPIKES, 1); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.arena.getTagOnSide(ArenaTrapTag, ArenaTagSide.ENEMY)).toBeDefined(); + }, 20000); }); From 1b79d1f832b2163b265beb4bff2ec0ae45a0fb28 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:53:35 -0700 Subject: [PATCH 009/102] [Refactor] Re-implement save migration system (#5634) --- package-lock.json | 7 + package.json | 1 + src/@types/SessionSaveMigrator.ts | 6 + src/@types/SettingsSaveMigrator.ts | 5 + src/@types/SystemSaveMigrator.ts | 6 + .../version_migration/version_converter.ts | 273 +++++++----------- .../version_migration/versions/v1_0_4.ts | 104 ++++--- .../version_migration/versions/v1_1_0.ts | 5 - .../version_migration/versions/v1_7_0.ts | 36 ++- .../version_migration/versions/v1_8_3.ts | 22 +- 10 files changed, 227 insertions(+), 238 deletions(-) create mode 100644 src/@types/SessionSaveMigrator.ts create mode 100644 src/@types/SettingsSaveMigrator.ts create mode 100644 src/@types/SystemSaveMigrator.ts delete mode 100644 src/system/version_migration/versions/v1_1_0.ts diff --git a/package-lock.json b/package-lock.json index 33e9dd08104..6b880370f0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "hasInstallScript": true, "dependencies": { "@material/material-color-utilities": "^0.2.7", + "compare-versions": "^6.1.1", "crypto-js": "^4.2.0", "i18next": "^24.2.2", "i18next-browser-languagedetector": "^8.0.4", @@ -3605,6 +3606,12 @@ "node": ">=18" } }, + "node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", diff --git a/package.json b/package.json index 6b1c73db158..c84e926fc35 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ }, "dependencies": { "@material/material-color-utilities": "^0.2.7", + "compare-versions": "^6.1.1", "crypto-js": "^4.2.0", "i18next": "^24.2.2", "i18next-browser-languagedetector": "^8.0.4", diff --git a/src/@types/SessionSaveMigrator.ts b/src/@types/SessionSaveMigrator.ts new file mode 100644 index 00000000000..c4b0ad8dda4 --- /dev/null +++ b/src/@types/SessionSaveMigrator.ts @@ -0,0 +1,6 @@ +import type { SessionSaveData } from "#app/system/game-data"; + +export interface SessionSaveMigrator { + version: string; + migrate: (data: SessionSaveData) => void; +} diff --git a/src/@types/SettingsSaveMigrator.ts b/src/@types/SettingsSaveMigrator.ts new file mode 100644 index 00000000000..aae3df7cc60 --- /dev/null +++ b/src/@types/SettingsSaveMigrator.ts @@ -0,0 +1,5 @@ +export interface SettingsSaveMigrator { + version: string; + // biome-ignore lint/complexity/noBannedTypes: TODO - refactor settings + migrate: (data: Object) => void; +} diff --git a/src/@types/SystemSaveMigrator.ts b/src/@types/SystemSaveMigrator.ts new file mode 100644 index 00000000000..a22b5f6c93d --- /dev/null +++ b/src/@types/SystemSaveMigrator.ts @@ -0,0 +1,6 @@ +import type { SystemSaveData } from "#app/system/game-data"; + +export interface SystemSaveMigrator { + version: string; + migrate: (data: SystemSaveData) => void; +} diff --git a/src/system/version_migration/version_converter.ts b/src/system/version_migration/version_converter.ts index 074f60c2c5d..4b712609819 100644 --- a/src/system/version_migration/version_converter.ts +++ b/src/system/version_migration/version_converter.ts @@ -1,19 +1,104 @@ -import type { SessionSaveData, SystemSaveData } from "../game-data"; +import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; +import type { SettingsSaveMigrator } from "#app/@types/SettingsSaveMigrator"; +import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; +import type { SessionSaveData, SystemSaveData } from "#app/system/game-data"; +import { compareVersions } from "compare-versions"; import { version } from "../../../package.json"; +/* +// template for save migrator creation +// versions/vA_B_C.ts + +// The version for each migrator should match the filename, ie: `vA_B_C.ts` -> `version: "A.B.C" +// This is the target version (aka the version we're ending up on after the migrators are run) + +// The name for each migrator should match its purpose. For example, if you're fixing +// the ability index of a pokemon, it might be called `migratePokemonAbilityIndex` + +const systemMigratorA: SystemSaveMigrator = { + version: "A.B.C", + migrate: (data: SystemSaveData): void => { + // migration code goes here + }, +}; + +export const systemMigrators: Readonly = [systemMigratorA] as const; + +const sessionMigratorA: SessionSaveMigrator = { + version: "A.B.C", + migrate: (data: SessionSaveData): void => { + // migration code goes here + }, +}; + +export const sessionMigrators: Readonly = [sessionMigratorA] as const; + +const settingsMigratorA: SettingsSaveMigrator = { + version: "A.B.C", + // biome-ignore lint/complexity/noBannedTypes: TODO - refactor settings + migrate: (data: Object): void => { + // migration code goes here + }, +}; + +export const settingsMigrators: Readonly = [settingsMigratorA] as const; +*/ + +// --- vA.B.C PATCHES --- // +// import * as vA_B_C from "./versions/vA_B_C"; + // --- v1.0.4 (and below) PATCHES --- // import * as v1_0_4 from "./versions/v1_0_4"; -// --- v1.1.0 PATCHES --- // -import * as v1_1_0 from "./versions/v1_1_0"; - // --- v1.7.0 PATCHES --- // import * as v1_7_0 from "./versions/v1_7_0"; // --- v1.8.3 PATCHES --- // import * as v1_8_3 from "./versions/v1_8_3"; -const LATEST_VERSION = version.split(".").map(value => Number.parseInt(value)); +/** Current game version */ +const LATEST_VERSION = version; + +type SaveMigrator = SystemSaveMigrator | SessionSaveMigrator | SettingsSaveMigrator; + +// biome-ignore lint/complexity/noBannedTypes: TODO - refactor settings +type SaveData = SystemSaveData | SessionSaveData | Object; + +// To add a new set of migrators, create a new `.push()` line like so: +// `systemMigrators.push(...vA_B_C.systemMigrators);` + +/** All system save migrators */ +const systemMigrators: SystemSaveMigrator[] = []; +systemMigrators.push(...v1_0_4.systemMigrators); +systemMigrators.push(...v1_7_0.systemMigrators); +systemMigrators.push(...v1_8_3.systemMigrators); + +/** All session save migrators */ +const sessionMigrators: SessionSaveMigrator[] = []; +sessionMigrators.push(...v1_0_4.sessionMigrators); +sessionMigrators.push(...v1_7_0.sessionMigrators); + +/** All settings migrators */ +const settingsMigrators: SettingsSaveMigrator[] = []; +settingsMigrators.push(...v1_0_4.settingsMigrators); + +/** Sorts migrators by their stated version, ensuring they are applied in order from oldest to newest */ +const sortMigrators = (migrators: SaveMigrator[]): void => { + migrators.sort((a, b) => compareVersions(a.version, b.version)); +}; + +sortMigrators(systemMigrators); +sortMigrators(sessionMigrators); +sortMigrators(settingsMigrators); + +const applyMigrators = (migrators: readonly SaveMigrator[], data: SaveData, saveVersion: string) => { + for (const migrator of migrators) { + const isMigratorVersionHigher = compareVersions(saveVersion, migrator.version) === -1; + if (isMigratorVersionHigher) { + migrator.migrate(data as any); + } + } +}; /** * Converts incoming {@linkcode SystemSaveData} that has a version below the @@ -26,12 +111,12 @@ const LATEST_VERSION = version.split(".").map(value => Number.parseInt(value)); * @see {@link SystemVersionConverter} */ export function applySystemVersionMigration(data: SystemSaveData) { - const curVersion = data.gameVersion.split(".").map(value => Number.parseInt(value)); + const prevVersion = data.gameVersion; + const isCurrentVersionHigher = compareVersions(prevVersion, LATEST_VERSION) === -1; - if (!curVersion.every((value, index) => value === LATEST_VERSION[index])) { - const converter = new SystemVersionConverter(); - converter.applyStaticPreprocessors(data); - converter.applyMigration(data, curVersion); + if (isCurrentVersionHigher) { + applyMigrators(systemMigrators, data, prevVersion); + console.log(`System data successfully migrated to v${LATEST_VERSION}!`); } } @@ -46,12 +131,15 @@ export function applySystemVersionMigration(data: SystemSaveData) { * @see {@link SessionVersionConverter} */ export function applySessionVersionMigration(data: SessionSaveData) { - const curVersion = data.gameVersion.split(".").map(value => Number.parseInt(value)); + const prevVersion = data.gameVersion; + const isCurrentVersionHigher = compareVersions(prevVersion, LATEST_VERSION) === -1; - if (!curVersion.every((value, index) => value === LATEST_VERSION[index])) { - const converter = new SessionVersionConverter(); - converter.applyStaticPreprocessors(data); - converter.applyMigration(data, curVersion); + if (isCurrentVersionHigher) { + // Always sanitize money as a safeguard + data.money = Math.floor(data.money); + + applyMigrators(sessionMigrators, data, prevVersion); + console.log(`Session data successfully migrated to v${LATEST_VERSION}!`); } } @@ -65,156 +153,13 @@ export function applySessionVersionMigration(data: SessionSaveData) { * @param data Settings data object * @see {@link SettingsVersionConverter} */ +// biome-ignore lint/complexity/noBannedTypes: TODO - refactor settings export function applySettingsVersionMigration(data: Object) { - const gameVersion: string = data.hasOwnProperty("gameVersion") ? data["gameVersion"] : "1.0.0"; - const curVersion = gameVersion.split(".").map(value => Number.parseInt(value)); + const prevVersion: string = data.hasOwnProperty("gameVersion") ? data["gameVersion"] : "1.0.0"; + const isCurrentVersionHigher = compareVersions(prevVersion, LATEST_VERSION) === -1; - if (!curVersion.every((value, index) => value === LATEST_VERSION[index])) { - const converter = new SettingsVersionConverter(); - converter.applyStaticPreprocessors(data); - converter.applyMigration(data, curVersion); - } -} - -/** - * Abstract class encapsulating the logic for migrating data from a given version up to - * the current version listed in `package.json`. - * - * Note that, for any version converter, the corresponding `applyMigration` - * function would only need to be changed once when the first migration for a - * given version is introduced. Similarly, a version file (within the `versions` - * folder) would only need to be created for a version once with the appropriate - * array nomenclature. - */ -abstract class VersionConverter { - /** - * Iterates through an array of designated migration functions that are each - * called one by one to transform the data. - * @param data The data to be operated on - * @param migrationArr An array of functions that will transform the incoming data - */ - callMigrators(data: any, migrationArr: readonly any[]) { - for (const migrate of migrationArr) { - migrate(data); - } - } - - /** - * Applies any version-agnostic data sanitation as defined within the function - * body. - * @param data The data to be operated on - */ - applyStaticPreprocessors(_data: any): void {} - - /** - * Uses the current version the incoming data to determine the starting point - * of the migration which will cascade up to the latest version, calling the - * necessary migration functions in the process. - * @param data The data to be operated on - * @param curVersion [0] Current major version - * [1] Current minor version - * [2] Current patch version - */ - abstract applyMigration(data: any, curVersion: number[]): void; -} - -/** - * Class encapsulating the logic for migrating {@linkcode SessionSaveData} from - * a given version up to the current version listed in `package.json`. - * @extends VersionConverter - */ -class SessionVersionConverter extends VersionConverter { - override applyStaticPreprocessors(data: SessionSaveData): void { - // Always sanitize money as a safeguard - data.money = Math.floor(data.money); - } - - override applyMigration(data: SessionSaveData, curVersion: number[]): void { - const [curMajor, curMinor, curPatch] = curVersion; - - if (curMajor === 1) { - if (curMinor === 0) { - if (curPatch <= 5) { - console.log("Applying v1.0.4 session data migration!"); - this.callMigrators(data, v1_0_4.sessionMigrators); - } - } - if (curMinor <= 1) { - console.log("Applying v1.1.0 session data migration!"); - this.callMigrators(data, v1_1_0.sessionMigrators); - } - if (curMinor < 7) { - console.log("Applying v1.7.0 session data migration!"); - this.callMigrators(data, v1_7_0.sessionMigrators); - } - } - - console.log(`Session data successfully migrated to v${version}!`); - } -} - -/** - * Class encapsulating the logic for migrating {@linkcode SystemSaveData} from - * a given version up to the current version listed in `package.json`. - * @extends VersionConverter - */ -class SystemVersionConverter extends VersionConverter { - override applyMigration(data: SystemSaveData, curVersion: number[]): void { - const [curMajor, curMinor, curPatch] = curVersion; - - if (curMajor === 1) { - if (curMinor === 0) { - if (curPatch <= 4) { - console.log("Applying v1.0.4 system data migraton!"); - this.callMigrators(data, v1_0_4.systemMigrators); - } - } - if (curMinor <= 1) { - console.log("Applying v1.1.0 system data migraton!"); - this.callMigrators(data, v1_1_0.systemMigrators); - } - if (curMinor < 7) { - console.log("Applying v1.7.0 system data migration!"); - this.callMigrators(data, v1_7_0.systemMigrators); - } - if (curMinor === 8) { - if (curPatch <= 2) { - console.log("Applying v1.8.3 system data migration!"); - this.callMigrators(data, v1_8_3.systemMigrators); - } - } - } - - console.log(`System data successfully migrated to v${version}!`); - } -} - -/** - * Class encapsulating the logic for migrating settings data from - * a given version up to the current version listed in `package.json`. - * @extends VersionConverter - */ -class SettingsVersionConverter extends VersionConverter { - override applyMigration(data: Object, curVersion: number[]): void { - const [curMajor, curMinor, curPatch] = curVersion; - - if (curMajor === 1) { - if (curMinor === 0) { - if (curPatch <= 4) { - console.log("Applying v1.0.4 settings data migraton!"); - this.callMigrators(data, v1_0_4.settingsMigrators); - } - } - if (curMinor <= 1) { - console.log("Applying v1.1.0 settings data migraton!"); - this.callMigrators(data, v1_1_0.settingsMigrators); - } - if (curMinor < 7) { - console.log("Applying v1.7.0 settings data migration!"); - this.callMigrators(data, v1_7_0.settingsMigrators); - } - } - - console.log(`Settings data successfully migrated to v${version}!`); + if (isCurrentVersionHigher) { + applyMigrators(settingsMigrators, data, prevVersion); + console.log(`Settings successfully migrated to v${LATEST_VERSION}!`); } } diff --git a/src/system/version_migration/versions/v1_0_4.ts b/src/system/version_migration/versions/v1_0_4.ts index 16bd9db9915..2139352b783 100644 --- a/src/system/version_migration/versions/v1_0_4.ts +++ b/src/system/version_migration/versions/v1_0_4.ts @@ -4,15 +4,18 @@ import { AbilityAttr, defaultStarterSpecies, DexAttr } from "#app/system/game-da import { allSpecies } from "#app/data/pokemon-species"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { isNullOrUndefined } from "#app/utils"; +import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; +import type { SettingsSaveMigrator } from "#app/@types/SettingsSaveMigrator"; +import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; -export const systemMigrators = [ - /** - * Migrate ability starter data if empty for caught species. - * @param data {@linkcode SystemSaveData} - */ - function migrateAbilityData(data: SystemSaveData) { +/** + * Migrate ability starter data if empty for caught species. + * @param data - {@linkcode SystemSaveData} + */ +const migrateAbilityData: SystemSaveMigrator = { + version: "1.0.4", + migrate: (data: SystemSaveData): void => { if (data.starterData && data.dexData) { - // biome-ignore lint/complexity/noForEach: Object.keys(data.starterData).forEach(sd => { if (data.dexData[sd]?.caughtAttr && data.starterData[sd] && !data.starterData[sd].abilityAttr) { data.starterData[sd].abilityAttr = 1; @@ -20,12 +23,15 @@ export const systemMigrators = [ }); } }, +}; - /** - * Populate legendary Pokémon statistics if they are missing. - * @param data {@linkcode SystemSaveData} - */ - function fixLegendaryStats(data: SystemSaveData) { +/** + * Populate legendary Pokémon statistics if they are missing. + * @param data - {@linkcode SystemSaveData} + */ +const fixLegendaryStats: SystemSaveMigrator = { + version: "1.0.4", + migrate: (data: SystemSaveData): void => { if ( data.gameStats && data.gameStats.legendaryPokemonCaught !== undefined && @@ -34,7 +40,6 @@ export const systemMigrators = [ data.gameStats.subLegendaryPokemonSeen = 0; data.gameStats.subLegendaryPokemonCaught = 0; data.gameStats.subLegendaryPokemonHatched = 0; - // biome-ignore lint/complexity/noForEach: allSpecies .filter(s => s.subLegendary) .forEach(s => { @@ -66,12 +71,15 @@ export const systemMigrators = [ ); } }, +}; - /** - * Unlock all starters' first ability and female gender option. - * @param data {@linkcode SystemSaveData} - */ - function fixStarterData(data: SystemSaveData) { +/** + * Unlock all starters' first ability and female gender option. + * @param data - {@linkcode SystemSaveData} + */ +const fixStarterData: SystemSaveMigrator = { + version: "1.0.4", + migrate: (data: SystemSaveData): void => { if (!isNullOrUndefined(data.starterData)) { for (const starterId of defaultStarterSpecies) { if (data.starterData[starterId]?.abilityAttr) { @@ -83,17 +91,22 @@ export const systemMigrators = [ } } }, +}; + +export const systemMigrators: Readonly = [ + migrateAbilityData, + fixLegendaryStats, + fixStarterData, ] as const; -export const settingsMigrators = [ - /** - * Migrate from "REROLL_TARGET" property to {@linkcode - * SettingKeys.Shop_Cursor_Target}. - * @param data the `settings` object - */ - - // biome-ignore lint/complexity/noBannedTypes: TODO: fix the type to not be object... - function fixRerollTarget(data: Object) { +/** + * Migrate from `REROLL_TARGET` property to {@linkcode SettingKeys.Shop_Cursor_Target} + * @param data - The `settings` object + */ +const fixRerollTarget: SettingsSaveMigrator = { + version: "1.0.4", + // biome-ignore lint/complexity/noBannedTypes: TODO - refactor settings + migrate: (data: Object): void => { if (data.hasOwnProperty("REROLL_TARGET") && !data.hasOwnProperty(SettingKeys.Shop_Cursor_Target)) { data[SettingKeys.Shop_Cursor_Target] = data["REROLL_TARGET"]; // biome-ignore lint/performance/noDelete: intentional @@ -101,16 +114,20 @@ export const settingsMigrators = [ localStorage.setItem("settings", JSON.stringify(data)); } }, -] as const; +}; -export const sessionMigrators = [ - /** - * Converts old lapsing modifiers (battle items, lures, and Dire Hit) and - * other miscellaneous modifiers (vitamins, White Herb) to any new class - * names and/or change in reload arguments. - * @param data {@linkcode SessionSaveData} - */ - function migrateModifiers(data: SessionSaveData) { +export const settingsMigrators: Readonly = [fixRerollTarget] as const; + +/** + * Converts old lapsing modifiers (battle items, lures, and Dire Hit) and + * other miscellaneous modifiers (vitamins, White Herb) to any new class + * names and/or change in reload arguments. + * @param data - {@linkcode SessionSaveData} + */ +const migrateModifiers: SessionSaveMigrator = { + version: "1.0.4", + // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: necessary? + migrate: (data: SessionSaveData): void => { for (const m of data.modifiers) { if (m.className === "PokemonBaseStatModifier") { m.className = "BaseStatModifier"; @@ -163,12 +180,11 @@ export const sessionMigrators = [ } } }, - /** - * Converts old Pokemon natureOverride and mysteryEncounterData - * to use the new conjoined {@linkcode Pokemon.customPokemonData} structure instead. - * @param data {@linkcode SessionSaveData} - */ - function migrateCustomPokemonDataAndNatureOverrides(data: SessionSaveData) { +}; + +const migrateCustomPokemonData: SessionSaveMigrator = { + version: "1.0.4", + migrate: (data: SessionSaveData): void => { // Fix Pokemon nature overrides and custom data migration for (const pokemon of data.party) { if (pokemon["mysteryEncounterPokemonData"]) { @@ -186,4 +202,6 @@ export const sessionMigrators = [ } } }, -] as const; +}; + +export const sessionMigrators: Readonly = [migrateModifiers, migrateCustomPokemonData] as const; diff --git a/src/system/version_migration/versions/v1_1_0.ts b/src/system/version_migration/versions/v1_1_0.ts deleted file mode 100644 index 5d6247aeaa2..00000000000 --- a/src/system/version_migration/versions/v1_1_0.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const systemMigrators = [] as const; - -export const settingsMigrators = [] as const; - -export const sessionMigrators = [] as const; diff --git a/src/system/version_migration/versions/v1_7_0.ts b/src/system/version_migration/versions/v1_7_0.ts index 167cd974e56..a1213ccf64c 100644 --- a/src/system/version_migration/versions/v1_7_0.ts +++ b/src/system/version_migration/versions/v1_7_0.ts @@ -1,15 +1,18 @@ +import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; +import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { globalScene } from "#app/global-scene"; import { DexAttr, type SessionSaveData, type SystemSaveData } from "#app/system/game-data"; -import * as Utils from "#app/utils"; +import { isNullOrUndefined } from "#app/utils"; -export const systemMigrators = [ - /** - * If a starter is caught, but the only forms registered as caught are not starterSelectable, - * unlock the default form. - * @param data {@linkcode SystemSaveData} - */ - function migrateUnselectableForms(data: SystemSaveData) { +/** + * If a starter is caught, but the only forms registered as caught are not starterSelectable, + * unlock the default form. + * @param data - {@linkcode SystemSaveData} + */ +const migrateUnselectableForms: SystemSaveMigrator = { + version: "1.7.0", + migrate: (data: SystemSaveData): void => { if (data.starterData && data.dexData) { Object.keys(data.starterData).forEach(sd => { const caughtAttr = data.dexData[sd]?.caughtAttr; @@ -30,12 +33,13 @@ export const systemMigrators = [ }); } }, -] as const; +}; -export const settingsMigrators = [] as const; +export const systemMigrators: Readonly = [migrateUnselectableForms] as const; -export const sessionMigrators = [ - function migrateTera(data: SessionSaveData) { +const migrateTera: SessionSaveMigrator = { + version: "1.7.0", + migrate: (data: SessionSaveData): void => { for (let i = 0; i < data.modifiers.length; ) { if (data.modifiers[i].className === "TerastallizeModifier") { data.party.forEach(p => { @@ -63,15 +67,17 @@ export const sessionMigrators = [ } data.party.forEach(p => { - if (Utils.isNullOrUndefined(p.teraType)) { + if (isNullOrUndefined(p.teraType)) { p.teraType = getPokemonSpeciesForm(p.species, p.formIndex).type1; } }); data.enemyParty.forEach(p => { - if (Utils.isNullOrUndefined(p.teraType)) { + if (isNullOrUndefined(p.teraType)) { p.teraType = getPokemonSpeciesForm(p.species, p.formIndex).type1; } }); }, -] as const; +}; + +export const sessionMigrators: Readonly = [migrateTera] as const; diff --git a/src/system/version_migration/versions/v1_8_3.ts b/src/system/version_migration/versions/v1_8_3.ts index d35530c28e9..6e2d96d3673 100644 --- a/src/system/version_migration/versions/v1_8_3.ts +++ b/src/system/version_migration/versions/v1_8_3.ts @@ -1,14 +1,16 @@ +import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { DexAttr, type SystemSaveData } from "#app/system/game-data"; import { Species } from "#enums/species"; -export const systemMigrators = [ - /** - * If a starter is caught, but the only forms registered as caught are not starterSelectable, - * unlock the default form. - * @param data {@linkcode SystemSaveData} - */ - function migratePichuForms(data: SystemSaveData) { +/** + * If a starter is caught, but the only forms registered as caught are not starterSelectable, + * unlock the default form. + * @param data - {@linkcode SystemSaveData} + */ +const migratePichuForms: SystemSaveMigrator = { + version: "1.8.3", + migrate: (data: SystemSaveData): void => { if (data.starterData && data.dexData) { // This is Pichu's Pokédex number const sd = 172; @@ -23,8 +25,6 @@ export const systemMigrators = [ } } }, -] as const; +}; -export const settingsMigrators = [] as const; - -export const sessionMigrators = [] as const; +export const systemMigrators: Readonly = [migratePichuForms] as const; From cb5deb408ff75310cf4fca403099d3b57f4c376d Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sun, 6 Apr 2025 21:25:20 -0700 Subject: [PATCH 010/102] [Refactor] Delete stale pokemon objects at the end of a battle Co-authored-by: Frutescens --- src/phases/battle-end-phase.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index ff17b17ab8b..dea575a71b3 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -73,6 +73,11 @@ export class BattleEndPhase extends BattlePhase { } globalScene.clearEnemyHeldItemModifiers(); + try { + globalScene.getEnemyParty().forEach(p => p.destroy()); + } catch { + console.warn("Unable to destroy stale pokemon objects in BattleEndPhase."); + } const lapsingModifiers = globalScene.findModifiers( m => m instanceof LapsingPersistentModifier || m instanceof LapsingPokemonHeldItemModifier, From 17a56cc6c1d2dfebfd6fbb0045fb742b421ccb7b Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:57:50 -0700 Subject: [PATCH 011/102] Move `try/catch` inside `for` loop Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> --- src/phases/battle-end-phase.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index dea575a71b3..645b04aea46 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -73,10 +73,12 @@ export class BattleEndPhase extends BattlePhase { } globalScene.clearEnemyHeldItemModifiers(); - try { - globalScene.getEnemyParty().forEach(p => p.destroy()); - } catch { - console.warn("Unable to destroy stale pokemon objects in BattleEndPhase."); + for (const p of globalScene.getEnemyParty()) { + try { + p.destroy(); + } catch { + console.warn("Unable to destroy stale pokemon objects in BattleEndPhase."); + } } const lapsingModifiers = globalScene.findModifiers( From 1171656d12b6333bfda5ff9c10b55d393d21898f Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Mon, 7 Apr 2025 16:02:58 -0700 Subject: [PATCH 012/102] Update console message --- src/phases/battle-end-phase.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index 645b04aea46..0d831c65b52 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -77,7 +77,7 @@ export class BattleEndPhase extends BattlePhase { try { p.destroy(); } catch { - console.warn("Unable to destroy stale pokemon objects in BattleEndPhase."); + console.warn("Unable to destroy stale pokemon object in BattleEndPhase:", p); } } From 31835e6d534b0a399df01222633f3d5ba8eaa81d Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Mon, 7 Apr 2025 16:32:10 -0700 Subject: [PATCH 013/102] [Bug] Fix #4972 Status-Prevention Abilities do not Cure Status (#5406) * Add PostSummonHealAbAttr and give it to appropriate abilities * Add attr to insomnia * Remove attr from leaf guard (it does not activate on gain with sun up) * Add tests and remove attr from shields down * Add PostSummonRemoveBattlerTag and give it to oblivious and own tempo * Add tests for oblivious and own tempo * Fix oblivious test sometimes failing * Remove Comatose changes as it doesn't reapply * Remove unused tagRemoved field * Fix tests checking status instead of tag * Fix attr comments * Add PostSetStatusHealStatusAbAttr * Add ResetStatusPhase * Modify pokemon.resetStatus to use ResetStatusPhase * Move post status effects to ObtainStatusEffectPhase * Ensure status overriding (ie rest) works properly * Add PostApplyBattlerTagRemoveTagAbAttr for own tempo and oblivious * Guard removeTag call in PostApplyBattlerTagRemoveTagAbAttr * Commenting * Handle Mold Breaker case in MoveEndPhase * Remove PostSummonHealStatusAbAttr from purifying salt * Fix not passing overrideStatus to canSetStatus * Apply suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Add isNullOrUndefined import * Add canApply to new attrs * Add followup argument back * Remove guard around new MoveEndPhase --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/data/ability.ts | 78 ++++++++++++++++++++++++ src/data/moves/move.ts | 12 ++-- src/field/pokemon.ts | 38 +++--------- src/phases/move-end-phase.ts | 17 +++++- src/phases/move-phase.ts | 10 ++- src/phases/obtain-status-effect-phase.ts | 9 +++ src/phases/reset-status-phase.ts | 44 +++++++++++++ test/abilities/immunity.test.ts | 51 ++++++++++++++++ test/abilities/insomnia.test.ts | 51 ++++++++++++++++ test/abilities/limber.test.ts | 51 ++++++++++++++++ test/abilities/magma_armor.test.ts | 51 ++++++++++++++++ test/abilities/oblivious.test.ts | 69 +++++++++++++++++++++ test/abilities/own_tempo.test.ts | 51 ++++++++++++++++ test/abilities/thermal_exchange.test.ts | 51 ++++++++++++++++ test/abilities/vital_spirit.test.ts | 51 ++++++++++++++++ test/abilities/water_bubble.test.ts | 51 ++++++++++++++++ test/abilities/water_veil.test.ts | 51 ++++++++++++++++ 17 files changed, 693 insertions(+), 43 deletions(-) create mode 100644 src/phases/reset-status-phase.ts create mode 100644 test/abilities/immunity.test.ts create mode 100644 test/abilities/insomnia.test.ts create mode 100644 test/abilities/limber.test.ts create mode 100644 test/abilities/magma_armor.test.ts create mode 100644 test/abilities/oblivious.test.ts create mode 100644 test/abilities/own_tempo.test.ts create mode 100644 test/abilities/thermal_exchange.test.ts create mode 100644 test/abilities/vital_spirit.test.ts create mode 100644 test/abilities/water_bubble.test.ts create mode 100644 test/abilities/water_veil.test.ts diff --git a/src/data/ability.ts b/src/data/ability.ts index a7107ce2e9d..f8c9b4cb8fe 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -2295,6 +2295,11 @@ export class PostSummonAbAttr extends AbAttr { applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void {} } +/** + * Base class for ability attributes which remove an effect on summon + */ +export class PostSummonRemoveEffectAbAttr extends PostSummonAbAttr {} + /** * Removes specified arena tags when a Pokemon is summoned. */ @@ -2405,6 +2410,31 @@ export class PostSummonAddBattlerTagAbAttr extends PostSummonAbAttr { } } +/** + * Removes Specific battler tags when a Pokemon is summoned + * + * This should realistically only ever activate on gain rather than on summon + */ +export class PostSummonRemoveBattlerTagAbAttr extends PostSummonRemoveEffectAbAttr { + private immuneTags: BattlerTagType[]; + + /** + * @param immuneTags - The {@linkcode BattlerTagType | battler tags} the Pokémon is immune to. + */ + constructor(...immuneTags: BattlerTagType[]) { + super(); + this.immuneTags = immuneTags; + } + + public override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { + return this.immuneTags.some(tagType => !!pokemon.getTag(tagType)); + } + + public override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { + this.immuneTags.forEach(tagType => pokemon.removeTag(tagType)); + } +} + export class PostSummonStatStageChangeAbAttr extends PostSummonAbAttr { private stats: BattleStat[]; private stages: number; @@ -2592,6 +2622,43 @@ export class PostSummonTerrainChangeAbAttr extends PostSummonAbAttr { } } +/** + * Heals a status effect if the Pokemon is afflicted with it upon switch in (or gain) + */ +export class PostSummonHealStatusAbAttr extends PostSummonRemoveEffectAbAttr { + private immuneEffects: StatusEffect[]; + private statusHealed: StatusEffect; + + /** + * @param immuneEffects - The {@linkcode StatusEffect}s the Pokémon is immune to. + */ + constructor(...immuneEffects: StatusEffect[]) { + super(); + this.immuneEffects = immuneEffects; + } + + public override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { + const status = pokemon.status?.effect; + return !Utils.isNullOrUndefined(status) && (this.immuneEffects.length < 1 || this.immuneEffects.includes(status)) + } + + public override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { + const status = pokemon.status?.effect; + if (!Utils.isNullOrUndefined(status)) { + this.statusHealed = status; + pokemon.resetStatus(false); + pokemon.updateInfo(); + } + } + + public override getTriggerMessage(_pokemon: Pokemon, _abilityName: string, ..._args: any[]): string | null { + if (this.statusHealed) { + return getStatusEffectHealText(this.statusHealed, getPokemonNameWithAffix(_pokemon)); + } + return null; + } +} + export class PostSummonFormChangeAbAttr extends PostSummonAbAttr { private formFunc: (p: Pokemon) => number; @@ -6291,6 +6358,7 @@ export function initAbilities() { .ignorable(), new Ability(Abilities.LIMBER, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.PARALYSIS) + .attr(PostSummonHealStatusAbAttr, StatusEffect.PARALYSIS) .ignorable(), new Ability(Abilities.SAND_VEIL, 3) .attr(StatMultiplierAbAttr, Stat.EVA, 1.2) @@ -6308,6 +6376,7 @@ export function initAbilities() { .ignorable(), new Ability(Abilities.OBLIVIOUS, 3) .attr(BattlerTagImmunityAbAttr, [ BattlerTagType.INFATUATED, BattlerTagType.TAUNT ]) + .attr(PostSummonRemoveBattlerTagAbAttr, BattlerTagType.INFATUATED, BattlerTagType.TAUNT) .attr(IntimidateImmunityAbAttr) .ignorable(), new Ability(Abilities.CLOUD_NINE, 3) @@ -6320,6 +6389,7 @@ export function initAbilities() { .attr(StatMultiplierAbAttr, Stat.ACC, 1.3), new Ability(Abilities.INSOMNIA, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.SLEEP) + .attr(PostSummonHealStatusAbAttr, StatusEffect.SLEEP) .attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .ignorable(), new Ability(Abilities.COLOR_CHANGE, 3) @@ -6327,6 +6397,7 @@ export function initAbilities() { .condition(getSheerForceHitDisableAbCondition()), new Ability(Abilities.IMMUNITY, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) + .attr(PostSummonHealStatusAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) .ignorable(), new Ability(Abilities.FLASH_FIRE, 3) .attr(TypeImmunityAddBattlerTagAbAttr, PokemonType.FIRE, BattlerTagType.FIRE_BOOST, 1) @@ -6336,6 +6407,7 @@ export function initAbilities() { .ignorable(), new Ability(Abilities.OWN_TEMPO, 3) .attr(BattlerTagImmunityAbAttr, BattlerTagType.CONFUSED) + .attr(PostSummonRemoveBattlerTagAbAttr, BattlerTagType.CONFUSED) .attr(IntimidateImmunityAbAttr) .ignorable(), new Ability(Abilities.SUCTION_CUPS, 3) @@ -6401,9 +6473,11 @@ export function initAbilities() { .ignorable(), new Ability(Abilities.MAGMA_ARMOR, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.FREEZE) + .attr(PostSummonHealStatusAbAttr, StatusEffect.FREEZE) .ignorable(), new Ability(Abilities.WATER_VEIL, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) + .attr(PostSummonHealStatusAbAttr, StatusEffect.BURN) .ignorable(), new Ability(Abilities.MAGNET_PULL, 3) .attr(ArenaTrapAbAttr, (user, target) => { @@ -6497,6 +6571,7 @@ export function initAbilities() { .attr(DoubleBattleChanceAbAttr), new Ability(Abilities.VITAL_SPIRIT, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.SLEEP) + .attr(PostSummonHealStatusAbAttr, StatusEffect.SLEEP) .attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .ignorable(), new Ability(Abilities.WHITE_SMOKE, 3) @@ -6835,6 +6910,7 @@ export function initAbilities() { .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), new Ability(Abilities.SWEET_VEIL, 6) .attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.SLEEP) + .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.SLEEP) .attr(UserFieldBattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .ignorable() .partial(), // Mold Breaker ally should not be affected by Sweet Veil @@ -6919,6 +6995,7 @@ export function initAbilities() { .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5) .attr(MoveTypePowerBoostAbAttr, PokemonType.WATER, 2) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) + .attr(PostSummonHealStatusAbAttr, StatusEffect.BURN) .ignorable(), new Ability(Abilities.STEELWORKER, 7) .attr(MoveTypePowerBoostAbAttr, PokemonType.STEEL), @@ -7197,6 +7274,7 @@ export function initAbilities() { new Ability(Abilities.THERMAL_EXCHANGE, 9) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.FIRE && move.category !== MoveCategory.STATUS, Stat.ATK, 1) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) + .attr(PostSummonHealStatusAbAttr, StatusEffect.BURN) .ignorable(), new Ability(Abilities.ANGER_SHELL, 9) .attr(PostDefendHpGatedStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ Stat.ATK, Stat.SPATK, Stat.SPD ], 1) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 7a820d984d0..1af4be4fdf0 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -2443,12 +2443,8 @@ export class StatusEffectAttr extends MoveEffectAttr { const statusCheck = moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance; if (statusCheck) { const pokemon = this.selfTarget ? user : target; - if (pokemon.status) { - if (this.overrideStatus) { - pokemon.resetStatus(); - } else { - return false; - } + if (pokemon.status && !this.overrideStatus) { + return false; } if (user !== target && target.isSafeguarded(user)) { @@ -2457,8 +2453,8 @@ export class StatusEffectAttr extends MoveEffectAttr { } return false; } - if ((!pokemon.status || (pokemon.status.effect === this.effect && moveChance < 0)) - && pokemon.trySetStatus(this.effect, true, user, this.turnsRemaining)) { + if (((!pokemon.status || this.overrideStatus) || (pokemon.status.effect === this.effect && moveChance < 0)) + && pokemon.trySetStatus(this.effect, true, user, this.turnsRemaining, null, this.overrideStatus)) { applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null, false, this.effect); return true; } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index f3e758e4efd..7d856696188 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -264,6 +264,7 @@ import { StatusEffect } from "#enums/status-effect"; import { doShinySparkleAnim } from "#app/field/anims"; import { MoveFlags } from "#enums/MoveFlags"; import { timedEventManager } from "#app/global-event-manager"; +import { ResetStatusPhase } from "#app/phases/reset-status-phase"; export enum LearnMoveSituation { MISC, @@ -4809,7 +4810,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (newTag.canAdd(this)) { this.summonData.tags.push(newTag); newTag.onAdd(this); - return true; } @@ -5480,8 +5480,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sourcePokemon: Pokemon | null = null, turnsRemaining = 0, sourceText: string | null = null, + overrideStatus?: boolean ): boolean { - if (!this.canSetStatus(effect, asPhase, false, sourcePokemon)) { + if (!this.canSetStatus(effect, asPhase, overrideStatus, sourcePokemon)) { return false; } if (this.isFainted() && effect !== StatusEffect.FAINT) { @@ -5497,6 +5498,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } if (asPhase) { + if (overrideStatus) { + this.resetStatus(false); + } globalScene.unshiftPhase( new ObtainStatusEffectPhase( this.getBattlerIndex(), @@ -5536,20 +5540,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { effect = effect!; // If `effect` is undefined then `trySetStatus()` will have already returned early via the `canSetStatus()` call this.status = new Status(effect, 0, sleepTurnsRemaining?.value); - if (effect !== StatusEffect.FAINT) { - globalScene.triggerPokemonFormChange( - this, - SpeciesFormChangeStatusEffectTrigger, - true, - ); - applyPostSetStatusAbAttrs( - PostSetStatusAbAttr, - this, - effect, - sourcePokemon, - ); - } - return true; } @@ -5564,21 +5554,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (!revive && lastStatus === StatusEffect.FAINT) { return; } - this.status = null; - if (lastStatus === StatusEffect.SLEEP) { - this.setFrameRate(10); - if (this.getTag(BattlerTagType.NIGHTMARE)) { - this.lapseTag(BattlerTagType.NIGHTMARE); - } - } - if (confusion) { - if (this.getTag(BattlerTagType.CONFUSED)) { - this.lapseTag(BattlerTagType.CONFUSED); - } - } - if (reloadAssets) { - this.loadAssets(false).then(() => this.playAnim()); - } + globalScene.unshiftPhase(new ResetStatusPhase(this, confusion, reloadAssets)); } /** diff --git a/src/phases/move-end-phase.ts b/src/phases/move-end-phase.ts index 53856956401..176abee5e98 100644 --- a/src/phases/move-end-phase.ts +++ b/src/phases/move-end-phase.ts @@ -2,11 +2,18 @@ import { globalScene } from "#app/global-scene"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { PokemonPhase } from "./pokemon-phase"; import type { BattlerIndex } from "#app/battle"; +import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/ability"; +import type Pokemon from "#app/field/pokemon"; export class MoveEndPhase extends PokemonPhase { private wasFollowUp: boolean; - constructor(battlerIndex: BattlerIndex, wasFollowUp = false) { + + /** Targets from the preceding MovePhase */ + private targets: Pokemon[]; + constructor(battlerIndex: BattlerIndex, targets: Pokemon[], wasFollowUp = false) { super(battlerIndex); + + this.targets = targets; this.wasFollowUp = wasFollowUp; } @@ -17,9 +24,15 @@ export class MoveEndPhase extends PokemonPhase { if (!this.wasFollowUp && pokemon?.isActive(true)) { pokemon.lapseTags(BattlerTagLapseType.AFTER_MOVE); } - globalScene.arena.setIgnoreAbilities(false); + // Remove effects which were set on a Pokemon which removes them on summon (i.e. via Mold Breaker) + for (const target of this.targets) { + if (target) { + applyPostSummonAbAttrs(PostSummonRemoveEffectAbAttr, target); + } + } + this.end(); } } diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 5232dfee8ba..478229dcae8 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -169,7 +169,11 @@ export class MovePhase extends BattlePhase { // Check move to see if arena.ignoreAbilities should be true. if (!this.followUp || this.reflected) { - if (this.move.getMove().doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user: this.pokemon, isFollowUp: this.followUp })) { + if ( + this.move + .getMove() + .doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user: this.pokemon, isFollowUp: this.followUp }) + ) { globalScene.arena.setIgnoreAbilities(true, this.pokemon.getBattlerIndex()); } } @@ -473,7 +477,9 @@ export class MovePhase extends BattlePhase { * Queues a {@linkcode MoveEndPhase} and then ends the phase */ public end(): void { - globalScene.unshiftPhase(new MoveEndPhase(this.pokemon.getBattlerIndex(), this.followUp)); + globalScene.unshiftPhase( + new MoveEndPhase(this.pokemon.getBattlerIndex(), this.getActiveTargetPokemon(), this.followUp), + ); super.end(); } diff --git a/src/phases/obtain-status-effect-phase.ts b/src/phases/obtain-status-effect-phase.ts index a0c0c14e93f..cba9399b996 100644 --- a/src/phases/obtain-status-effect-phase.ts +++ b/src/phases/obtain-status-effect-phase.ts @@ -6,6 +6,9 @@ import { StatusEffect } from "#app/enums/status-effect"; import type Pokemon from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonPhase } from "./pokemon-phase"; +import { SpeciesFormChangeStatusEffectTrigger } from "#app/data/pokemon-forms"; +import { applyPostSetStatusAbAttrs, PostSetStatusAbAttr } from "#app/data/ability"; +import { isNullOrUndefined } from "#app/utils"; export class ObtainStatusEffectPhase extends PokemonPhase { private statusEffect?: StatusEffect; @@ -44,6 +47,12 @@ export class ObtainStatusEffectPhase extends PokemonPhase { this.sourceText ?? undefined, ), ); + if (!isNullOrUndefined(this.statusEffect) && this.statusEffect !== StatusEffect.FAINT) { + globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeStatusEffectTrigger, true); + // If mold breaker etc was used to set this status, it shouldn't apply to abilities activated afterwards + globalScene.arena.setIgnoreAbilities(false); + applyPostSetStatusAbAttrs(PostSetStatusAbAttr, pokemon, this.statusEffect, this.sourcePokemon); + } this.end(); }); return; diff --git a/src/phases/reset-status-phase.ts b/src/phases/reset-status-phase.ts new file mode 100644 index 00000000000..0ba3559d9b7 --- /dev/null +++ b/src/phases/reset-status-phase.ts @@ -0,0 +1,44 @@ +import type Pokemon from "#app/field/pokemon"; +import { BattlePhase } from "#app/phases/battle-phase"; +import { BattlerTagType } from "#enums/battler-tag-type"; +import { StatusEffect } from "#enums/status-effect"; + +/** + * Phase which handles resetting a Pokemon's status to none + * + * This is necessary to perform in a phase primarly to ensure that the status icon disappears at the correct time in the battle + */ +export class ResetStatusPhase extends BattlePhase { + private readonly pokemon: Pokemon; + private readonly affectConfusion: boolean; + private readonly reloadAssets: boolean; + + constructor(pokemon: Pokemon, affectConfusion: boolean, reloadAssets: boolean) { + super(); + + this.pokemon = pokemon; + this.affectConfusion = affectConfusion; + this.reloadAssets = reloadAssets; + } + + public override start() { + const lastStatus = this.pokemon.status?.effect; + this.pokemon.status = null; + if (lastStatus === StatusEffect.SLEEP) { + this.pokemon.setFrameRate(10); + if (this.pokemon.getTag(BattlerTagType.NIGHTMARE)) { + this.pokemon.lapseTag(BattlerTagType.NIGHTMARE); + } + } + if (this.affectConfusion) { + if (this.pokemon.getTag(BattlerTagType.CONFUSED)) { + this.pokemon.lapseTag(BattlerTagType.CONFUSED); + } + } + if (this.reloadAssets) { + this.pokemon.loadAssets(false).then(() => this.pokemon.playAnim()); + } + this.pokemon.updateInfo(true); + this.end(); + } +} diff --git a/test/abilities/immunity.test.ts b/test/abilities/immunity.test.ts new file mode 100644 index 00000000000..51e9598720b --- /dev/null +++ b/test/abilities/immunity.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Immunity", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove poison when gained", async () => { + game.override.ability(Abilities.IMMUNITY) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.POISON); + expect(enemy?.status?.effect).toBe(StatusEffect.POISON); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/insomnia.test.ts b/test/abilities/insomnia.test.ts new file mode 100644 index 00000000000..91fdc3fc668 --- /dev/null +++ b/test/abilities/insomnia.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Insomnia", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove sleep when gained", async () => { + game.override.ability(Abilities.INSOMNIA) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.SLEEP); + expect(enemy?.status?.effect).toBe(StatusEffect.SLEEP); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/limber.test.ts b/test/abilities/limber.test.ts new file mode 100644 index 00000000000..2b167cc155f --- /dev/null +++ b/test/abilities/limber.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Limber", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove paralysis when gained", async () => { + game.override.ability(Abilities.LIMBER) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.PARALYSIS); + expect(enemy?.status?.effect).toBe(StatusEffect.PARALYSIS); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/magma_armor.test.ts b/test/abilities/magma_armor.test.ts new file mode 100644 index 00000000000..b1d62f948d2 --- /dev/null +++ b/test/abilities/magma_armor.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Magma Armor", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove freeze when gained", async () => { + game.override.ability(Abilities.MAGMA_ARMOR) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.FREEZE); + expect(enemy?.status?.effect).toBe(StatusEffect.FREEZE); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/oblivious.test.ts b/test/abilities/oblivious.test.ts new file mode 100644 index 00000000000..d5089ef6a72 --- /dev/null +++ b/test/abilities/oblivious.test.ts @@ -0,0 +1,69 @@ +import { Abilities } from "#enums/abilities"; +import { BattlerTagType } from "#enums/battler-tag-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Oblivious", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove taunt when gained", async () => { + game.override.ability(Abilities.OBLIVIOUS) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.addTag(BattlerTagType.TAUNT); + expect(enemy?.getTag(BattlerTagType.TAUNT)).toBeTruthy(); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.getTag(BattlerTagType.TAUNT)).toBeFalsy(); + }); + + it("should remove infatuation when gained", async () => { + game.override.ability(Abilities.OBLIVIOUS) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + vi.spyOn(enemy!, "isOppositeGender").mockReturnValue(true); + enemy?.addTag(BattlerTagType.INFATUATED, 5, Moves.JUDGMENT, game.scene.getPlayerPokemon()?.id); // sourceID needs to be defined + expect(enemy?.getTag(BattlerTagType.INFATUATED)).toBeTruthy(); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.getTag(BattlerTagType.INFATUATED)).toBeFalsy(); + }); +}); diff --git a/test/abilities/own_tempo.test.ts b/test/abilities/own_tempo.test.ts new file mode 100644 index 00000000000..936b4311b20 --- /dev/null +++ b/test/abilities/own_tempo.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { BattlerTagType } from "#enums/battler-tag-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Own Tempo", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove confusion when gained", async () => { + game.override.ability(Abilities.OWN_TEMPO) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.addTag(BattlerTagType.CONFUSED); + expect(enemy?.getTag(BattlerTagType.CONFUSED)).toBeTruthy(); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.getTag(BattlerTagType.CONFUSED)).toBeFalsy(); + }); +}); diff --git a/test/abilities/thermal_exchange.test.ts b/test/abilities/thermal_exchange.test.ts new file mode 100644 index 00000000000..124c1dba286 --- /dev/null +++ b/test/abilities/thermal_exchange.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Thermal Exchange", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove burn when gained", async () => { + game.override.ability(Abilities.THERMAL_EXCHANGE) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.BURN); + expect(enemy?.status?.effect).toBe(StatusEffect.BURN); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/vital_spirit.test.ts b/test/abilities/vital_spirit.test.ts new file mode 100644 index 00000000000..3a53c3f520e --- /dev/null +++ b/test/abilities/vital_spirit.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Vital Spirit", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove sleep when gained", async () => { + game.override.ability(Abilities.INSOMNIA) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.SLEEP); + expect(enemy?.status?.effect).toBe(StatusEffect.SLEEP); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/water_bubble.test.ts b/test/abilities/water_bubble.test.ts new file mode 100644 index 00000000000..0b85a5814da --- /dev/null +++ b/test/abilities/water_bubble.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Water Bubble", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove burn when gained", async () => { + game.override.ability(Abilities.THERMAL_EXCHANGE) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.BURN); + expect(enemy?.status?.effect).toBe(StatusEffect.BURN); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); diff --git a/test/abilities/water_veil.test.ts b/test/abilities/water_veil.test.ts new file mode 100644 index 00000000000..38c9a05600b --- /dev/null +++ b/test/abilities/water_veil.test.ts @@ -0,0 +1,51 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Abilities - Water Veil", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should remove burn when gained", async () => { + game.override.ability(Abilities.THERMAL_EXCHANGE) + .enemyAbility(Abilities.BALL_FETCH) + .moveset(Moves.SKILL_SWAP) + .enemyMoveset(Moves.SPLASH), + + await game.classicMode.startBattle([ Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon(); + enemy?.trySetStatus(StatusEffect.BURN); + expect(enemy?.status?.effect).toBe(StatusEffect.BURN); + + game.move.select(Moves.SKILL_SWAP); + await game.phaseInterceptor.to("BerryPhase"); + + expect(enemy?.status).toBeNull(); + }); +}); From 787feceb14f0cd635ca833e94a877b6fe379e50a Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Wed, 9 Apr 2025 10:43:05 -0500 Subject: [PATCH 014/102] [Refactor] Refactor variant sprite code part 1 (#5592) * Move exp to its own masterlist, simplify initVariantData * Update test/sprites/pokemonSprite.test.ts * Extract loadPokemonVariantAssets out of BattleScene * move variant.ts and update pokemon.loadAssets * Add fuzzy matching for applying variant recolors * Move glsl shaders to their own files * Remove extra variants from shader masterlist Their exp sprites have since been removed. Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com> * Make exp sprite keys a set instead of an array * Remove outdated exp sprite jsons Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com> --------- Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com> --- .../pokemon/variant/_exp_masterlist.json | 656 +++++++++++++++++ .../images/pokemon/variant/_masterlist.json | 664 ------------------ public/images/pokemon/variant/exp/698.json | 48 -- public/images/pokemon/variant/exp/703.json | 32 - public/images/pokemon/variant/exp/708.json | 28 - public/images/pokemon/variant/exp/714.json | 32 - .../images/pokemon/variant/exp/back/698.json | 38 - .../images/pokemon/variant/exp/back/703.json | 28 - .../images/pokemon/variant/exp/back/708.json | 40 -- .../images/pokemon/variant/exp/back/714.json | 24 - scripts/find_sprite_variant_mismatches.py | 4 + src/battle-scene.ts | 137 +--- .../utils/encounter-phase-utils.ts | 2 +- src/data/pokemon-species.ts | 31 +- src/data/trainers/trainer-config.ts | 7 +- src/data/variant.ts | 31 - src/field/anims.ts | 2 +- src/field/mystery-encounter-intro.ts | 7 +- src/field/pokemon.ts | 188 ++--- src/overrides.ts | 2 +- src/pipelines/field-sprite.ts | 208 +----- src/pipelines/glsl/fieldSpriteFragShader.frag | 168 +++++ src/pipelines/glsl/invert.frag | 10 + src/pipelines/glsl/spriteFragShader.frag | 279 ++++++++ src/pipelines/glsl/spriteShader.vert | 32 + src/pipelines/invert.ts | 14 +- src/pipelines/sprite.ts | 312 +------- src/sprites/pokemon-asset-loader.ts | 11 + src/sprites/pokemon-sprite.ts | 79 +++ src/sprites/sprite-keys.ts | 1 + src/sprites/sprite-utils.ts | 28 + src/sprites/variant.ts | 145 ++++ src/system/game-data.ts | 2 +- src/system/pokemon-data.ts | 2 +- src/ui/battle-info.ts | 2 +- src/ui/hatched-pokemon-container.ts | 2 +- src/ui/party-ui-handler.ts | 2 +- src/ui/pokedex-mon-container.ts | 2 +- src/ui/pokedex-page-ui-handler.ts | 4 +- src/ui/pokedex-ui-handler.ts | 4 +- src/ui/pokemon-info-container.ts | 2 +- src/ui/run-info-ui-handler.ts | 2 +- src/ui/starter-select-ui-handler.ts | 4 +- src/ui/summary-ui-handler.ts | 4 +- src/utils.ts | 22 + test/sprites/pokemonSprite.test.ts | 13 +- test/testUtils/helpers/overridesHelper.ts | 2 +- 47 files changed, 1599 insertions(+), 1758 deletions(-) create mode 100644 public/images/pokemon/variant/_exp_masterlist.json delete mode 100644 public/images/pokemon/variant/exp/698.json delete mode 100644 public/images/pokemon/variant/exp/703.json delete mode 100644 public/images/pokemon/variant/exp/708.json delete mode 100644 public/images/pokemon/variant/exp/714.json delete mode 100644 public/images/pokemon/variant/exp/back/698.json delete mode 100644 public/images/pokemon/variant/exp/back/703.json delete mode 100644 public/images/pokemon/variant/exp/back/708.json delete mode 100644 public/images/pokemon/variant/exp/back/714.json delete mode 100644 src/data/variant.ts create mode 100644 src/pipelines/glsl/fieldSpriteFragShader.frag create mode 100644 src/pipelines/glsl/invert.frag create mode 100644 src/pipelines/glsl/spriteFragShader.frag create mode 100644 src/pipelines/glsl/spriteShader.vert create mode 100644 src/sprites/pokemon-asset-loader.ts create mode 100644 src/sprites/pokemon-sprite.ts create mode 100644 src/sprites/sprite-keys.ts create mode 100644 src/sprites/sprite-utils.ts create mode 100644 src/sprites/variant.ts diff --git a/public/images/pokemon/variant/_exp_masterlist.json b/public/images/pokemon/variant/_exp_masterlist.json new file mode 100644 index 00000000000..0ef5f209439 --- /dev/null +++ b/public/images/pokemon/variant/_exp_masterlist.json @@ -0,0 +1,656 @@ +{ + "3-mega": [0, 2, 2], + "6-mega-x": [0, 2, 2], + "6-mega-y": [0, 2, 2], + "80-mega": [0, 1, 1], + "94-mega": [2, 2, 2], + "127-mega": [0, 1, 1], + "130-mega": [0, 1, 1], + "142-mega": [0, 1, 1], + "150-mega-x": [0, 1, 1], + "150-mega-y": [0, 1, 1], + "181-mega": [0, 1, 2], + "212-mega": [1, 1, 2], + "229-mega": [0, 1, 1], + "248-mega": [0, 1, 1], + "257-mega": [0, 1, 1], + "282-mega": [0, 2, 2], + "302-mega": [0, 1, 1], + "303-mega": [0, 1, 1], + "306-mega": [1, 1, 1], + "308-mega": [0, 1, 1], + "310-mega": [0, 1, 1], + "334-mega": [0, 2, 1], + "354-mega": [0, 1, 1], + "359-mega": [0, 1, 1], + "362-mega": [0, 1, 1], + "373-mega": [0, 1, 1], + "376-mega": [0, 1, 1], + "380-mega": [0, 1, 1], + "381-mega": [0, 1, 1], + "382-primal": [0, 1, 1], + "383-primal": [0, 1, 1], + "384-mega": [0, 2, 1], + "428-mega": [0, 1, 1], + "445-mega": [1, 1, 1], + "448-mega": [1, 1, 1], + "475-mega": [0, 2, 2], + "531-mega": [0, 1, 1], + "653": [0, 1, 1], + "654": [0, 1, 1], + "655": [0, 1, 1], + "656": [0, 1, 1], + "657": [0, 1, 1], + "658": [0, 1, 1], + "658-ash": [0, 1, 1], + "664": [0, 1, 1], + "665": [0, 1, 1], + "666-archipelago": [0, 1, 1], + "666-continental": [0, 1, 1], + "666-elegant": [0, 1, 1], + "666-fancy": [0, 1, 1], + "666-garden": [0, 1, 1], + "666-high-plains": [0, 1, 1], + "666-icy-snow": [0, 1, 1], + "666-jungle": [0, 1, 1], + "666-marine": [0, 1, 1], + "666-meadow": [0, 1, 1], + "666-modern": [0, 1, 1], + "666-monsoon": [0, 1, 1], + "666-ocean": [0, 1, 1], + "666-poke-ball": [0, 1, 1], + "666-polar": [0, 1, 1], + "666-river": [0, 1, 1], + "666-sandstorm": [0, 1, 1], + "666-savanna": [0, 1, 1], + "666-sun": [0, 1, 1], + "666-tundra": [0, 1, 1], + "669-red": [0, 2, 2], + "669-blue": [0, 1, 1], + "669-white": [0, 1, 1], + "669-yellow": [0, 1, 1], + "669-orange": [0, 2, 2], + "670-white": [0, 1, 1], + "670-blue": [0, 1, 1], + "670-orange": [0, 1, 1], + "670-red": [0, 1, 1], + "670-yellow": [0, 1, 1], + "671-red": [0, 1, 2], + "671-blue": [0, 1, 2], + "671-yellow": [0, 1, 1], + "671-white": [0, 1, 2], + "671-orange": [0, 1, 2], + "672": [0, 1, 1], + "673": [0, 1, 1], + "676": [0, 1, 1], + "677": [0, 1, 1], + "678-female": [0, 1, 1], + "678": [0, 1, 1], + "682": [0, 1, 1], + "683": [0, 1, 1], + "684": [0, 1, 1], + "685": [0, 1, 1], + "688": [0, 1, 1], + "689": [0, 1, 1], + "690": [0, 1, 1], + "691": [0, 1, 1], + "696": [0, 1, 1], + "697": [0, 1, 1], + "699": [0, 1, 1], + "700": [0, 1, 1], + "702": [0, 1, 1], + "704": [0, 1, 1], + "705": [0, 1, 1], + "706": [0, 1, 1], + "709": [0, 1, 1], + "710": [0, 1, 1], + "711": [1, 1, 1], + "712": [0, 1, 1], + "713": [0, 1, 1], + "715": [0, 1, 1], + "716-active": [0, 1, 1], + "716-neutral": [0, 1, 1], + "717": [0, 2, 2], + "720-unbound": [1, 1, 1], + "720": [1, 1, 1], + "728": [0, 1, 1], + "729": [0, 1, 1], + "730": [0, 1, 1], + "734": [0, 1, 1], + "735": [0, 1, 1], + "742": [0, 2, 2], + "743": [0, 2, 2], + "747": [0, 2, 2], + "748": [0, 1, 1], + "751": [0, 1, 1], + "752": [0, 1, 1], + "753": [0, 1, 1], + "754": [0, 2, 2], + "755": [0, 1, 1], + "756": [0, 1, 1], + "761": [0, 1, 1], + "762": [0, 1, 1], + "763": [0, 1, 1], + "767": [0, 1, 1], + "768": [0, 1, 1], + "770": [0, 0, 0], + "771": [0, 2, 2], + "772": [0, 1, 1], + "773-fighting": [0, 1, 1], + "773-psychic": [0, 1, 1], + "773-poison": [0, 1, 1], + "773-ground": [0, 1, 1], + "773-ghost": [0, 1, 1], + "773-steel": [0, 1, 1], + "773-rock": [0, 1, 1], + "773-grass": [0, 1, 1], + "773-dragon": [0, 1, 1], + "773-bug": [0, 1, 1], + "773-ice": [0, 1, 1], + "773-dark": [0, 1, 1], + "773": [0, 1, 1], + "773-fairy": [0, 1, 1], + "773-water": [0, 1, 1], + "773-electric": [0, 1, 1], + "773-flying": [0, 1, 1], + "773-fire": [0, 1, 1], + "776": [0, 1, 1], + "777": [0, 1, 1], + "778-busted": [0, 1, 1], + "778-disguised": [0, 1, 1], + "779": [0, 1, 1], + "789": [1, 1, 1], + "790": [0, 1, 1], + "791": [2, 1, 1], + "792": [0, 1, 1], + "793": [0, 2, 2], + "797": [0, 1, 1], + "798": [0, 1, 1], + "800-dawn-wings": [0, 1, 1], + "800-dusk-mane": [0, 1, 1], + "800-ultra": [0, 1, 1], + "800": [0, 1, 1], + "802": [1, 1, 1], + "803": [0, 1, 1], + "804": [0, 1, 1], + "807": [0, 1, 1], + "808": [0, 1, 1], + "809": [0, 1, 1], + "816": [0, 1, 1], + "817": [0, 1, 1], + "818": [1, 1, 1], + "821": [0, 2, 2], + "822": [0, 1, 1], + "823": [0, 1, 1], + "829": [0, 1, 1], + "830": [0, 1, 1], + "835": [0, 1, 1], + "836": [0, 2, 2], + "850": [0, 1, 1], + "851": [0, 1, 1], + "854": [0, 1, 1], + "855": [0, 1, 1], + "856": [0, 1, 1], + "857": [0, 2, 2], + "858": [0, 1, 1], + "859": [0, 1, 1], + "860": [0, 1, 1], + "861": [0, 1, 1], + "862": [0, 1, 1], + "863": [0, 1, 1], + "864": [0, 1, 1], + "867": [0, 1, 1], + "872": [1, 1, 1], + "873": [1, 1, 1], + "876-female": [0, 1, 1], + "876": [0, 1, 1], + "877-hangry": [1, 1, 1], + "877": [1, 1, 1], + "880": [0, 1, 1], + "881": [0, 1, 1], + "882": [0, 2, 1], + "883": [0, 1, 1], + "884": [0, 1, 1], + "885": [1, 1, 1], + "886": [1, 1, 1], + "887": [1, 1, 1], + "888": [0, 1, 1], + "888-crowned": [0, 1, 1], + "889": [0, 1, 1], + "889-crowned": [0, 1, 1], + "890": [0, 2, 1], + "890-eternamax": [0, 1, 1], + "891": [1, 1, 1], + "892-rapid-strike": [1, 1, 1], + "892": [1, 1, 1], + "894": [0, 1, 1], + "895": [0, 1, 1], + "896": [1, 1, 1], + "897": [1, 1, 1], + "898": [1, 1, 1], + "898-ice": [1, 1, 1], + "898-shadow": [1, 1, 1], + "900": [0, 1, 1], + "901": [0, 1, 1], + "903": [0, 1, 1], + "909": [0, 1, 1], + "910": [0, 2, 2], + "911": [0, 2, 2], + "912": [0, 1, 2], + "913": [0, 1, 2], + "914": [0, 2, 1], + "919": [1, 1, 1], + "920": [1, 1, 1], + "924": [1, 1, 1], + "925-four": [1, 2, 2], + "925-three": [1, 2, 2], + "932": [0, 2, 2], + "933": [0, 2, 2], + "934": [0, 1, 1], + "935": [1, 1, 2], + "936": [2, 2, 2], + "937": [2, 2, 2], + "940": [0, 1, 1], + "941": [0, 1, 1], + "944": [0, 1, 1], + "945": [0, 1, 1], + "948": [0, 1, 1], + "949": [0, 1, 1], + "951": [0, 1, 1], + "952": [0, 1, 1], + "953": [0, 1, 1], + "954": [0, 1, 1], + "957": [2, 2, 2], + "958": [2, 2, 2], + "959": [2, 2, 2], + "962": [1, 1, 1], + "967": [0, 1, 1], + "968": [0, 1, 1], + "969": [0, 1, 1], + "970": [0, 1, 1], + "973": [1, 1, 1], + "974": [0, 1, 1], + "975": [0, 1, 1], + "978-curly": [0, 2, 2], + "978-droopy": [0, 2, 2], + "978-stretchy": [0, 2, 2], + "979": [2, 2, 2], + "981": [0, 1, 1], + "982": [0, 1, 1], + "982-three-segment": [0, 1, 1], + "987": [1, 1, 1], + "988": [0, 1, 2], + "993": [0, 1, 1], + "994": [0, 1, 2], + "995": [0, 1, 1], + "996": [0, 1, 1], + "997": [0, 2, 2], + "998": [0, 2, 2], + "999": [2, 1, 1], + "1000": [1, 1, 1], + "1001": [0, 1, 1], + "1003": [0, 1, 1], + "1004": [0, 1, 1], + "1006": [0, 2, 1], + "1007-apex-build": [0, 2, 2], + "1008-ultimate-mode": [1, 1, 1], + "2026": [0, 1, 1], + "2027": [0, 1, 1], + "2028": [0, 1, 1], + "2052": [0, 1, 1], + "2053": [0, 1, 0], + "2103": [0, 1, 1], + "4052": [0, 1, 1], + "4077": [0, 1, 1], + "4078": [0, 1, 1], + "4079": [0, 1, 1], + "4080": [2, 1, 1], + "4144": [0, 1, 1], + "4145": [0, 1, 1], + "4146": [0, 1, 1], + "4199": [2, 1, 1], + "4222": [0, 1, 1], + "4263": [0, 1, 1], + "4264": [0, 1, 1], + "4562": [0, 1, 1], + "6100": [0, 1, 1], + "6101": [0, 1, 1], + "6215": [0, 1, 1], + "6503": [0, 1, 1], + "6549": [0, 1, 1], + "6570": [0, 1, 1], + "6571": [0, 1, 1], + "6705": [0, 1, 1], + "6706": [0, 1, 1], + "6713": [0, 1, 1], + "female": { + "6215": [0, 1, 1] + }, + "back": { + "3-mega": [0, 2, 2], + "6-mega-x": [0, 2, 2], + "6-mega-y": [0, 1, 2], + "80-mega": [0, 1, 1], + "94-mega": [1, 1, 1], + "127-mega": [0, 1, 1], + "130-mega": [0, 1, 1], + "142-mega": [0, 1, 1], + "150-mega-x": [0, 1, 1], + "150-mega-y": [0, 1, 1], + "181-mega": [0, 1, 2], + "212-mega": [1, 2, 2], + "229-mega": [0, 1, 1], + "248-mega": [0, 1, 1], + "257-mega": [0, 1, 1], + "282-mega": [0, 1, 1], + "302-mega": [0, 1, 1], + "303-mega": [0, 1, 1], + "306-mega": [1, 1, 1], + "308-mega": [0, 1, 1], + "310-mega": [0, 1, 1], + "334-mega": [0, 1, 1], + "354-mega": [0, 1, 1], + "359-mega": [0, 1, 1], + "362-mega": [0, 1, 1], + "373-mega": [0, 1, 1], + "376-mega": [0, 1, 1], + "380-mega": [0, 1, 1], + "381-mega": [0, 1, 1], + "382-primal": [0, 1, 1], + "383-primal": [0, 1, 1], + "384-mega": [0, 1, 1], + "428-mega": [0, 1, 1], + "445-mega": [1, 1, 1], + "448-mega": [1, 1, 1], + "475-mega": [0, 2, 2], + "531-mega": [0, 1, 1], + "653": [0, 1, 1], + "654": [0, 1, 1], + "655": [0, 1, 1], + "656": [0, 1, 1], + "657": [0, 1, 1], + "658": [0, 1, 1], + "658-ash": [0, 1, 1], + "664": [0, 1, 1], + "665": [0, 1, 1], + "666-archipelago": [0, 1, 1], + "666-continental": [0, 1, 1], + "666-elegant": [0, 1, 1], + "666-fancy": [0, 1, 1], + "666-garden": [0, 1, 1], + "666-high-plains": [0, 1, 1], + "666-icy-snow": [0, 1, 1], + "666-jungle": [0, 1, 1], + "666-marine": [0, 1, 1], + "666-meadow": [0, 1, 1], + "666-modern": [0, 1, 1], + "666-monsoon": [0, 1, 1], + "666-ocean": [0, 1, 1], + "666-poke-ball": [0, 1, 1], + "666-polar": [0, 1, 1], + "666-river": [0, 1, 1], + "666-sandstorm": [0, 1, 1], + "666-savanna": [0, 1, 1], + "666-sun": [0, 1, 1], + "666-tundra": [0, 1, 1], + "669-red": [0, 2, 2], + "669-blue": [0, 2, 2], + "669-white": [0, 2, 2], + "669-yellow": [0, 2, 2], + "669-orange": [0, 2, 2], + "670-white": [0, 1, 1], + "670-blue": [0, 2, 2], + "670-orange": [0, 1, 1], + "670-red": [0, 1, 1], + "670-yellow": [0, 1, 1], + "671-red": [0, 1, 1], + "671-blue": [0, 1, 1], + "671-yellow": [0, 1, 1], + "671-white": [0, 1, 1], + "671-orange": [0, 1, 1], + "672": [0, 1, 1], + "673": [0, 1, 1], + "676": [0, 1, 1], + "677": [0, 1, 1], + "678-female": [0, 1, 1], + "678": [0, 1, 1], + "682": [0, 1, 1], + "683": [0, 1, 1], + "684": [0, 1, 1], + "685": [0, 1, 1], + "688": [0, 1, 1], + "689": [0, 1, 1], + "690": [0, 1, 1], + "691": [0, 1, 1], + "696": [0, 1, 1], + "697": [0, 1, 1], + "699": [0, 2, 2], + "700": [0, 1, 1], + "702": [0, 1, 1], + "704": [0, 1, 1], + "705": [0, 1, 1], + "706": [0, 1, 1], + "709": [0, 1, 1], + "710": [0, 1, 1], + "711": [1, 1, 1], + "712": [0, 1, 1], + "713": [0, 1, 1], + "715": [0, 1, 1], + "716-active": [0, 1, 1], + "716-neutral": [0, 1, 1], + "717": [0, 1, 1], + "720-unbound": [1, 1, 1], + "720": [1, 1, 1], + "728": [0, 1, 1], + "729": [0, 1, 1], + "730": [0, 1, 1], + "734": [0, 1, 1], + "735": [0, 1, 1], + "742": [0, 2, 2], + "743": [0, 2, 2], + "747": [0, 2, 2], + "748": [0, 1, 1], + "751": [0, 1, 1], + "752": [0, 1, 1], + "753": [0, 1, 1], + "754": [0, 2, 2], + "755": [0, 1, 1], + "756": [0, 1, 1], + "761": [0, 1, 1], + "762": [0, 1, 1], + "763": [0, 1, 1], + "767": [0, 1, 1], + "768": [0, 1, 1], + "771": [0, 1, 1], + "772": [0, 1, 1], + "773-fighting": [0, 1, 1], + "773-psychic": [0, 1, 1], + "773-poison": [0, 1, 1], + "773-ground": [0, 1, 1], + "773-ghost": [0, 1, 1], + "773-steel": [0, 1, 1], + "773-rock": [0, 1, 1], + "773-grass": [0, 1, 1], + "773-dragon": [0, 1, 1], + "773-bug": [0, 1, 1], + "773-ice": [0, 1, 1], + "773-dark": [0, 1, 1], + "773": [0, 1, 1], + "773-fairy": [0, 1, 1], + "773-water": [0, 1, 1], + "773-electric": [0, 1, 1], + "773-flying": [0, 1, 1], + "773-fire": [0, 1, 1], + "776": [0, 2, 2], + "777": [0, 1, 1], + "778-busted": [0, 1, 1], + "778-disguised": [0, 1, 1], + "779": [0, 1, 1], + "789": [1, 1, 1], + "790": [0, 1, 1], + "791": [1, 1, 1], + "792": [0, 1, 1], + "793": [0, 1, 1], + "797": [0, 1, 1], + "798": [0, 1, 1], + "800-dawn-wings": [0, 1, 1], + "800-dusk-mane": [0, 1, 1], + "800-ultra": [0, 1, 1], + "800": [0, 1, 1], + "802": [1, 1, 1], + "803": [0, 1, 1], + "804": [0, 1, 1], + "807": [0, 1, 1], + "808": [0, 1, 1], + "809": [0, 1, 1], + "816": [0, 1, 1], + "817": [0, 1, 1], + "818": [0, 1, 1], + "821": [0, 1, 1], + "822": [0, 1, 1], + "823": [0, 1, 1], + "829": [0, 1, 1], + "830": [0, 1, 1], + "835": [0, 1, 1], + "836": [0, 1, 1], + "850": [0, 1, 1], + "851": [0, 1, 1], + "854": [0, 1, 1], + "855": [0, 1, 1], + "856": [0, 1, 1], + "857": [0, 2, 2], + "858": [0, 1, 1], + "859": [0, 1, 1], + "860": [0, 1, 1], + "861": [0, 1, 1], + "862": [0, 1, 1], + "863": [0, 1, 1], + "864": [0, 1, 1], + "867": [0, 1, 1], + "872": [1, 1, 1], + "873": [1, 1, 1], + "876-female": [0, 1, 1], + "876": [0, 1, 1], + "877-hangry": [1, 1, 1], + "877": [1, 1, 1], + "880": [0, 1, 1], + "881": [0, 1, 1], + "882": [0, 1, 1], + "883": [0, 1, 1], + "884": [0, 1, 1], + "885": [1, 1, 1], + "886": [1, 1, 1], + "887": [1, 1, 1], + "888": [0, 1, 1], + "888-crowned": [0, 1, 1], + "889": [0, 1, 1], + "889-crowned": [0, 1, 1], + "890": [0, 1, 1], + "891": [1, 1, 1], + "892-rapid-strike": [1, 1, 1], + "892": [1, 1, 1], + "894": [0, 1, 1], + "895": [0, 1, 1], + "896": [1, 1, 1], + "897": [1, 1, 1], + "898": [1, 1, 1], + "898-ice": [1, 1, 1], + "898-shadow": [1, 1, 1], + "900": [0, 1, 1], + "901": [0, 1, 1], + "903": [0, 1, 1], + "909": [0, 1, 1], + "910": [0, 2, 2], + "911": [0, 1, 1], + "912": [0, 1, 1], + "913": [0, 1, 1], + "914": [0, 2, 2], + "919": [1, 1, 1], + "920": [1, 1, 1], + "924": [1, 1, 1], + "925-four": [1, 2, 2], + "925-three": [1, 2, 2], + "932": [0, 1, 1], + "933": [0, 1, 1], + "934": [0, 1, 1], + "935": [2, 2, 2], + "936": [2, 2, 2], + "937": [2, 2, 2], + "940": [0, 1, 1], + "941": [0, 1, 1], + "944": [0, 1, 1], + "945": [0, 1, 1], + "948": [0, 1, 1], + "949": [0, 1, 1], + "951": [0, 1, 1], + "952": [0, 2, 1], + "953": [0, 1, 1], + "954": [0, 1, 1], + "957": [1, 1, 1], + "958": [1, 1, 1], + "959": [1, 1, 1], + "962": [1, 1, 1], + "967": [0, 1, 1], + "968": [0, 2, 2], + "969": [0, 1, 1], + "970": [0, 1, 1], + "973": [1, 1, 1], + "974": [0, 1, 1], + "975": [0, 1, 1], + "978-curly": [0, 2, 2], + "978-droopy": [0, 2, 2], + "978-stretchy": [0, 1, 1], + "979": [1, 1, 1], + "981": [0, 1, 1], + "982": [0, 1, 1], + "982-three-segment": [0, 1, 1], + "987": [1, 1, 1], + "988": [0, 1, 1], + "993": [0, 1, 1], + "994": [0, 1, 1], + "995": [0, 1, 1], + "996": [0, 1, 1], + "997": [0, 1, 1], + "998": [0, 1, 1], + "999": [1, 1, 1], + "1000": [1, 1, 1], + "1001": [0, 1, 1], + "1003": [0, 1, 1], + "1004": [0, 1, 1], + "1006": [0, 2, 2], + "1007-apex-build": [0, 2, 2], + "1008-ultimate-mode": [1, 1, 1], + "2026": [0, 1, 1], + "2027": [0, 1, 1], + "2028": [0, 1, 1], + "2052": [0, 1, 1], + "2053": [0, 1, 1], + "2103": [0, 1, 1], + "4052": [0, 1, 1], + "4077": [0, 1, 1], + "4078": [0, 1, 1], + "4079": [0, 1, 1], + "4080": [2, 2, 2], + "4144": [0, 1, 1], + "4145": [0, 1, 1], + "4146": [0, 1, 1], + "4199": [2, 1, 1], + "4222": [0, 1, 1], + "4263": [0, 1, 1], + "4264": [0, 1, 1], + "4562": [0, 1, 1], + "6100": [0, 1, 1], + "6101": [0, 1, 1], + "6215": [0, 1, 1], + "6503": [0, 1, 1], + "6549": [0, 1, 1], + "6570": [0, 1, 1], + "6571": [0, 1, 1], + "6705": [0, 1, 1], + "6706": [0, 1, 1], + "6713": [0, 1, 1], + "female": { + "6215": [0, 1, 1] + } + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/_masterlist.json b/public/images/pokemon/variant/_masterlist.json index 175b56139a6..ac683d9544e 100644 --- a/public/images/pokemon/variant/_masterlist.json +++ b/public/images/pokemon/variant/_masterlist.json @@ -1813,669 +1813,5 @@ "593": [1, 1, 1], "6215": [0, 1, 1] } - }, - "exp": { - "3-mega": [0, 2, 2], - "6-mega-x": [0, 2, 2], - "6-mega-y": [0, 2, 2], - "80-mega": [0, 1, 1], - "94-mega": [2, 2, 2], - "127-mega": [0, 1, 1], - "130-mega": [0, 1, 1], - "142-mega": [0, 1, 1], - "150-mega-x": [0, 1, 1], - "150-mega-y": [0, 1, 1], - "181-mega": [0, 1, 2], - "212-mega": [1, 1, 2], - "229-mega": [0, 1, 1], - "248-mega": [0, 1, 1], - "257-mega": [0, 1, 1], - "282-mega": [0, 2, 2], - "302-mega": [0, 1, 1], - "303-mega": [0, 1, 1], - "306-mega": [1, 1, 1], - "308-mega": [0, 1, 1], - "310-mega": [0, 1, 1], - "334-mega": [0, 2, 1], - "354-mega": [0, 1, 1], - "359-mega": [0, 1, 1], - "362-mega": [0, 1, 1], - "373-mega": [0, 1, 1], - "376-mega": [0, 1, 1], - "380-mega": [0, 1, 1], - "381-mega": [0, 1, 1], - "382-primal": [0, 1, 1], - "383-primal": [0, 1, 1], - "384-mega": [0, 2, 1], - "428-mega": [0, 1, 1], - "445-mega": [1, 1, 1], - "448-mega": [1, 1, 1], - "475-mega": [0, 2, 2], - "531-mega": [0, 1, 1], - "653": [0, 1, 1], - "654": [0, 1, 1], - "655": [0, 1, 1], - "656": [0, 1, 1], - "657": [0, 1, 1], - "658": [0, 1, 1], - "658-ash": [0, 1, 1], - "664": [0, 1, 1], - "665": [0, 1, 1], - "666-archipelago": [0, 1, 1], - "666-continental": [0, 1, 1], - "666-elegant": [0, 1, 1], - "666-fancy": [0, 1, 1], - "666-garden": [0, 1, 1], - "666-high-plains": [0, 1, 1], - "666-icy-snow": [0, 1, 1], - "666-jungle": [0, 1, 1], - "666-marine": [0, 1, 1], - "666-meadow": [0, 1, 1], - "666-modern": [0, 1, 1], - "666-monsoon": [0, 1, 1], - "666-ocean": [0, 1, 1], - "666-poke-ball": [0, 1, 1], - "666-polar": [0, 1, 1], - "666-river": [0, 1, 1], - "666-sandstorm": [0, 1, 1], - "666-savanna": [0, 1, 1], - "666-sun": [0, 1, 1], - "666-tundra": [0, 1, 1], - "669-red": [0, 2, 2], - "669-blue": [0, 1, 1], - "669-white": [0, 1, 1], - "669-yellow": [0, 1, 1], - "669-orange": [0, 2, 2], - "670-white": [0, 1, 1], - "670-blue": [0, 1, 1], - "670-orange": [0, 1, 1], - "670-red": [0, 1, 1], - "670-yellow": [0, 1, 1], - "671-red": [0, 1, 2], - "671-blue": [0, 1, 2], - "671-yellow": [0, 1, 1], - "671-white": [0, 1, 2], - "671-orange": [0, 1, 2], - "672": [0, 1, 1], - "673": [0, 1, 1], - "676": [0, 1, 1], - "677": [0, 1, 1], - "678-female": [0, 1, 1], - "678": [0, 1, 1], - "682": [0, 1, 1], - "683": [0, 1, 1], - "684": [0, 1, 1], - "685": [0, 1, 1], - "688": [0, 1, 1], - "689": [0, 1, 1], - "690": [0, 1, 1], - "691": [0, 1, 1], - "696": [0, 1, 1], - "697": [0, 1, 1], - "698": [0, 1, 1], - "699": [0, 1, 1], - "700": [0, 1, 1], - "702": [0, 1, 1], - "703": [0, 1, 1], - "704": [0, 1, 1], - "705": [0, 1, 1], - "706": [0, 1, 1], - "708": [0, 1, 1], - "709": [0, 1, 1], - "710": [0, 1, 1], - "711": [1, 1, 1], - "712": [0, 1, 1], - "713": [0, 1, 1], - "714": [0, 1, 1], - "715": [0, 1, 1], - "716-active": [0, 1, 1], - "716-neutral": [0, 1, 1], - "717": [0, 2, 2], - "720-unbound": [1, 1, 1], - "720": [1, 1, 1], - "728": [0, 1, 1], - "729": [0, 1, 1], - "730": [0, 1, 1], - "734": [0, 1, 1], - "735": [0, 1, 1], - "742": [0, 2, 2], - "743": [0, 2, 2], - "747": [0, 2, 2], - "748": [0, 1, 1], - "751": [0, 1, 1], - "752": [0, 1, 1], - "753": [0, 1, 1], - "754": [0, 2, 2], - "755": [0, 1, 1], - "756": [0, 1, 1], - "761": [0, 1, 1], - "762": [0, 1, 1], - "763": [0, 1, 1], - "767": [0, 1, 1], - "768": [0, 1, 1], - "770": [0, 0, 0], - "771": [0, 2, 2], - "772": [0, 1, 1], - "773-fighting": [0, 1, 1], - "773-psychic": [0, 1, 1], - "773-poison": [0, 1, 1], - "773-ground": [0, 1, 1], - "773-ghost": [0, 1, 1], - "773-steel": [0, 1, 1], - "773-rock": [0, 1, 1], - "773-grass": [0, 1, 1], - "773-dragon": [0, 1, 1], - "773-bug": [0, 1, 1], - "773-ice": [0, 1, 1], - "773-dark": [0, 1, 1], - "773": [0, 1, 1], - "773-fairy": [0, 1, 1], - "773-water": [0, 1, 1], - "773-electric": [0, 1, 1], - "773-flying": [0, 1, 1], - "773-fire": [0, 1, 1], - "776": [0, 1, 1], - "777": [0, 1, 1], - "778-busted": [0, 1, 1], - "778-disguised": [0, 1, 1], - "779": [0, 1, 1], - "789": [1, 1, 1], - "790": [0, 1, 1], - "791": [2, 1, 1], - "792": [0, 1, 1], - "793": [0, 2, 2], - "797": [0, 1, 1], - "798": [0, 1, 1], - "800-dawn-wings": [0, 1, 1], - "800-dusk-mane": [0, 1, 1], - "800-ultra": [0, 1, 1], - "800": [0, 1, 1], - "802": [1, 1, 1], - "803": [0, 1, 1], - "804": [0, 1, 1], - "807": [0, 1, 1], - "808": [0, 1, 1], - "809": [0, 1, 1], - "816": [0, 1, 1], - "817": [0, 1, 1], - "818": [1, 1, 1], - "821": [0, 2, 2], - "822": [0, 1, 1], - "823": [0, 1, 1], - "829": [0, 1, 1], - "830": [0, 1, 1], - "835": [0, 1, 1], - "836": [0, 2, 2], - "850": [0, 1, 1], - "851": [0, 1, 1], - "854": [0, 1, 1], - "855": [0, 1, 1], - "856": [0, 1, 1], - "857": [0, 2, 2], - "858": [0, 1, 1], - "859": [0, 1, 1], - "860": [0, 1, 1], - "861": [0, 1, 1], - "862": [0, 1, 1], - "863": [0, 1, 1], - "864": [0, 1, 1], - "867": [0, 1, 1], - "872": [1, 1, 1], - "873": [1, 1, 1], - "876-female": [0, 1, 1], - "876": [0, 1, 1], - "877-hangry": [1, 1, 1], - "877": [1, 1, 1], - "880": [0, 1, 1], - "881": [0, 1, 1], - "882": [0, 2, 1], - "883": [0, 1, 1], - "884": [0, 1, 1], - "885": [1, 1, 1], - "886": [1, 1, 1], - "887": [1, 1, 1], - "888": [0, 1, 1], - "888-crowned": [0, 1, 1], - "889": [0, 1, 1], - "889-crowned": [0, 1, 1], - "890": [0, 2, 1], - "890-eternamax": [0, 1, 1], - "891": [1, 1, 1], - "892-rapid-strike": [1, 1, 1], - "892": [1, 1, 1], - "894": [0, 1, 1], - "895": [0, 1, 1], - "896": [1, 1, 1], - "897": [1, 1, 1], - "898": [1, 1, 1], - "898-ice": [1, 1, 1], - "898-shadow": [1, 1, 1], - "900": [0, 1, 1], - "901": [0, 1, 1], - "903": [0, 1, 1], - "909": [0, 1, 1], - "910": [0, 2, 2], - "911": [0, 2, 2], - "912": [0, 1, 2], - "913": [0, 1, 2], - "914": [0, 2, 1], - "919": [1, 1, 1], - "920": [1, 1, 1], - "924": [1, 1, 1], - "925-four": [1, 2, 2], - "925-three": [1, 2, 2], - "932": [0, 2, 2], - "933": [0, 2, 2], - "934": [0, 1, 1], - "935": [1, 1, 2], - "936": [2, 2, 2], - "937": [2, 2, 2], - "940": [0, 1, 1], - "941": [0, 1, 1], - "944": [0, 1, 1], - "945": [0, 1, 1], - "948": [0, 1, 1], - "949": [0, 1, 1], - "951": [0, 1, 1], - "952": [0, 1, 1], - "953": [0, 1, 1], - "954": [0, 1, 1], - "957": [2, 2, 2], - "958": [2, 2, 2], - "959": [2, 2, 2], - "962": [1, 1, 1], - "967": [0, 1, 1], - "968": [0, 1, 1], - "969": [0, 1, 1], - "970": [0, 1, 1], - "973": [1, 1, 1], - "974": [0, 1, 1], - "975": [0, 1, 1], - "978-curly": [0, 2, 2], - "978-droopy": [0, 2, 2], - "978-stretchy": [0, 2, 2], - "979": [2, 2, 2], - "981": [0, 1, 1], - "982": [0, 1, 1], - "982-three-segment": [0, 1, 1], - "987": [1, 1, 1], - "988": [0, 1, 2], - "993": [0, 1, 1], - "994": [0, 1, 2], - "995": [0, 1, 1], - "996": [0, 1, 1], - "997": [0, 2, 2], - "998": [0, 2, 2], - "999": [2, 1, 1], - "1000": [1, 1, 1], - "1001": [0, 1, 1], - "1003": [0, 1, 1], - "1004": [0, 1, 1], - "1006": [0, 2, 1], - "1007-apex-build": [0, 2, 2], - "1008-ultimate-mode": [1, 1, 1], - "2026": [0, 1, 1], - "2027": [0, 1, 1], - "2028": [0, 1, 1], - "2052": [0, 1, 1], - "2053": [0, 1, 0], - "2103": [0, 1, 1], - "4052": [0, 1, 1], - "4077": [0, 1, 1], - "4078": [0, 1, 1], - "4079": [0, 1, 1], - "4080": [2, 1, 1], - "4144": [0, 1, 1], - "4145": [0, 1, 1], - "4146": [0, 1, 1], - "4199": [2, 1, 1], - "4222": [0, 1, 1], - "4263": [0, 1, 1], - "4264": [0, 1, 1], - "4562": [0, 1, 1], - "6100": [0, 1, 1], - "6101": [0, 1, 1], - "6215": [0, 1, 1], - "6503": [0, 1, 1], - "6549": [0, 1, 1], - "6570": [0, 1, 1], - "6571": [0, 1, 1], - "6705": [0, 1, 1], - "6706": [0, 1, 1], - "6713": [0, 1, 1], - "female": { - "6215": [0, 1, 1] - }, - "back": { - "3-mega": [0, 2, 2], - "6-mega-x": [0, 2, 2], - "6-mega-y": [0, 1, 2], - "80-mega": [0, 1, 1], - "94-mega": [1, 1, 1], - "127-mega": [0, 1, 1], - "130-mega": [0, 1, 1], - "142-mega": [0, 1, 1], - "150-mega-x": [0, 1, 1], - "150-mega-y": [0, 1, 1], - "181-mega": [0, 1, 2], - "212-mega": [1, 2, 2], - "229-mega": [0, 1, 1], - "248-mega": [0, 1, 1], - "257-mega": [0, 1, 1], - "282-mega": [0, 1, 1], - "302-mega": [0, 1, 1], - "303-mega": [0, 1, 1], - "306-mega": [1, 1, 1], - "308-mega": [0, 1, 1], - "310-mega": [0, 1, 1], - "334-mega": [0, 1, 1], - "354-mega": [0, 1, 1], - "359-mega": [0, 1, 1], - "362-mega": [0, 1, 1], - "373-mega": [0, 1, 1], - "376-mega": [0, 1, 1], - "380-mega": [0, 1, 1], - "381-mega": [0, 1, 1], - "382-primal": [0, 1, 1], - "383-primal": [0, 1, 1], - "384-mega": [0, 1, 1], - "428-mega": [0, 1, 1], - "445-mega": [1, 1, 1], - "448-mega": [1, 1, 1], - "475-mega": [0, 2, 2], - "531-mega": [0, 1, 1], - "653": [0, 1, 1], - "654": [0, 1, 1], - "655": [0, 1, 1], - "656": [0, 1, 1], - "657": [0, 1, 1], - "658": [0, 1, 1], - "658-ash": [0, 1, 1], - "664": [0, 1, 1], - "665": [0, 1, 1], - "666-archipelago": [0, 1, 1], - "666-continental": [0, 1, 1], - "666-elegant": [0, 1, 1], - "666-fancy": [0, 1, 1], - "666-garden": [0, 1, 1], - "666-high-plains": [0, 1, 1], - "666-icy-snow": [0, 1, 1], - "666-jungle": [0, 1, 1], - "666-marine": [0, 1, 1], - "666-meadow": [0, 1, 1], - "666-modern": [0, 1, 1], - "666-monsoon": [0, 1, 1], - "666-ocean": [0, 1, 1], - "666-poke-ball": [0, 1, 1], - "666-polar": [0, 1, 1], - "666-river": [0, 1, 1], - "666-sandstorm": [0, 1, 1], - "666-savanna": [0, 1, 1], - "666-sun": [0, 1, 1], - "666-tundra": [0, 1, 1], - "669-red": [0, 2, 2], - "669-blue": [0, 2, 2], - "669-white": [0, 2, 2], - "669-yellow": [0, 2, 2], - "669-orange": [0, 2, 2], - "670-white": [0, 1, 1], - "670-blue": [0, 2, 2], - "670-orange": [0, 1, 1], - "670-red": [0, 1, 1], - "670-yellow": [0, 1, 1], - "671-red": [0, 1, 1], - "671-blue": [0, 1, 1], - "671-yellow": [0, 1, 1], - "671-white": [0, 1, 1], - "671-orange": [0, 1, 1], - "672": [0, 1, 1], - "673": [0, 1, 1], - "676": [0, 1, 1], - "677": [0, 1, 1], - "678-female": [0, 1, 1], - "678": [0, 1, 1], - "682": [0, 1, 1], - "683": [0, 1, 1], - "684": [0, 1, 1], - "685": [0, 1, 1], - "688": [0, 1, 1], - "689": [0, 1, 1], - "690": [0, 1, 1], - "691": [0, 1, 1], - "696": [0, 1, 1], - "697": [0, 1, 1], - "698": [0, 1, 1], - "699": [0, 2, 2], - "700": [0, 1, 1], - "702": [0, 1, 1], - "703": [0, 1, 1], - "704": [0, 1, 1], - "705": [0, 1, 1], - "706": [0, 1, 1], - "708": [0, 1, 1], - "709": [0, 1, 1], - "710": [0, 1, 1], - "711": [1, 1, 1], - "712": [0, 1, 1], - "713": [0, 1, 1], - "714": [0, 1, 1], - "715": [0, 1, 1], - "716-active": [0, 1, 1], - "716-neutral": [0, 1, 1], - "717": [0, 1, 1], - "720-unbound": [1, 1, 1], - "720": [1, 1, 1], - "728": [0, 1, 1], - "729": [0, 1, 1], - "730": [0, 1, 1], - "734": [0, 1, 1], - "735": [0, 1, 1], - "742": [0, 2, 2], - "743": [0, 2, 2], - "747": [0, 2, 2], - "748": [0, 1, 1], - "751": [0, 1, 1], - "752": [0, 1, 1], - "753": [0, 1, 1], - "754": [0, 2, 2], - "755": [0, 1, 1], - "756": [0, 1, 1], - "761": [0, 1, 1], - "762": [0, 1, 1], - "763": [0, 1, 1], - "767": [0, 1, 1], - "768": [0, 1, 1], - "771": [0, 1, 1], - "772": [0, 1, 1], - "773-fighting": [0, 1, 1], - "773-psychic": [0, 1, 1], - "773-poison": [0, 1, 1], - "773-ground": [0, 1, 1], - "773-ghost": [0, 1, 1], - "773-steel": [0, 1, 1], - "773-rock": [0, 1, 1], - "773-grass": [0, 1, 1], - "773-dragon": [0, 1, 1], - "773-bug": [0, 1, 1], - "773-ice": [0, 1, 1], - "773-dark": [0, 1, 1], - "773": [0, 1, 1], - "773-fairy": [0, 1, 1], - "773-water": [0, 1, 1], - "773-electric": [0, 1, 1], - "773-flying": [0, 1, 1], - "773-fire": [0, 1, 1], - "776": [0, 2, 2], - "777": [0, 1, 1], - "778-busted": [0, 1, 1], - "778-disguised": [0, 1, 1], - "779": [0, 1, 1], - "789": [1, 1, 1], - "790": [0, 1, 1], - "791": [1, 1, 1], - "792": [0, 1, 1], - "793": [0, 1, 1], - "797": [0, 1, 1], - "798": [0, 1, 1], - "800-dawn-wings": [0, 1, 1], - "800-dusk-mane": [0, 1, 1], - "800-ultra": [0, 1, 1], - "800": [0, 1, 1], - "802": [1, 1, 1], - "803": [0, 1, 1], - "804": [0, 1, 1], - "807": [0, 1, 1], - "808": [0, 1, 1], - "809": [0, 1, 1], - "816": [0, 1, 1], - "817": [0, 1, 1], - "818": [0, 1, 1], - "821": [0, 1, 1], - "822": [0, 1, 1], - "823": [0, 1, 1], - "829": [0, 1, 1], - "830": [0, 1, 1], - "835": [0, 1, 1], - "836": [0, 1, 1], - "850": [0, 1, 1], - "851": [0, 1, 1], - "854": [0, 1, 1], - "855": [0, 1, 1], - "856": [0, 1, 1], - "857": [0, 2, 2], - "858": [0, 1, 1], - "859": [0, 1, 1], - "860": [0, 1, 1], - "861": [0, 1, 1], - "862": [0, 1, 1], - "863": [0, 1, 1], - "864": [0, 1, 1], - "867": [0, 1, 1], - "872": [1, 1, 1], - "873": [1, 1, 1], - "876-female": [0, 1, 1], - "876": [0, 1, 1], - "877-hangry": [1, 1, 1], - "877": [1, 1, 1], - "880": [0, 1, 1], - "881": [0, 1, 1], - "882": [0, 1, 1], - "883": [0, 1, 1], - "884": [0, 1, 1], - "885": [1, 1, 1], - "886": [1, 1, 1], - "887": [1, 1, 1], - "888": [0, 1, 1], - "888-crowned": [0, 1, 1], - "889": [0, 1, 1], - "889-crowned": [0, 1, 1], - "890": [0, 1, 1], - "891": [1, 1, 1], - "892-rapid-strike": [1, 1, 1], - "892": [1, 1, 1], - "894": [0, 1, 1], - "895": [0, 1, 1], - "896": [1, 1, 1], - "897": [1, 1, 1], - "898": [1, 1, 1], - "898-ice": [1, 1, 1], - "898-shadow": [1, 1, 1], - "900": [0, 1, 1], - "901": [0, 1, 1], - "903": [0, 1, 1], - "909": [0, 1, 1], - "910": [0, 2, 2], - "911": [0, 1, 1], - "912": [0, 1, 1], - "913": [0, 1, 1], - "914": [0, 2, 2], - "919": [1, 1, 1], - "920": [1, 1, 1], - "924": [1, 1, 1], - "925-four": [1, 2, 2], - "925-three": [1, 2, 2], - "932": [0, 1, 1], - "933": [0, 1, 1], - "934": [0, 1, 1], - "935": [2, 2, 2], - "936": [2, 2, 2], - "937": [2, 2, 2], - "940": [0, 1, 1], - "941": [0, 1, 1], - "944": [0, 1, 1], - "945": [0, 1, 1], - "948": [0, 1, 1], - "949": [0, 1, 1], - "951": [0, 1, 1], - "952": [0, 2, 1], - "953": [0, 1, 1], - "954": [0, 1, 1], - "957": [1, 1, 1], - "958": [1, 1, 1], - "959": [1, 1, 1], - "962": [1, 1, 1], - "967": [0, 1, 1], - "968": [0, 2, 2], - "969": [0, 1, 1], - "970": [0, 1, 1], - "973": [1, 1, 1], - "974": [0, 1, 1], - "975": [0, 1, 1], - "978-curly": [0, 2, 2], - "978-droopy": [0, 2, 2], - "978-stretchy": [0, 1, 1], - "979": [1, 1, 1], - "981": [0, 1, 1], - "982": [0, 1, 1], - "982-three-segment": [0, 1, 1], - "987": [1, 1, 1], - "988": [0, 1, 1], - "993": [0, 1, 1], - "994": [0, 1, 1], - "995": [0, 1, 1], - "996": [0, 1, 1], - "997": [0, 1, 1], - "998": [0, 1, 1], - "999": [1, 1, 1], - "1000": [1, 1, 1], - "1001": [0, 1, 1], - "1003": [0, 1, 1], - "1004": [0, 1, 1], - "1006": [0, 2, 2], - "1007-apex-build": [0, 2, 2], - "1008-ultimate-mode": [1, 1, 1], - "2026": [0, 1, 1], - "2027": [0, 1, 1], - "2028": [0, 1, 1], - "2052": [0, 1, 1], - "2053": [0, 1, 1], - "2103": [0, 1, 1], - "4052": [0, 1, 1], - "4077": [0, 1, 1], - "4078": [0, 1, 1], - "4079": [0, 1, 1], - "4080": [2, 2, 2], - "4144": [0, 1, 1], - "4145": [0, 1, 1], - "4146": [0, 1, 1], - "4199": [2, 1, 1], - "4222": [0, 1, 1], - "4263": [0, 1, 1], - "4264": [0, 1, 1], - "4562": [0, 1, 1], - "6100": [0, 1, 1], - "6101": [0, 1, 1], - "6215": [0, 1, 1], - "6503": [0, 1, 1], - "6549": [0, 1, 1], - "6570": [0, 1, 1], - "6571": [0, 1, 1], - "6705": [0, 1, 1], - "6706": [0, 1, 1], - "6713": [0, 1, 1], - "female": { - "6215": [0, 1, 1] - } - } } } \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/698.json b/public/images/pokemon/variant/exp/698.json deleted file mode 100644 index daf9b8c6f84..00000000000 --- a/public/images/pokemon/variant/exp/698.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "1": { - "cbaa84": "44827c", - "b3747e": "4b7465", - "eeffbf": "cdffb5", - "dcffb2": "8eeab9", - "ffbfca": "43bf8d", - "b7ffb2": "72d8ce", - "fff2b2": "9bffa9", - "85b4cc": "cf755d", - "a6e1ff": "efab87", - "101010": "101010", - "cacaca": "cacaca", - "537180": "b04f4b", - "2eaeec": "4dc796", - "1f75a0": "29988e", - "fdfdfd": "fdfdfd", - "d197a1": "d197a1", - "ffdce6": "ffdce6", - "217aa6": "7f99e1", - "30b2f2": "b5dcff", - "f9f9f9": "e6e3b4", - "c0c0c0": "d7cca0" - }, - "2": { - "cbaa84": "cc78db", - "b3747e": "c452a6", - "eeffbf": "ed9ff2", - "dcffb2": "d7bbf4", - "ffbfca": "faccff", - "b7ffb2": "dceeff", - "fff2b2": "eb88b9", - "85b4cc": "654a8a", - "a6e1ff": "936daa", - "101010": "101010", - "cacaca": "cacaca", - "537180": "392d65", - "2eaeec": "ad4e6e", - "1f75a0": "8d2656", - "fdfdfd": "fdfdfd", - "d197a1": "d197a1", - "ffdce6": "ffdce6", - "217aa6": "efaa51", - "30b2f2": "ffd169", - "f9f9f9": "373453", - "c0c0c0": "282747" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/703.json b/public/images/pokemon/variant/exp/703.json deleted file mode 100644 index c024feb1b30..00000000000 --- a/public/images/pokemon/variant/exp/703.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "1": { - "535763": "292638", - "306090": "c35b2a", - "c3c7d3": "68638e", - "88aacc": "e67c37", - "fefefe": "fefefe", - "a3a7b3": "4d496b", - "737783": "37344e", - "101010": "101010", - "bbddff": "ffa633", - "1fbfdf": "ff9b44", - "5f6060": "e6ac60", - "fcfefe": "ffeed6", - "bfbbbb": "ffd3a1" - }, - "2": { - "535763": "976ba9", - "306090": "a03c69", - "c3c7d3": "faecff", - "88aacc": "e25493", - "fefefe": "ffe2ee", - "a3a7b3": "e4cdf9", - "737783": "cca1db", - "101010": "101010", - "bbddff": "f591bd", - "1fbfdf": "de5f8e", - "5f6060": "5a3d84", - "fcfefe": "a473bf", - "bfbbbb": "8359a7" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/708.json b/public/images/pokemon/variant/exp/708.json deleted file mode 100644 index b32bbb79cd9..00000000000 --- a/public/images/pokemon/variant/exp/708.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "1": { - "101010": "101010", - "2b2a3a": "722023", - "603d2b": "36384f", - "215738": "4d362e", - "48484a": "a14743", - "c18760": "7c808c", - "3fa76c": "907f76", - "915e45": "575a6a", - "0b0c0b": "0b0c0b", - "da585b": "5996d2", - "ff8c8f": "87d1ff" - }, - "2": { - "101010": "101010", - "2b2a3a": "6f5f80", - "603d2b": "31161d", - "215738": "a94079", - "48484a": "9c92a4", - "c18760": "7e5658", - "3fa76c": "da7ea8", - "915e45": "56323a", - "0b0c0b": "0b0c0b", - "da585b": "e18933", - "ff8c8f": "ffc875" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/714.json b/public/images/pokemon/variant/exp/714.json deleted file mode 100644 index 018366c5381..00000000000 --- a/public/images/pokemon/variant/exp/714.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "1": { - "6a3f73": "731338", - "bd70cc": "a42c54", - "101010": "101010", - "bfacbf": "7047ba", - "8e5499": "8e1d4b", - "f2daf2": "8d7be3", - "404040": "202558", - "665c66": "2f386b", - "ccb43d": "ff8a58", - "f8f8f8": "8d7be3", - "595959": "2f386b", - "ffe14c": "ffc182", - "000000": "101010" - }, - "2": { - "6a3f73": "5f151c", - "bd70cc": "c24430", - "101010": "101010", - "bfacbf": "f9e8dd", - "8e5499": "882c27", - "f2daf2": "f8f8f8", - "404040": "5b1922", - "665c66": "7c2928", - "ccb43d": "33d8d0", - "f8f8f8": "f8f8f8", - "595959": "7c2928", - "ffe14c": "49ffcd", - "000000": "101010" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/698.json b/public/images/pokemon/variant/exp/back/698.json deleted file mode 100644 index af193c3bc0c..00000000000 --- a/public/images/pokemon/variant/exp/back/698.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "1": { - "b3747e": "4b7465", - "ffbfca": "43bf8d", - "fff2b2": "9bffa9", - "537180": "b04f4b", - "a6e1ff": "efab87", - "101010": "101010", - "85b4cc": "cf755d", - "217aa6": "7f99e1", - "30b2f2": "b5dcff", - "fdfdfd": "fdfdfd", - "c0c0c0": "d7cca0", - "cacaca": "cacaca", - "cbaa84": "44827c", - "dcffb2": "8eeab9", - "eeffbf": "cdffb5", - "b7ffb2": "72d8ce" - }, - "2": { - "b3747e": "c452a6", - "ffbfca": "faccff", - "fff2b2": "eb88b9", - "537180": "392d65", - "a6e1ff": "936daa", - "101010": "101010", - "85b4cc": "654a8a", - "217aa6": "efaa51", - "30b2f2": "ffd169", - "fdfdfd": "fdfdfd", - "c0c0c0": "282747", - "cacaca": "cacaca", - "cbaa84": "cc78db", - "dcffb2": "d7bbf4", - "eeffbf": "ed9ff2", - "b7ffb2": "dceeff" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/703.json b/public/images/pokemon/variant/exp/back/703.json deleted file mode 100644 index 376abd466d2..00000000000 --- a/public/images/pokemon/variant/exp/back/703.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "1": { - "306090": "c35b2a", - "88aacc": "e67c37", - "fefefe": "fefefe", - "535763": "292638", - "a3a7b3": "4d496b", - "737783": "37344e", - "bbddff": "ffa633", - "101010": "101010", - "5f6060": "e6ac60", - "bfbbbb": "ffd3a1", - "fcfefe": "ffeed6" - }, - "2": { - "306090": "a03c69", - "88aacc": "e25493", - "fefefe": "ffe2ee", - "535763": "976ba9", - "a3a7b3": "e4cdf9", - "737783": "cca1db", - "bbddff": "f591bd", - "101010": "101010", - "5f6060": "5a3d84", - "bfbbbb": "8359a7", - "fcfefe": "a473bf" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/708.json b/public/images/pokemon/variant/exp/back/708.json deleted file mode 100644 index 7d41d6d24b0..00000000000 --- a/public/images/pokemon/variant/exp/back/708.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "1": { - "1a1a1c": "1a1a1c", - "686665": "646085", - "103222": "802c26", - "221b17": "221b17", - "090606": "090606", - "4ab38e": "a14743", - "38956f": "a14743", - "ab9074": "7c808c", - "4e4e4e": "494e5b", - "917860": "7c808c", - "424244": "2b303c", - "78604c": "575a6a", - "6b5442": "40435a", - "5f4939": "36384f", - "4f2a09": "292929", - "6c4513": "36384f", - "353638": "353638" - }, - "2": { - "1a1a1c": "1a1a1c", - "686665": "ccc3cf", - "103222": "a94079", - "221b17": "221b17", - "090606": "090606", - "4ab38e": "da7ea8", - "38956f": "da7ea8", - "ab9074": "7e5658", - "4e4e4e": "9c92a4", - "917860": "7e5658", - "424244": "6f5f80", - "78604c": "56323a", - "6b5442": "47232b", - "5f4939": "31161d", - "4f2a09": "250e14", - "6c4513": "31161d", - "353638": "57496b" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/714.json b/public/images/pokemon/variant/exp/back/714.json deleted file mode 100644 index 22933e71338..00000000000 --- a/public/images/pokemon/variant/exp/back/714.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "1": { - "101010": "101010", - "6a3f73": "500a25", - "bd70cc": "a42c54", - "8e5499": "8e1d4b", - "404040": "202558", - "595959": "2f386b", - "bfacbf": "8d7be3", - "665c66": "2f386b", - "f2daf2": "8d7be3" - }, - "2": { - "101010": "101010", - "6a3f73": "5f151c", - "bd70cc": "c24430", - "8e5499": "882c27", - "404040": "5b1922", - "595959": "7c2928", - "bfacbf": "f9e8dd", - "665c66": "7c2928", - "f2daf2": "f9e8dd" - } -} \ No newline at end of file diff --git a/scripts/find_sprite_variant_mismatches.py b/scripts/find_sprite_variant_mismatches.py index 483695fdb66..b26058c2de3 100644 --- a/scripts/find_sprite_variant_mismatches.py +++ b/scripts/find_sprite_variant_mismatches.py @@ -22,6 +22,9 @@ from typing import Literal as L MASTERLIST_PATH = os.path.join( os.path.dirname(os.path.dirname(__file__)), "public", "images", "pokemon", "variant", "_masterlist.json" ) +EXP_MASTERLIST_PATH = os.path.join( + os.path.dirname(os.path.dirname(__file__)), "public", "images", "pokemon", "variant", "_exp_masterlist.json" +) DEFAULT_OUTPUT_PATH = "sprite-mismatches.csv" @@ -93,6 +96,7 @@ if __name__ == "__main__": help=f"The path to a file to save the output file. If not specified, will write to {DEFAULT_OUTPUT_PATH}.", ) p.add_argument("--masterlist", default=MASTERLIST_PATH, help=f"The path to the masterlist file to validate. Defaults to {MASTERLIST_PATH}.") + p.add_argument("--exp-masterlist", default=EXP_MASTERLIST_PATH, help=f"The path to the exp masterlist file to validate against. Defaults to {EXP_MASTERLIST_PATH}.") args = p.parse_args() mismatches = make_mismatch_sprite_list(args.masterlist) write_mismatch_csv(args.output, mismatches) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index f676ba63306..acc8dafdd35 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -106,8 +106,8 @@ import PokemonInfoContainer from "#app/ui/pokemon-info-container"; import { biomeDepths, getBiomeName } from "#app/data/balance/biomes"; import { SceneBase } from "#app/scene-base"; import CandyBar from "#app/ui/candy-bar"; -import type { Variant, VariantSet } from "#app/data/variant"; -import { variantColorCache, variantData } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; +import { variantData, clearVariantData } from "#app/sprites/variant"; import type { Localizable } from "#app/interfaces/locales"; import Overrides from "#app/overrides"; import { InputsController } from "#app/inputs-controller"; @@ -170,6 +170,8 @@ import { StatusEffect } from "#enums/status-effect"; import { initGlobalScene } from "#app/global-scene"; import { ShowAbilityPhase } from "#app/phases/show-ability-phase"; import { HideAbilityPhase } from "#app/phases/hide-ability-phase"; +import { expSpriteKeys } from "./sprites/sprite-keys"; +import { hasExpSprite } from "./sprites/sprite-utils"; import { timedEventManager } from "./global-event-manager"; export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1"; @@ -182,8 +184,6 @@ const OPP_IVS_OVERRIDE_VALIDATED: number[] = ( export const startingWave = Overrides.STARTING_WAVE_OVERRIDE || 1; -const expSpriteKeys: string[] = []; - export let starterColors: StarterColors; interface StarterColors { [key: string]: [string, string]; @@ -409,7 +409,7 @@ export default class BattleScene extends SceneBase { } const variant = atlasPath.includes("variant/") || /_[0-3]$/.test(atlasPath); if (experimental) { - experimental = this.hasExpSprite(key); + experimental = hasExpSprite(key); } if (variant) { atlasPath = atlasPath.replace("variant/", ""); @@ -421,35 +421,6 @@ export default class BattleScene extends SceneBase { ); } - /** - * Load the variant assets for the given sprite and stores them in {@linkcode variantColorCache} - */ - public async loadPokemonVariantAssets(spriteKey: string, fileRoot: string, variant?: Variant): Promise { - const useExpSprite = this.experimentalSprites && this.hasExpSprite(spriteKey); - if (useExpSprite) { - fileRoot = `exp/${fileRoot}`; - } - let variantConfig = variantData; - fileRoot.split("/").map(p => (variantConfig ? (variantConfig = variantConfig[p]) : null)); - const variantSet = variantConfig as VariantSet; - - return new Promise(resolve => { - if (variantSet && variant !== undefined && variantSet[variant] === 1) { - if (variantColorCache.hasOwnProperty(spriteKey)) { - return resolve(); - } - this.cachedFetch(`./images/pokemon/variant/${fileRoot}.json`) - .then(res => res.json()) - .then(c => { - variantColorCache[spriteKey] = c; - resolve(); - }); - } else { - resolve(); - } - }); - } - async preload() { if (DEBUG_RNG) { const originalRealInRange = Phaser.Math.RND.realInRange; @@ -783,53 +754,36 @@ export default class BattleScene extends SceneBase { } async initExpSprites(): Promise { - if (expSpriteKeys.length) { + if (expSpriteKeys.size > 0) { return; } this.cachedFetch("./exp-sprites.json") .then(res => res.json()) .then(keys => { if (Array.isArray(keys)) { - expSpriteKeys.push(...keys); + for (const key of keys) { + expSpriteKeys.add(key); + } } Promise.resolve(); }); } + /** + * Initialize the variant data. + * If experimental sprites are enabled, their entries are replaced via this method. + */ async initVariantData(): Promise { - for (const key of Object.keys(variantData)) { - delete variantData[key]; + clearVariantData(); + const otherVariantData = await this.cachedFetch("./images/pokemon/variant/_masterlist.json").then(r => r.json()); + for (const k of Object.keys(otherVariantData)) { + variantData[k] = otherVariantData[k]; } - await this.cachedFetch("./images/pokemon/variant/_masterlist.json") - .then(res => res.json()) - .then(v => { - for (const k of Object.keys(v)) { - variantData[k] = v[k]; - } - if (this.experimentalSprites) { - const expVariantData = variantData["exp"]; - const traverseVariantData = (keys: string[]) => { - let variantTree = variantData; - let expTree = expVariantData; - keys.map((k: string, i: number) => { - if (i < keys.length - 1) { - variantTree = variantTree[k]; - expTree = expTree[k]; - } else if (variantTree.hasOwnProperty(k) && expTree.hasOwnProperty(k)) { - if (["back", "female"].includes(k)) { - traverseVariantData(keys.concat(k)); - } else { - variantTree[k] = expTree[k]; - } - } - }); - }; - for (const ek of Object.keys(expVariantData)) { - traverseVariantData([ek]); - } - } - Promise.resolve(); - }); + if (!this.experimentalSprites) { + return; + } + const expVariantData = await this.cachedFetch("./images/pokemon/variant/_exp_masterlist.json").then(r => r.json()); + Utils.deepMergeObjects(variantData, expVariantData); } cachedFetch(url: string, init?: RequestInit): Promise { @@ -843,48 +797,15 @@ export default class BattleScene extends SceneBase { return fetch(url, init); } - initStarterColors(): Promise { - return new Promise(resolve => { - if (starterColors) { - return resolve(); - } - - this.cachedFetch("./starter-colors.json") - .then(res => res.json()) - .then(sc => { - starterColors = {}; - for (const key of Object.keys(sc)) { - starterColors[key] = sc[key]; - } - - resolve(); - }); - }); - } - - hasExpSprite(key: string): boolean { - const keyMatch = /^pkmn__?(back__)?(shiny__)?(female__)?(\d+)(\-.*?)?(?:_[1-3])?$/g.exec(key); - if (!keyMatch) { - return false; + async initStarterColors(): Promise { + if (starterColors) { + return; } - - let k = keyMatch[4]!; - if (keyMatch[2]) { - k += "s"; + const sc = await this.cachedFetch("./starter-colors.json").then(res => res.json()); + starterColors = {}; + for (const key of Object.keys(sc)) { + starterColors[key] = sc[key]; } - if (keyMatch[1]) { - k += "b"; - } - if (keyMatch[3]) { - k += "f"; - } - if (keyMatch[5]) { - k += keyMatch[5]; - } - if (!expSpriteKeys.includes(k)) { - return false; - } - return true; } public getPlayerParty(): PlayerPokemon[] { diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 76d07bf01ba..f3a06242a13 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -58,7 +58,7 @@ import { BattleEndPhase } from "#app/phases/battle-end-phase"; import { GameOverPhase } from "#app/phases/game-over-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { PartyExpPhase } from "#app/phases/party-exp-phase"; -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { StatusEffect } from "#enums/status-effect"; import { globalScene } from "#app/global-scene"; import { getPokemonSpecies } from "#app/data/pokemon-species"; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 929d632eb0b..a8942a39880 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -26,11 +26,12 @@ import { pokemonSpeciesLevelMoves, } from "#app/data/balance/pokemon-level-moves"; import type { Stat } from "#enums/stat"; -import type { Variant, VariantSet } from "#app/data/variant"; -import { variantData } from "#app/data/variant"; +import type { Variant, VariantSet } from "#app/sprites/variant"; +import { variantData } from "#app/sprites/variant"; import { speciesStarterCosts, POKERUS_STARTER_COUNT } from "#app/data/balance/starters"; import { SpeciesFormKey } from "#enums/species-form-key"; import { starterPassiveAbilities } from "#app/data/balance/passives"; +import { loadPokemonVariantAssets } from "#app/sprites/pokemon-sprite"; export enum Region { NORMAL, @@ -387,6 +388,7 @@ export abstract class PokemonSpeciesForm { return `${/_[1-3]$/.test(spriteId) ? "variant/" : ""}${spriteId}`; } + /** Compute the sprite ID of the pokemon form. */ getSpriteId(female: boolean, formIndex?: number, shiny?: boolean, variant = 0, back?: boolean): string { if (formIndex === undefined || this instanceof PokemonForm) { formIndex = this.formIndex; @@ -394,7 +396,9 @@ export abstract class PokemonSpeciesForm { const formSpriteKey = this.getFormSpriteKey(formIndex); const showGenderDiffs = - this.genderDiffs && female && ![SpeciesFormKey.MEGA, SpeciesFormKey.GIGANTAMAX].find(k => formSpriteKey === k); + this.genderDiffs && + female && + ![SpeciesFormKey.MEGA, SpeciesFormKey.GIGANTAMAX].includes(formSpriteKey as SpeciesFormKey); const baseSpriteKey = `${showGenderDiffs ? "female__" : ""}${this.speciesId}${formSpriteKey ? `-${formSpriteKey}` : ""}`; @@ -585,18 +589,19 @@ export abstract class PokemonSpeciesForm { return true; } - loadAssets( + async loadAssets( female: boolean, formIndex?: number, - shiny?: boolean, + shiny = false, variant?: Variant, - startLoad?: boolean, - back?: boolean, + startLoad = false, + back = false, ): Promise { - return new Promise(resolve => { - const spriteKey = this.getSpriteKey(female, formIndex, shiny, variant, back); - globalScene.loadPokemonAtlas(spriteKey, this.getSpriteAtlasPath(female, formIndex, shiny, variant, back)); - globalScene.load.audio(`${this.getCryKey(formIndex)}`, `audio/${this.getCryKey(formIndex)}.m4a`); + const spriteKey = this.getSpriteKey(female, formIndex, shiny, variant, back); + globalScene.loadPokemonAtlas(spriteKey, this.getSpriteAtlasPath(female, formIndex, shiny, variant, back)); + globalScene.load.audio(this.getCryKey(formIndex), `audio/${this.getCryKey(formIndex)}.m4a`); + + return new Promise(resolve => { globalScene.load.once(Phaser.Loader.Events.COMPLETE, () => { const originalWarn = console.warn; // Ignore warnings for missing frames, because there will be a lot @@ -621,7 +626,9 @@ export abstract class PokemonSpeciesForm { const spritePath = this.getSpriteAtlasPath(female, formIndex, shiny, variant, back) .replace("variant/", "") .replace(/_[1-3]$/, ""); - globalScene.loadPokemonVariantAssets(spriteKey, spritePath, variant).then(() => resolve()); + if (!Utils.isNullOrUndefined(variant)) { + loadPokemonVariantAssets(spriteKey, spritePath, variant).then(() => resolve()); + } }); if (startLoad) { if (!globalScene.load.isLoading()) { diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index a5ba19290fe..5fab70971ec 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -2236,12 +2236,7 @@ export const trainerConfigs: TrainerConfigs = { Species.PHANTUMP, Species.PUMPKABOO, ], - [TrainerPoolTier.RARE]: [ - Species.SNEASEL, - Species.LITWICK, - Species.PAWNIARD, - Species.NOIBAT, - ], + [TrainerPoolTier.RARE]: [Species.SNEASEL, Species.LITWICK, Species.PAWNIARD, Species.NOIBAT], [TrainerPoolTier.SUPER_RARE]: [Species.SLIGGOO, Species.HISUI_SLIGGOO, Species.HISUI_AVALUGG], }), [TrainerType.BRYONY]: new TrainerConfig(++t) diff --git a/src/data/variant.ts b/src/data/variant.ts deleted file mode 100644 index 13c11b0bb40..00000000000 --- a/src/data/variant.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { VariantTier } from "#app/enums/variant-tier"; - -export type Variant = 0 | 1 | 2; - -export type VariantSet = [Variant, Variant, Variant]; - -export const variantData: any = {}; - -export const variantColorCache = {}; - -export function getVariantTint(variant: Variant): number { - switch (variant) { - case 0: - return 0xf8c020; - case 1: - return 0x20f8f0; - case 2: - return 0xe81048; - } -} - -export function getVariantIcon(variant: Variant): number { - switch (variant) { - case 0: - return VariantTier.STANDARD; - case 1: - return VariantTier.RARE; - case 2: - return VariantTier.EPIC; - } -} diff --git a/src/field/anims.ts b/src/field/anims.ts index cd6209dddff..eb895c2d8f9 100644 --- a/src/field/anims.ts +++ b/src/field/anims.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { PokeballType } from "#enums/pokeball"; -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { getFrameMs, randGauss } from "#app/utils"; export function addPokeballOpenParticles(x: number, y: number, pokeballType: PokeballType): void { diff --git a/src/field/mystery-encounter-intro.ts b/src/field/mystery-encounter-intro.ts index 649a969d415..e1fb0c37074 100644 --- a/src/field/mystery-encounter-intro.ts +++ b/src/field/mystery-encounter-intro.ts @@ -4,9 +4,10 @@ import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounte import type { Species } from "#enums/species"; import { isNullOrUndefined } from "#app/utils"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { doShinySparkleAnim } from "#app/field/anims"; import PlayAnimationConfig = Phaser.Types.Animations.PlayAnimationConfig; +import { loadPokemonVariantAssets } from "#app/sprites/pokemon-sprite"; type KnownFileRoot = | "arenas" @@ -233,8 +234,8 @@ export default class MysteryEncounterIntroVisuals extends Phaser.GameObjects.Con this.spriteConfigs.forEach(config => { if (config.isPokemon) { globalScene.loadPokemonAtlas(config.spriteKey, config.fileRoot); - if (config.isShiny) { - shinyPromises.push(globalScene.loadPokemonVariantAssets(config.spriteKey, config.fileRoot, config.variant)); + if (config.isShiny && !isNullOrUndefined(config.variant)) { + shinyPromises.push(loadPokemonVariantAssets(config.spriteKey, config.fileRoot, config.variant)); } } else if (config.isItem) { globalScene.loadAtlas("items", ""); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 7d856696188..72da3f1ed6f 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2,9 +2,9 @@ import Phaser from "phaser"; import type { AnySound } from "#app/battle-scene"; import type BattleScene from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; -import type { Variant, VariantSet } from "#app/data/variant"; -import { variantColorCache } from "#app/data/variant"; -import { variantData } from "#app/data/variant"; +import type { Variant, VariantSet } from "#app/sprites/variant"; +import { populateVariantColors, variantColorCache } from "#app/sprites/variant"; +import { variantData } from "#app/sprites/variant"; import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo, @@ -263,7 +263,9 @@ import { Nature } from "#enums/nature"; import { StatusEffect } from "#enums/status-effect"; import { doShinySparkleAnim } from "#app/field/anims"; import { MoveFlags } from "#enums/MoveFlags"; +import { hasExpSprite } from "#app/sprites/sprite-utils"; import { timedEventManager } from "#app/global-event-manager"; +import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { ResetStatusPhase } from "#app/phases/reset-status-phase"; export enum LearnMoveSituation { @@ -696,115 +698,79 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { abstract getBattlerIndex(): BattlerIndex; - loadAssets(ignoreOverride = true): Promise { - return new Promise(resolve => { - const moveIds = this.getMoveset().map(m => m.getMove().id); - Promise.allSettled(moveIds.map(m => initMoveAnim(m))).then(() => { - loadMoveAnimAssets(moveIds); - this.getSpeciesForm().loadAssets( - this.getGender() === Gender.FEMALE, - this.formIndex, - this.shiny, - this.variant, - ); - if (this.isPlayer() || this.getFusionSpeciesForm()) { - globalScene.loadPokemonAtlas( - this.getBattleSpriteKey(true, ignoreOverride), - this.getBattleSpriteAtlasPath(true, ignoreOverride), - ); - } - if (this.getFusionSpeciesForm()) { - this.getFusionSpeciesForm().loadAssets( - this.getFusionGender() === Gender.FEMALE, - this.fusionFormIndex, - this.fusionShiny, - this.fusionVariant, - ); - globalScene.loadPokemonAtlas( - this.getFusionBattleSpriteKey(true, ignoreOverride), - this.getFusionBattleSpriteAtlasPath(true, ignoreOverride), - ); - } - globalScene.load.once(Phaser.Loader.Events.COMPLETE, () => { - if (this.isPlayer()) { - const originalWarn = console.warn; - // Ignore warnings for missing frames, because there will be a lot - console.warn = () => {}; - const battleFrameNames = globalScene.anims.generateFrameNames( - this.getBattleSpriteKey(), - { zeroPad: 4, suffix: ".png", start: 1, end: 400 }, - ); - console.warn = originalWarn; - if (!globalScene.anims.exists(this.getBattleSpriteKey())) { - globalScene.anims.create({ - key: this.getBattleSpriteKey(), - frames: battleFrameNames, - frameRate: 10, - repeat: -1, - }); - } - } - this.playAnim(); - const updateFusionPaletteAndResolve = () => { - this.updateFusionPalette(); - if (this.summonData?.speciesForm) { - this.updateFusionPalette(true); - } - resolve(); - }; - if (this.shiny) { - const populateVariantColors = ( - isBackSprite = false, - ): Promise => { - return new Promise(async resolve => { - const battleSpritePath = this.getBattleSpriteAtlasPath( - isBackSprite, - ignoreOverride, - ) - .replace("variant/", "") - .replace(/_[1-3]$/, ""); - let config = variantData; - const useExpSprite = - globalScene.experimentalSprites && - globalScene.hasExpSprite( - this.getBattleSpriteKey(isBackSprite, ignoreOverride), - ); - battleSpritePath - .split("/") - .map(p => (config ? (config = config[p]) : null)); - const variantSet: VariantSet = config as VariantSet; - if (variantSet && variantSet[this.variant] === 1) { - const cacheKey = this.getBattleSpriteKey(isBackSprite); - if (!variantColorCache.hasOwnProperty(cacheKey)) { - await this.populateVariantColorCache( - cacheKey, - useExpSprite, - battleSpritePath, - ); - } - } - resolve(); - }); - }; - if (this.isPlayer()) { - Promise.all([ - populateVariantColors(false), - populateVariantColors(true), - ]).then(() => updateFusionPaletteAndResolve()); - } else { - populateVariantColors(false).then(() => - updateFusionPaletteAndResolve(), - ); - } - } else { - updateFusionPaletteAndResolve(); - } - }); - if (!globalScene.load.isLoading()) { - globalScene.load.start(); - } + async loadAssets(ignoreOverride = true): Promise { + /** Promises that are loading assets and can be run concurrently. */ + const loadPromises: Promise[] = []; + // Assets for moves + loadPromises.push(loadMoveAnimations(this.getMoveset().map(m => m.getMove().id))); + + // Load the assets for the species form + loadPromises.push( + this.getSpeciesForm().loadAssets(this.getGender() === Gender.FEMALE, this.formIndex, this.shiny, this.variant), + ); + + if (this.isPlayer() || this.getFusionSpeciesForm()) { + globalScene.loadPokemonAtlas( + this.getBattleSpriteKey(true, ignoreOverride), + this.getBattleSpriteAtlasPath(true, ignoreOverride), + ); + } + if (this.getFusionSpeciesForm()) { + loadPromises.push(this.getFusionSpeciesForm().loadAssets( + this.getFusionGender() === Gender.FEMALE, + this.fusionFormIndex, + this.fusionShiny, + this.fusionVariant, + )); + globalScene.loadPokemonAtlas( + this.getFusionBattleSpriteKey(true, ignoreOverride), + this.getFusionBattleSpriteAtlasPath(true, ignoreOverride), + ); + } + + if (this.shiny) { + loadPromises.push(populateVariantColors(this, false, ignoreOverride)) + if (this.isPlayer()) { + loadPromises.push(populateVariantColors(this, true, ignoreOverride)); + } + } + + await Promise.allSettled(loadPromises); + + // Wait for the assets we queued to load to finish loading, then... + if (!globalScene.load.isLoading()) { + globalScene.load.start(); + } + // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#creating_a_promise_around_an_old_callback_api + await new Promise(resolve => globalScene.load.once(Phaser.Loader.Events.COMPLETE, resolve)); + + // With the sprites loaded, generate the animation frame information + if (this.isPlayer()) { + const originalWarn = console.warn; + // Ignore warnings for missing frames, because there will be a lot + console.warn = () => {}; + const battleFrameNames = globalScene.anims.generateFrameNames(this.getBattleSpriteKey(), { + zeroPad: 4, + suffix: ".png", + start: 1, + end: 400, }); - }); + console.warn = originalWarn; + globalScene.anims.create({ + key: this.getBattleSpriteKey(), + frames: battleFrameNames, + frameRate: 10, + repeat: -1, + }); + } + // With everything loaded, now begin playing the animation. + this.playAnim(); + + // update the fusion palette + this.updateFusionPalette(); + if (this.summonData?.speciesForm) { + this.updateFusionPalette(true); + } } /** diff --git a/src/overrides.ts b/src/overrides.ts index 3a9a54e740b..21c72cd7b98 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -2,7 +2,7 @@ import { type PokeballCounts } from "#app/battle-scene"; import { EvolutionItem } from "#app/data/balance/pokemon-evolutions"; import { Gender } from "#app/data/gender"; import { FormChangeItem } from "#app/data/pokemon-forms"; -import { Variant } from "#app/data/variant"; +import { Variant } from "#app/sprites/variant"; import { type ModifierOverride } from "#app/modifier/modifier-type"; import { Unlockables } from "#app/system/unlockables"; import { Abilities } from "#enums/abilities"; diff --git a/src/pipelines/field-sprite.ts b/src/pipelines/field-sprite.ts index 547281d7dee..612c9fae052 100644 --- a/src/pipelines/field-sprite.ts +++ b/src/pipelines/field-sprite.ts @@ -1,210 +1,8 @@ import { globalScene } from "#app/global-scene"; import { TerrainType, getTerrainColor } from "../data/terrain"; import * as Utils from "../utils"; - -const spriteFragShader = ` -#ifdef GL_FRAGMENT_PRECISION_HIGH -precision highp float; -#else -precision mediump float; -#endif - -uniform sampler2D uMainSampler[%count%]; - -varying vec2 outTexCoord; -varying float outTexId; -varying float outTintEffect; -varying vec4 outTint; - -uniform float time; -uniform int ignoreTimeTint; -uniform int isOutside; -uniform vec3 dayTint; -uniform vec3 duskTint; -uniform vec3 nightTint; -uniform vec3 terrainColor; -uniform float terrainColorRatio; - -float blendOverlay(float base, float blend) { - return base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend)); -} - -vec3 blendOverlay(vec3 base, vec3 blend) { - return vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b)); -} - -vec3 blendHardLight(vec3 base, vec3 blend) { - return blendOverlay(blend, base); -} - -float hue2rgb(float f1, float f2, float hue) { - if (hue < 0.0) - hue += 1.0; - else if (hue > 1.0) - hue -= 1.0; - float res; - if ((6.0 * hue) < 1.0) - res = f1 + (f2 - f1) * 6.0 * hue; - else if ((2.0 * hue) < 1.0) - res = f2; - else if ((3.0 * hue) < 2.0) - res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0; - else - res = f1; - return res; -} - -vec3 rgb2hsl(vec3 color) { - vec3 hsl; - - float fmin = min(min(color.r, color.g), color.b); - float fmax = max(max(color.r, color.g), color.b); - float delta = fmax - fmin; - - hsl.z = (fmax + fmin) / 2.0; - - if (delta == 0.0) { - hsl.x = 0.0; - hsl.y = 0.0; - } else { - if (hsl.z < 0.5) - hsl.y = delta / (fmax + fmin); - else - hsl.y = delta / (2.0 - fmax - fmin); - - float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta; - float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta; - float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta; - - if (color.r == fmax ) - hsl.x = deltaB - deltaG; - else if (color.g == fmax) - hsl.x = (1.0 / 3.0) + deltaR - deltaB; - else if (color.b == fmax) - hsl.x = (2.0 / 3.0) + deltaG - deltaR; - - if (hsl.x < 0.0) - hsl.x += 1.0; - else if (hsl.x > 1.0) - hsl.x -= 1.0; - } - - return hsl; -} - -vec3 hsl2rgb(vec3 hsl) { - vec3 rgb; - - if (hsl.y == 0.0) - rgb = vec3(hsl.z); - else { - float f2; - - if (hsl.z < 0.5) - f2 = hsl.z * (1.0 + hsl.y); - else - f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z); - - float f1 = 2.0 * hsl.z - f2; - - rgb.r = hue2rgb(f1, f2, hsl.x + (1.0/3.0)); - rgb.g = hue2rgb(f1, f2, hsl.x); - rgb.b = hue2rgb(f1, f2, hsl.x - (1.0/3.0)); - } - - return rgb; -} - -vec3 blendHue(vec3 base, vec3 blend) { - vec3 baseHSL = rgb2hsl(base); - return hsl2rgb(vec3(rgb2hsl(blend).r, baseHSL.g, baseHSL.b)); -} - -void main() { - vec4 texture; - - %forloop% - - vec4 texel = vec4(outTint.bgr * outTint.a, outTint.a); - - // Multiply texture tint - vec4 color = texture * texel; - - if (outTintEffect == 1.0) { - // Solid color + texture alpha - color.rgb = mix(texture.rgb, outTint.bgr * outTint.a, texture.a); - } else if (outTintEffect == 2.0) { - // Solid color, no texture - color = texel; - } - - /* Apply day/night tint */ - if (color.a > 0.0 && ignoreTimeTint == 0) { - vec3 dayNightTint; - - if (time < 0.25) { - dayNightTint = dayTint; - } else if (isOutside == 0 && time < 0.5) { - dayNightTint = mix(dayTint, nightTint, (time - 0.25) / 0.25); - } else if (time < 0.375) { - dayNightTint = mix(dayTint, duskTint, (time - 0.25) / 0.125); - } else if (time < 0.5) { - dayNightTint = mix(duskTint, nightTint, (time - 0.375) / 0.125); - } else if (time < 0.75) { - dayNightTint = nightTint; - } else if (isOutside == 0) { - dayNightTint = mix(nightTint, dayTint, (time - 0.75) / 0.25); - } else if (time < 0.875) { - dayNightTint = mix(nightTint, duskTint, (time - 0.75) / 0.125); - } else { - dayNightTint = mix(duskTint, dayTint, (time - 0.875) / 0.125); - } - - color = vec4(blendHardLight(color.rgb, dayNightTint), color.a); - } - - if (terrainColorRatio > 0.0 && (1.0 - terrainColorRatio) < outTexCoord.y) { - if (color.a > 0.0 && (terrainColor.r > 0.0 || terrainColor.g > 0.0 || terrainColor.b > 0.0)) { - color.rgb = mix(color.rgb, blendHue(color.rgb, terrainColor), 1.0); - } - } - - gl_FragColor = color; -} -`; - -const spriteVertShader = ` -precision mediump float; - -uniform mat4 uProjectionMatrix; -uniform int uRoundPixels; -uniform vec2 uResolution; - -attribute vec2 inPosition; -attribute vec2 inTexCoord; -attribute float inTexId; -attribute float inTintEffect; -attribute vec4 inTint; - -varying vec2 outTexCoord; -varying float outTexId; -varying vec2 outPosition; -varying float outTintEffect; -varying vec4 outTint; - -void main() { - gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0); - if (uRoundPixels == 1) - { - gl_Position.xy = floor(((gl_Position.xy + 1.0) * 0.5 * uResolution) + 0.5) / uResolution * 2.0 - 1.0; - } - outTexCoord = inTexCoord; - outTexId = inTexId; - outPosition = inPosition; - outTint = inTint; - outTintEffect = inTintEffect; -} -`; +import fieldSpriteFragShader from "./glsl/fieldSpriteFragShader.frag?raw"; +import spriteVertShader from "./glsl/spriteShader.vert?raw"; export default class FieldSpritePipeline extends Phaser.Renderer.WebGL.Pipelines.MultiPipeline { constructor(game: Phaser.Game, config?: Phaser.Types.Renderer.WebGL.WebGLPipelineConfig) { @@ -212,7 +10,7 @@ export default class FieldSpritePipeline extends Phaser.Renderer.WebGL.Pipelines config || { game: game, name: "field-sprite", - fragShader: spriteFragShader, + fragShader: fieldSpriteFragShader, vertShader: spriteVertShader, }, ); diff --git a/src/pipelines/glsl/fieldSpriteFragShader.frag b/src/pipelines/glsl/fieldSpriteFragShader.frag new file mode 100644 index 00000000000..e79dea86fe9 --- /dev/null +++ b/src/pipelines/glsl/fieldSpriteFragShader.frag @@ -0,0 +1,168 @@ +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif + +uniform sampler2D uMainSampler[%count%]; + +varying vec2 outTexCoord; +varying float outTexId; +varying float outTintEffect; +varying vec4 outTint; + +uniform float time; +uniform int ignoreTimeTint; +uniform int isOutside; +uniform vec3 dayTint; +uniform vec3 duskTint; +uniform vec3 nightTint; +uniform vec3 terrainColor; +uniform float terrainColorRatio; + +float blendOverlay(float base, float blend) { + return base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend)); +} + +vec3 blendOverlay(vec3 base, vec3 blend) { + return vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b)); +} + +vec3 blendHardLight(vec3 base, vec3 blend) { + return blendOverlay(blend, base); +} + +float hue2rgb(float f1, float f2, float hue) { + if (hue < 0.0) + hue += 1.0; + else if (hue > 1.0) + hue -= 1.0; + float res; + if ((6.0 * hue) < 1.0) + res = f1 + (f2 - f1) * 6.0 * hue; + else if ((2.0 * hue) < 1.0) + res = f2; + else if ((3.0 * hue) < 2.0) + res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0; + else + res = f1; + return res; +} + +vec3 rgb2hsl(vec3 color) { + vec3 hsl; + + float fmin = min(min(color.r, color.g), color.b); + float fmax = max(max(color.r, color.g), color.b); + float delta = fmax - fmin; + + hsl.z = (fmax + fmin) / 2.0; + + if (delta == 0.0) { + hsl.x = 0.0; + hsl.y = 0.0; + } else { + if (hsl.z < 0.5) + hsl.y = delta / (fmax + fmin); + else + hsl.y = delta / (2.0 - fmax - fmin); + + float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta; + float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta; + float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta; + + if (color.r == fmax ) + hsl.x = deltaB - deltaG; + else if (color.g == fmax) + hsl.x = (1.0 / 3.0) + deltaR - deltaB; + else if (color.b == fmax) + hsl.x = (2.0 / 3.0) + deltaG - deltaR; + + if (hsl.x < 0.0) + hsl.x += 1.0; + else if (hsl.x > 1.0) + hsl.x -= 1.0; + } + + return hsl; +} + +vec3 hsl2rgb(vec3 hsl) { + vec3 rgb; + + if (hsl.y == 0.0) + rgb = vec3(hsl.z); + else { + float f2; + + if (hsl.z < 0.5) + f2 = hsl.z * (1.0 + hsl.y); + else + f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z); + + float f1 = 2.0 * hsl.z - f2; + + rgb.r = hue2rgb(f1, f2, hsl.x + (1.0/3.0)); + rgb.g = hue2rgb(f1, f2, hsl.x); + rgb.b = hue2rgb(f1, f2, hsl.x - (1.0/3.0)); + } + + return rgb; +} + +vec3 blendHue(vec3 base, vec3 blend) { + vec3 baseHSL = rgb2hsl(base); + return hsl2rgb(vec3(rgb2hsl(blend).r, baseHSL.g, baseHSL.b)); +} + +void main() { + vec4 texture; + + %forloop% + + vec4 texel = vec4(outTint.bgr * outTint.a, outTint.a); + + // Multiply texture tint + vec4 color = texture * texel; + + if (outTintEffect == 1.0) { + // Solid color + texture alpha + color.rgb = mix(texture.rgb, outTint.bgr * outTint.a, texture.a); + } else if (outTintEffect == 2.0) { + // Solid color, no texture + color = texel; + } + + /* Apply day/night tint */ + if (color.a > 0.0 && ignoreTimeTint == 0) { + vec3 dayNightTint; + + if (time < 0.25) { + dayNightTint = dayTint; + } else if (isOutside == 0 && time < 0.5) { + dayNightTint = mix(dayTint, nightTint, (time - 0.25) / 0.25); + } else if (time < 0.375) { + dayNightTint = mix(dayTint, duskTint, (time - 0.25) / 0.125); + } else if (time < 0.5) { + dayNightTint = mix(duskTint, nightTint, (time - 0.375) / 0.125); + } else if (time < 0.75) { + dayNightTint = nightTint; + } else if (isOutside == 0) { + dayNightTint = mix(nightTint, dayTint, (time - 0.75) / 0.25); + } else if (time < 0.875) { + dayNightTint = mix(nightTint, duskTint, (time - 0.75) / 0.125); + } else { + dayNightTint = mix(duskTint, dayTint, (time - 0.875) / 0.125); + } + + color = vec4(blendHardLight(color.rgb, dayNightTint), color.a); + } + + if (terrainColorRatio > 0.0 && (1.0 - terrainColorRatio) < outTexCoord.y) { + if (color.a > 0.0 && (terrainColor.r > 0.0 || terrainColor.g > 0.0 || terrainColor.b > 0.0)) { + color.rgb = mix(color.rgb, blendHue(color.rgb, terrainColor), 1.0); + } + } + + gl_FragColor = color; +} \ No newline at end of file diff --git a/src/pipelines/glsl/invert.frag b/src/pipelines/glsl/invert.frag new file mode 100644 index 00000000000..24d9ee83a55 --- /dev/null +++ b/src/pipelines/glsl/invert.frag @@ -0,0 +1,10 @@ +precision mediump float; + +uniform sampler2D uMainSampler; + +varying vec2 outTexCoord; + +void main() +{ + gl_FragColor = 1.0 - texture2D(uMainSampler, outTexCoord); +} \ No newline at end of file diff --git a/src/pipelines/glsl/spriteFragShader.frag b/src/pipelines/glsl/spriteFragShader.frag new file mode 100644 index 00000000000..3765e595b70 --- /dev/null +++ b/src/pipelines/glsl/spriteFragShader.frag @@ -0,0 +1,279 @@ +#ifdef GL_FRAGMENT_PRECISION_HIGH +precision highp float; +#else +precision mediump float; +#endif + +uniform sampler2D uMainSampler[%count%]; + +varying vec2 outTexCoord; +varying float outTexId; +varying vec2 outPosition; +varying float outTintEffect; +varying vec4 outTint; + +uniform float time; +uniform int ignoreTimeTint; +uniform int isOutside; +uniform vec3 dayTint; +uniform vec3 duskTint; +uniform vec3 nightTint; +uniform float teraTime; +uniform vec3 teraColor; +uniform int hasShadow; +uniform int yCenter; +uniform float fieldScale; +uniform float vCutoff; +uniform vec2 relPosition; +uniform vec2 texFrameUv; +uniform vec2 size; +uniform vec2 texSize; +uniform float yOffset; +uniform float yShadowOffset; +uniform vec4 tone; +uniform ivec4 baseVariantColors[32]; +uniform vec4 variantColors[32]; +uniform ivec4 spriteColors[32]; +uniform ivec4 fusionSpriteColors[32]; + +const vec3 lumaF = vec3(.299, .587, .114); + +float blendOverlay(float base, float blend) { + return base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend)); +} + +vec3 blendOverlay(vec3 base, vec3 blend) { + return vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b)); +} + +vec3 blendHardLight(vec3 base, vec3 blend) { + return blendOverlay(blend, base); +} + +float hue2rgb(float f1, float f2, float hue) { + if (hue < 0.0) + hue += 1.0; + else if (hue > 1.0) + hue -= 1.0; + float res; + if ((6.0 * hue) < 1.0) + res = f1 + (f2 - f1) * 6.0 * hue; + else if ((2.0 * hue) < 1.0) + res = f2; + else if ((3.0 * hue) < 2.0) + res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0; + else + res = f1; + return res; +} + +vec3 rgb2hsl(vec3 color) { + vec3 hsl; + + float fmin = min(min(color.r, color.g), color.b); + float fmax = max(max(color.r, color.g), color.b); + float delta = fmax - fmin; + + hsl.z = (fmax + fmin) / 2.0; + + if (delta == 0.0) { + hsl.x = 0.0; + hsl.y = 0.0; + } else { + if (hsl.z < 0.5) + hsl.y = delta / (fmax + fmin); + else + hsl.y = delta / (2.0 - fmax - fmin); + + float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta; + float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta; + float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta; + + if (color.r == fmax ) + hsl.x = deltaB - deltaG; + else if (color.g == fmax) + hsl.x = (1.0 / 3.0) + deltaR - deltaB; + else if (color.b == fmax) + hsl.x = (2.0 / 3.0) + deltaG - deltaR; + + if (hsl.x < 0.0) + hsl.x += 1.0; + else if (hsl.x > 1.0) + hsl.x -= 1.0; + } + + return hsl; +} + +vec3 hsl2rgb(vec3 hsl) { + vec3 rgb; + + if (hsl.y == 0.0) + rgb = vec3(hsl.z); + else { + float f2; + + if (hsl.z < 0.5) + f2 = hsl.z * (1.0 + hsl.y); + else + f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z); + + float f1 = 2.0 * hsl.z - f2; + + rgb.r = hue2rgb(f1, f2, hsl.x + (1.0/3.0)); + rgb.g = hue2rgb(f1, f2, hsl.x); + rgb.b= hue2rgb(f1, f2, hsl.x - (1.0/3.0)); + } + + return rgb; +} + +vec3 blendHue(vec3 base, vec3 blend) { + vec3 baseHSL = rgb2hsl(base); + return hsl2rgb(vec3(rgb2hsl(blend).r, baseHSL.g, baseHSL.b)); +} + +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); + vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +void main() { + vec4 texture = texture2D(uMainSampler[0], outTexCoord); + + ivec4 colorInt = ivec4(texture*255.0); + + for (int i = 0; i < 32; i++) { + if (baseVariantColors[i][3] == 0) + break; + // abs value is broken in this version of gles with highp + ivec3 diffs = ivec3( + (colorInt.r > baseVariantColors[i].r) ? colorInt.r - baseVariantColors[i].r : baseVariantColors[i].r - colorInt.r, + (colorInt.g > baseVariantColors[i].g) ? colorInt.g - baseVariantColors[i].g : baseVariantColors[i].g - colorInt.g, + (colorInt.b > baseVariantColors[i].b) ? colorInt.b - baseVariantColors[i].b : baseVariantColors[i].b - colorInt.b + ); + // Set color threshold to be within 3 points for each channel + bvec3 threshold = lessThan(diffs, ivec3(3)); + + if (texture.a > 0.0 && all(threshold)) { + texture.rgb = variantColors[i].rgb; + break; + } + } + + for (int i = 0; i < 32; i++) { + if (spriteColors[i][3] == 0) + break; + if (texture.a > 0.0 && colorInt.r == spriteColors[i].r && colorInt.g == spriteColors[i].g && colorInt.b == spriteColors[i].b) { + vec3 fusionColor = vec3(float(fusionSpriteColors[i].r) / 255.0, float(fusionSpriteColors[i].g) / 255.0, float(fusionSpriteColors[i].b) / 255.0); + vec3 bg = vec3(spriteColors[i].rgb) / 255.0; + float gray = (bg.r + bg.g + bg.b) / 3.0; + bg = vec3(gray, gray, gray); + vec3 fg = fusionColor; + texture.rgb = mix(1.0 - 2.0 * (1.0 - bg) * (1.0 - fg), 2.0 * bg * fg, step(bg, vec3(0.5))); + break; + } + } + + vec4 texel = vec4(outTint.bgr * outTint.a, outTint.a); + + // Multiply texture tint + vec4 color = texture * texel; + + if (color.a > 0.0 && teraColor.r > 0.0 && teraColor.g > 0.0 && teraColor.b > 0.0) { + vec2 relUv = vec2((outTexCoord.x - texFrameUv.x) / (size.x / texSize.x), (outTexCoord.y - texFrameUv.y) / (size.y / texSize.y)); + vec2 teraTexCoord = vec2(relUv.x * (size.x / 200.0), relUv.y * (size.y / 120.0)); + vec4 teraCol = texture2D(uMainSampler[1], teraTexCoord); + float floorValue = 86.0 / 255.0; + vec3 teraPatternHsv = rgb2hsv(teraCol.rgb); + teraCol.rgb = hsv2rgb(vec3((teraPatternHsv.b - floorValue) * 4.0 + teraTexCoord.x * fieldScale / 2.0 + teraTexCoord.y * fieldScale / 2.0 + teraTime * 255.0, teraPatternHsv.b, teraPatternHsv.b)); + + color.rgb = mix(color.rgb, blendHue(color.rgb, teraColor), 0.625); + teraCol.rgb = mix(teraCol.rgb, teraColor, 0.5); + color.rgb = blendOverlay(color.rgb, teraCol.rgb); + + if (any(lessThan(teraCol.rgb, vec3(1.0)))) { + vec3 teraColHsv = rgb2hsv(teraColor); + color.rgb = mix(color.rgb, teraColor, (1.0 - teraColHsv.g) / 2.0); + } + } + + if (outTintEffect == 1.0) { + // Solid color + texture alpha + color.rgb = mix(texture.rgb, outTint.bgr * outTint.a, texture.a); + } else if (outTintEffect == 2.0) { + // Solid color, no texture + color = texel; + } + + /* Apply gray */ + float luma = dot(color.rgb, lumaF); + color.rgb = mix(color.rgb, vec3(luma), tone.w); + + /* Apply tone */ + color.rgb += tone.rgb * (color.a / 255.0); + + /* Apply day/night tint */ + if (color.a > 0.0 && ignoreTimeTint == 0) { + vec3 dayNightTint; + + if (time < 0.25) { + dayNightTint = dayTint; + } else if (isOutside == 0 && time < 0.5) { + dayNightTint = mix(dayTint, nightTint, (time - 0.25) / 0.25); + } else if (time < 0.375) { + dayNightTint = mix(dayTint, duskTint, (time - 0.25) / 0.125); + } else if (time < 0.5) { + dayNightTint = mix(duskTint, nightTint, (time - 0.375) / 0.125); + } else if (time < 0.75) { + dayNightTint = nightTint; + } else if (isOutside == 0) { + dayNightTint = mix(nightTint, dayTint, (time - 0.75) / 0.25); + } else if (time < 0.875) { + dayNightTint = mix(nightTint, duskTint, (time - 0.75) / 0.125); + } else { + dayNightTint = mix(duskTint, dayTint, (time - 0.875) / 0.125); + } + + color.rgb = blendHardLight(color.rgb, dayNightTint); + } + + if (hasShadow == 1) { + float width = size.x - (yOffset / 2.0); + + float spriteX = ((floor(outPosition.x / fieldScale) - relPosition.x) / width) + 0.5; + float spriteY = ((floor(outPosition.y / fieldScale) - relPosition.y - yShadowOffset) / size.y); + + if (yCenter == 1) { + spriteY += 0.5; + } else { + spriteY += 1.0; + } + + bool yOverflow = outTexCoord.y >= vCutoff; + + if ((spriteY >= 0.9 && (color.a == 0.0 || yOverflow))) { + float shadowSpriteY = (spriteY - 0.9) * (1.0 / 0.15); + if (distance(vec2(spriteX, shadowSpriteY), vec2(0.5, 0.5)) < 0.5) { + color = vec4(vec3(0.0, 0.0, 0.0), 0.5); + } else if (yOverflow) { + discard; + } + } else if (yOverflow) { + discard; + } + } + + gl_FragColor = color; +} \ No newline at end of file diff --git a/src/pipelines/glsl/spriteShader.vert b/src/pipelines/glsl/spriteShader.vert new file mode 100644 index 00000000000..33743384b47 --- /dev/null +++ b/src/pipelines/glsl/spriteShader.vert @@ -0,0 +1,32 @@ +precision mediump float; + +uniform mat4 uProjectionMatrix; +uniform int uRoundPixels; +uniform vec2 uResolution; + +attribute vec2 inPosition; +attribute vec2 inTexCoord; +attribute float inTexId; +attribute float inTintEffect; +attribute vec4 inTint; + +varying vec2 outTexCoord; +varying vec2 outtexFrameUv; +varying float outTexId; +varying vec2 outPosition; +varying float outTintEffect; +varying vec4 outTint; + +void main() +{ + gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0); + if (uRoundPixels == 1) + { + gl_Position.xy = floor(((gl_Position.xy + 1.0) * 0.5 * uResolution) + 0.5) / uResolution * 2.0 - 1.0; + } + outTexCoord = inTexCoord; + outTexId = inTexId; + outPosition = inPosition; + outTint = inTint; + outTintEffect = inTintEffect; +} \ No newline at end of file diff --git a/src/pipelines/invert.ts b/src/pipelines/invert.ts index a945d0c95aa..0ebc3ad865f 100644 --- a/src/pipelines/invert.ts +++ b/src/pipelines/invert.ts @@ -1,17 +1,5 @@ import type { Game } from "phaser"; - -const fragShader = ` -precision mediump float; - -uniform sampler2D uMainSampler; - -varying vec2 outTexCoord; - -void main() -{ - gl_FragColor = 1.0 - texture2D(uMainSampler, outTexCoord); -} -`; +import fragShader from "./glsl/invert.frag?raw"; export default class InvertPostFX extends Phaser.Renderer.WebGL.Pipelines.PostFXPipeline { constructor(game: Game) { diff --git a/src/pipelines/sprite.ts b/src/pipelines/sprite.ts index 439e35f711f..acbaac50476 100644 --- a/src/pipelines/sprite.ts +++ b/src/pipelines/sprite.ts @@ -1,318 +1,12 @@ -import { variantColorCache } from "#app/data/variant"; +import { variantColorCache } from "#app/sprites/variant"; import MysteryEncounterIntroVisuals from "#app/field/mystery-encounter-intro"; import Pokemon from "#app/field/pokemon"; import Trainer from "#app/field/trainer"; import { globalScene } from "#app/global-scene"; import * as Utils from "#app/utils"; import FieldSpritePipeline from "./field-sprite"; - -const spriteFragShader = ` -#ifdef GL_FRAGMENT_PRECISION_HIGH -precision highp float; -#else -precision mediump float; -#endif - -uniform sampler2D uMainSampler[%count%]; - -varying vec2 outTexCoord; -varying float outTexId; -varying vec2 outPosition; -varying float outTintEffect; -varying vec4 outTint; - -uniform float time; -uniform int ignoreTimeTint; -uniform int isOutside; -uniform vec3 dayTint; -uniform vec3 duskTint; -uniform vec3 nightTint; -uniform float teraTime; -uniform vec3 teraColor; -uniform int hasShadow; -uniform int yCenter; -uniform float fieldScale; -uniform float vCutoff; -uniform vec2 relPosition; -uniform vec2 texFrameUv; -uniform vec2 size; -uniform vec2 texSize; -uniform float yOffset; -uniform float yShadowOffset; -uniform vec4 tone; -uniform ivec4 baseVariantColors[32]; -uniform vec4 variantColors[32]; -uniform ivec4 spriteColors[32]; -uniform ivec4 fusionSpriteColors[32]; - -const vec3 lumaF = vec3(.299, .587, .114); - -float blendOverlay(float base, float blend) { - return base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend)); -} - -vec3 blendOverlay(vec3 base, vec3 blend) { - return vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b)); -} - -vec3 blendHardLight(vec3 base, vec3 blend) { - return blendOverlay(blend, base); -} - -float hue2rgb(float f1, float f2, float hue) { - if (hue < 0.0) - hue += 1.0; - else if (hue > 1.0) - hue -= 1.0; - float res; - if ((6.0 * hue) < 1.0) - res = f1 + (f2 - f1) * 6.0 * hue; - else if ((2.0 * hue) < 1.0) - res = f2; - else if ((3.0 * hue) < 2.0) - res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0; - else - res = f1; - return res; -} - -vec3 rgb2hsl(vec3 color) { - vec3 hsl; - - float fmin = min(min(color.r, color.g), color.b); - float fmax = max(max(color.r, color.g), color.b); - float delta = fmax - fmin; - - hsl.z = (fmax + fmin) / 2.0; - - if (delta == 0.0) { - hsl.x = 0.0; - hsl.y = 0.0; - } else { - if (hsl.z < 0.5) - hsl.y = delta / (fmax + fmin); - else - hsl.y = delta / (2.0 - fmax - fmin); - - float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta; - float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta; - float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta; - - if (color.r == fmax ) - hsl.x = deltaB - deltaG; - else if (color.g == fmax) - hsl.x = (1.0 / 3.0) + deltaR - deltaB; - else if (color.b == fmax) - hsl.x = (2.0 / 3.0) + deltaG - deltaR; - - if (hsl.x < 0.0) - hsl.x += 1.0; - else if (hsl.x > 1.0) - hsl.x -= 1.0; - } - - return hsl; -} - -vec3 hsl2rgb(vec3 hsl) { - vec3 rgb; - - if (hsl.y == 0.0) - rgb = vec3(hsl.z); - else { - float f2; - - if (hsl.z < 0.5) - f2 = hsl.z * (1.0 + hsl.y); - else - f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z); - - float f1 = 2.0 * hsl.z - f2; - - rgb.r = hue2rgb(f1, f2, hsl.x + (1.0/3.0)); - rgb.g = hue2rgb(f1, f2, hsl.x); - rgb.b= hue2rgb(f1, f2, hsl.x - (1.0/3.0)); - } - - return rgb; -} - -vec3 blendHue(vec3 base, vec3 blend) { - vec3 baseHSL = rgb2hsl(base); - return hsl2rgb(vec3(rgb2hsl(blend).r, baseHSL.g, baseHSL.b)); -} - -vec3 rgb2hsv(vec3 c) { - vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); - vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); - - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); -} - -vec3 hsv2rgb(vec3 c) { - vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); -} - -void main() { - vec4 texture = texture2D(uMainSampler[0], outTexCoord); - - ivec4 colorInt = ivec4(int(texture.r * 255.0), int(texture.g * 255.0), int(texture.b * 255.0), int(texture.a * 255.0)); - - for (int i = 0; i < 32; i++) { - if (baseVariantColors[i][3] == 0) - break; - if (texture.a > 0.0 && colorInt.r == baseVariantColors[i].r && colorInt.g == baseVariantColors[i].g && colorInt.b == baseVariantColors[i].b) { - texture.rgb = variantColors[i].rgb; - break; - } - } - - for (int i = 0; i < 32; i++) { - if (spriteColors[i][3] == 0) - break; - if (texture.a > 0.0 && colorInt.r == spriteColors[i].r && colorInt.g == spriteColors[i].g && colorInt.b == spriteColors[i].b) { - vec3 fusionColor = vec3(float(fusionSpriteColors[i].r) / 255.0, float(fusionSpriteColors[i].g) / 255.0, float(fusionSpriteColors[i].b) / 255.0); - vec3 bg = vec3(float(spriteColors[i].r) / 255.0, float(spriteColors[i].g) / 255.0, float(spriteColors[i].b) / 255.0); - float gray = (bg.r + bg.g + bg.b) / 3.0; - bg = vec3(gray, gray, gray); - vec3 fg = fusionColor; - texture.rgb = mix(1.0 - 2.0 * (1.0 - bg) * (1.0 - fg), 2.0 * bg * fg, step(bg, vec3(0.5))); - break; - } - } - - vec4 texel = vec4(outTint.bgr * outTint.a, outTint.a); - - // Multiply texture tint - vec4 color = texture * texel; - - if (color.a > 0.0 && teraColor.r > 0.0 && teraColor.g > 0.0 && teraColor.b > 0.0) { - vec2 relUv = vec2((outTexCoord.x - texFrameUv.x) / (size.x / texSize.x), (outTexCoord.y - texFrameUv.y) / (size.y / texSize.y)); - vec2 teraTexCoord = vec2(relUv.x * (size.x / 200.0), relUv.y * (size.y / 120.0)); - vec4 teraCol = texture2D(uMainSampler[1], teraTexCoord); - float floorValue = 86.0 / 255.0; - vec3 teraPatternHsv = rgb2hsv(teraCol.rgb); - teraCol.rgb = hsv2rgb(vec3((teraPatternHsv.b - floorValue) * 4.0 + teraTexCoord.x * fieldScale / 2.0 + teraTexCoord.y * fieldScale / 2.0 + teraTime * 255.0, teraPatternHsv.b, teraPatternHsv.b)); - - color.rgb = mix(color.rgb, blendHue(color.rgb, teraColor), 0.625); - teraCol.rgb = mix(teraCol.rgb, teraColor, 0.5); - color.rgb = blendOverlay(color.rgb, teraCol.rgb); - - if (teraColor.r < 1.0 || teraColor.g < 1.0 || teraColor.b < 1.0) { - vec3 teraColHsv = rgb2hsv(teraColor); - color.rgb = mix(color.rgb, teraColor, (1.0 - teraColHsv.g) / 2.0); - } - } - - if (outTintEffect == 1.0) { - // Solid color + texture alpha - color.rgb = mix(texture.rgb, outTint.bgr * outTint.a, texture.a); - } else if (outTintEffect == 2.0) { - // Solid color, no texture - color = texel; - } - - /* Apply gray */ - float luma = dot(color.rgb, lumaF); - color.rgb = mix(color.rgb, vec3(luma), tone.w); - - /* Apply tone */ - color.rgb += tone.rgb * (color.a / 255.0); - - /* Apply day/night tint */ - if (color.a > 0.0 && ignoreTimeTint == 0) { - vec3 dayNightTint; - - if (time < 0.25) { - dayNightTint = dayTint; - } else if (isOutside == 0 && time < 0.5) { - dayNightTint = mix(dayTint, nightTint, (time - 0.25) / 0.25); - } else if (time < 0.375) { - dayNightTint = mix(dayTint, duskTint, (time - 0.25) / 0.125); - } else if (time < 0.5) { - dayNightTint = mix(duskTint, nightTint, (time - 0.375) / 0.125); - } else if (time < 0.75) { - dayNightTint = nightTint; - } else if (isOutside == 0) { - dayNightTint = mix(nightTint, dayTint, (time - 0.75) / 0.25); - } else if (time < 0.875) { - dayNightTint = mix(nightTint, duskTint, (time - 0.75) / 0.125); - } else { - dayNightTint = mix(duskTint, dayTint, (time - 0.875) / 0.125); - } - - color.rgb = blendHardLight(color.rgb, dayNightTint); - } - - if (hasShadow == 1) { - float width = size.x - (yOffset / 2.0); - - float spriteX = ((floor(outPosition.x / fieldScale) - relPosition.x) / width) + 0.5; - float spriteY = ((floor(outPosition.y / fieldScale) - relPosition.y - yShadowOffset) / size.y); - - if (yCenter == 1) { - spriteY += 0.5; - } else { - spriteY += 1.0; - } - - bool yOverflow = outTexCoord.y >= vCutoff; - - if ((spriteY >= 0.9 && (color.a == 0.0 || yOverflow))) { - float shadowSpriteY = (spriteY - 0.9) * (1.0 / 0.15); - if (distance(vec2(spriteX, shadowSpriteY), vec2(0.5, 0.5)) < 0.5) { - color = vec4(vec3(0.0, 0.0, 0.0), 0.5); - } else if (yOverflow) { - discard; - } - } else if (yOverflow) { - discard; - } - } - - gl_FragColor = color; -} -`; - -const spriteVertShader = ` -precision mediump float; - -uniform mat4 uProjectionMatrix; -uniform int uRoundPixels; -uniform vec2 uResolution; - -attribute vec2 inPosition; -attribute vec2 inTexCoord; -attribute float inTexId; -attribute float inTintEffect; -attribute vec4 inTint; - -varying vec2 outTexCoord; -varying vec2 outtexFrameUv; -varying float outTexId; -varying vec2 outPosition; -varying float outTintEffect; -varying vec4 outTint; - -void main() -{ - gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0); - if (uRoundPixels == 1) - { - gl_Position.xy = floor(((gl_Position.xy + 1.0) * 0.5 * uResolution) + 0.5) / uResolution * 2.0 - 1.0; - } - outTexCoord = inTexCoord; - outTexId = inTexId; - outPosition = inPosition; - outTint = inTint; - outTintEffect = inTintEffect; -} -`; +import spriteFragShader from "./glsl/spriteFragShader.frag?raw"; +import spriteVertShader from "./glsl/spriteShader.vert?raw"; export default class SpritePipeline extends FieldSpritePipeline { private _tone: number[]; diff --git a/src/sprites/pokemon-asset-loader.ts b/src/sprites/pokemon-asset-loader.ts new file mode 100644 index 00000000000..4ce88f4f1fb --- /dev/null +++ b/src/sprites/pokemon-asset-loader.ts @@ -0,0 +1,11 @@ +import type { Moves } from "#enums/moves"; +import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; + +/** + * Asynchronously load the animations and assets for the provided moves. + * @param moveIds - An array of move IDs to load assets for. + */ +export async function loadMoveAnimations(moveIds: Moves[]): Promise { + await Promise.allSettled(moveIds.map(m => initMoveAnim(m))); + await loadMoveAnimAssets(moveIds); +} diff --git a/src/sprites/pokemon-sprite.ts b/src/sprites/pokemon-sprite.ts new file mode 100644 index 00000000000..66432f5a4ea --- /dev/null +++ b/src/sprites/pokemon-sprite.ts @@ -0,0 +1,79 @@ +import { globalScene } from "#app/global-scene"; +import { variantColorCache, variantData } from "#app/sprites/variant"; +import { Gender } from "#app/data/gender"; +import { hasExpSprite } from "./sprite-utils"; +import type { Variant, VariantSet } from "#app/sprites/variant"; +import type Pokemon from "#app/field/pokemon"; +import type BattleScene from "#app/battle-scene"; + +// Regex patterns + +/** Regex matching double underscores */ +const DUNDER_REGEX = /\_{2}/g; + +/** + * Calculate the sprite ID from a pokemon form. + */ +export function getSpriteId(pokemon: Pokemon, ignoreOverride?: boolean): string { + return pokemon + .getSpeciesForm(ignoreOverride) + .getSpriteId( + pokemon.getGender(ignoreOverride) === Gender.FEMALE, + pokemon.formIndex, + pokemon.shiny, + pokemon.variant, + ); +} + +export function getBattleSpriteId(pokemon: Pokemon, back?: boolean, ignoreOverride = false): string { + if (back === undefined) { + back = pokemon.isPlayer(); + } + return pokemon + .getSpeciesForm(ignoreOverride) + .getSpriteId( + pokemon.getGender(ignoreOverride) === Gender.FEMALE, + pokemon.formIndex, + pokemon.shiny, + pokemon.variant, + back, + ); +} + +/** Compute the path to the sprite atlas by converting double underscores to path components (/) + */ +export function getSpriteAtlasPath(pokemon: Pokemon, ignoreOverride = false): string { + const spriteId = getSpriteId(pokemon, ignoreOverride).replace(DUNDER_REGEX, "/"); + return `${/_[1-3]$/.test(spriteId) ? "variant/" : ""}${spriteId}`; +} + +/** + * Load the variant assets for the given sprite and store it in {@linkcode variantColorCache}. + * @param spriteKey - The key of the sprite to load + * @param fileRoot - The root path of the sprite file + * @param variant - The variant to load + * @param scene - The scene to load the assets in (defaults to the global scene) + */ +export async function loadPokemonVariantAssets( + spriteKey: string, + fileRoot: string, + variant: Variant, + scene: BattleScene = globalScene, +): Promise { + if (variantColorCache.hasOwnProperty(spriteKey)) { + return; + } + const useExpSprite = scene.experimentalSprites && hasExpSprite(spriteKey); + if (useExpSprite) { + fileRoot = `exp/${fileRoot}`; + } + let variantConfig = variantData; + fileRoot.split("/").map(p => (variantConfig ? (variantConfig = variantConfig[p]) : null)); + const variantSet = variantConfig as VariantSet; + if (!variantConfig || variantSet[variant] !== 1) { + return; + } + variantColorCache[spriteKey] = await scene + .cachedFetch(`./images/pokemon/variant/${fileRoot}.json`) + .then(res => res.json()); +} diff --git a/src/sprites/sprite-keys.ts b/src/sprites/sprite-keys.ts new file mode 100644 index 00000000000..f023df089f6 --- /dev/null +++ b/src/sprites/sprite-keys.ts @@ -0,0 +1 @@ +export const expSpriteKeys: Set = new Set(); diff --git a/src/sprites/sprite-utils.ts b/src/sprites/sprite-utils.ts new file mode 100644 index 00000000000..8a352de3d55 --- /dev/null +++ b/src/sprites/sprite-utils.ts @@ -0,0 +1,28 @@ +import { expSpriteKeys } from "#app/sprites/sprite-keys"; + +const expKeyRegex = /^pkmn__?(back__)?(shiny__)?(female__)?(\d+)(\-.*?)?(?:_[1-3])?$/; + +export function hasExpSprite(key: string): boolean { + const keyMatch = expKeyRegex.exec(key); + if (!keyMatch) { + return false; + } + + let k = keyMatch[4]!; + if (keyMatch[2]) { + k += "s"; + } + if (keyMatch[1]) { + k += "b"; + } + if (keyMatch[3]) { + k += "f"; + } + if (keyMatch[5]) { + k += keyMatch[5]; + } + if (!expSpriteKeys.has(k)) { + return false; + } + return true; +} diff --git a/src/sprites/variant.ts b/src/sprites/variant.ts new file mode 100644 index 00000000000..7552f63b778 --- /dev/null +++ b/src/sprites/variant.ts @@ -0,0 +1,145 @@ +import { VariantTier } from "#app/enums/variant-tier"; +import { hasExpSprite } from "#app/sprites/sprite-utils"; +import { globalScene } from "#app/global-scene"; +import type Pokemon from "#app/field/pokemon"; +import { isNullOrUndefined } from "#app/utils"; + +export type Variant = 0 | 1 | 2; + +export type VariantSet = [Variant, Variant, Variant]; + +export const variantData: any = {}; + +/** Caches variant colors that have been generated */ +export const variantColorCache = {}; + +export function getVariantTint(variant: Variant): number { + switch (variant) { + case 0: + return 0xf8c020; + case 1: + return 0x20f8f0; + case 2: + return 0xe81048; + } +} + +export function getVariantIcon(variant: Variant): number { + switch (variant) { + case 0: + return VariantTier.STANDARD; + case 1: + return VariantTier.RARE; + case 2: + return VariantTier.EPIC; + } +} + +/** Delete all of the keys in variantData */ +export function clearVariantData(): void { + for (const key in variantData) { + delete variantData[key]; + } +} + +/** Update the variant data to use experiment sprite files for variants that have experimental sprites. */ +export async function mergeExperimentalData(mainData: any, expData: any): Promise { + if (!expData) { + return; + } + + for (const key of Object.keys(expData)) { + if (typeof expData[key] === "object" && !Array.isArray(expData[key])) { + // If the value is an object, recursively merge. + if (!mainData[key]) { + mainData[key] = {}; + } + mergeExperimentalData(mainData[key], expData[key]); + } else { + // Otherwise, replace the value + mainData[key] = expData[key]; + } + } +} + +/** + * Populate the variant color cache with the variant colors for this pokemon. + * The global scene must be initialized before this function is called. + */ +export async function populateVariantColors( + pokemon: Pokemon, + isBackSprite = false, + ignoreOverride = true, +): Promise { + const battleSpritePath = pokemon + .getBattleSpriteAtlasPath(isBackSprite, ignoreOverride) + .replace("variant/", "") + .replace(/_[1-3]$/, ""); + let config = variantData; + const useExpSprite = + globalScene.experimentalSprites && hasExpSprite(pokemon.getBattleSpriteKey(isBackSprite, ignoreOverride)); + battleSpritePath.split("/").map(p => (config ? (config = config[p]) : null)); + const variantSet: VariantSet = config as VariantSet; + if (!variantSet || variantSet[pokemon.variant] !== 1) { + return; + } + const cacheKey = pokemon.getBattleSpriteKey(isBackSprite); + if (!variantColorCache.hasOwnProperty(cacheKey)) { + await populateVariantColorCache(cacheKey, useExpSprite, battleSpritePath); + } +} + +/** + * Gracefully handle errors loading a variant sprite. Log if it fails and attempt to fall back on + * non-experimental sprites before giving up. + * + * @param cacheKey - The cache key for the variant color sprite + * @param attemptedSpritePath - The sprite path that failed to load + * @param useExpSprite - Was the attempted sprite experimental + * @param battleSpritePath - The filename of the sprite + * @param optionalParams - Any additional params to log + */ +async function fallbackVariantColor( + cacheKey: string, + attemptedSpritePath: string, + useExpSprite: boolean, + battleSpritePath: string, + ...optionalParams: any[] +): Promise { + console.warn(`Could not load ${attemptedSpritePath}!`, ...optionalParams); + if (useExpSprite) { + await populateVariantColorCache(cacheKey, false, battleSpritePath); + } +} + +/** + * Fetch a variant color sprite from the key and store it in the variant color cache. + * + * @param cacheKey - The cache key for the variant color sprite + * @param useExpSprite - Should the experimental sprite be used + * @param battleSpritePath - The filename of the sprite + */ +export async function populateVariantColorCache( + cacheKey: string, + useExpSprite: boolean, + battleSpritePath: string, +): Promise { + const spritePath = `./images/pokemon/variant/${useExpSprite ? "exp/" : ""}${battleSpritePath}.json`; + return globalScene + .cachedFetch(spritePath) + .then(res => { + // Prevent the JSON from processing if it failed to load + if (!res.ok) { + return fallbackVariantColor(cacheKey, res.url, useExpSprite, battleSpritePath, res.status, res.statusText); + } + return res.json(); + }) + .catch(error => { + return fallbackVariantColor(cacheKey, spritePath, useExpSprite, battleSpritePath, error); + }) + .then(c => { + if (!isNullOrUndefined(c)) { + variantColorCache[cacheKey] = c; + } + }); +} diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 391ceec503d..061a6d3a194 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -32,7 +32,7 @@ import { Tutorial } from "#app/tutorial"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { allMoves } from "#app/data/moves/move"; import { TrainerVariant } from "#app/field/trainer"; -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { setSettingGamepad, SettingGamepad, settingGamepadDefaults } from "#app/system/settings/settings-gamepad"; import type { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { setSettingKeyboard } from "#app/system/settings/settings-keyboard"; diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 957d43797a1..7cdcb0c72c3 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -7,7 +7,7 @@ import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-specie import { Status } from "../data/status-effect"; import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { loadBattlerTag } from "../data/battler-tags"; import type { Biome } from "#enums/biome"; import { Moves } from "#enums/moves"; diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 355ab9167a1..ab006269d4e 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -7,7 +7,7 @@ import { StatusEffect } from "#enums/status-effect"; import { globalScene } from "#app/global-scene"; import { getTypeRgb } from "#app/data/type"; import { PokemonType } from "#enums/pokemon-type"; -import { getVariantTint } from "#app/data/variant"; +import { getVariantTint } from "#app/sprites/variant"; import { Stat } from "#enums/stat"; import BattleFlyout from "./battle-flyout"; import { WindowVariant, addWindow } from "./ui-theme"; diff --git a/src/ui/hatched-pokemon-container.ts b/src/ui/hatched-pokemon-container.ts index 0b283c2e063..9d1c13e19d5 100644 --- a/src/ui/hatched-pokemon-container.ts +++ b/src/ui/hatched-pokemon-container.ts @@ -1,6 +1,6 @@ import type { EggHatchData } from "#app/data/egg-hatch-data"; import { Gender } from "#app/data/gender"; -import { getVariantTint } from "#app/data/variant"; +import { getVariantTint } from "#app/sprites/variant"; import { DexAttr } from "#app/system/game-data"; import { globalScene } from "#app/global-scene"; import type PokemonSpecies from "#app/data/pokemon-species"; diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index caddd64cd28..ebaccc515c1 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -18,7 +18,7 @@ import PokemonIconAnimHandler, { PokemonIconAnimMode } from "#app/ui/pokemon-ico import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { addWindow } from "#app/ui/ui-theme"; import { SpeciesFormChangeItemTrigger, FormChangeItem } from "#app/data/pokemon-forms"; -import { getVariantTint } from "#app/data/variant"; +import { getVariantTint } from "#app/sprites/variant"; import { Button } from "#enums/buttons"; import { applyChallenges, ChallengeType } from "#app/data/challenge"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; diff --git a/src/ui/pokedex-mon-container.ts b/src/ui/pokedex-mon-container.ts index e61da86e95e..410effda40d 100644 --- a/src/ui/pokedex-mon-container.ts +++ b/src/ui/pokedex-mon-container.ts @@ -1,4 +1,4 @@ -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { globalScene } from "#app/global-scene"; import { isNullOrUndefined } from "#app/utils"; import type PokemonSpecies from "../data/pokemon-species"; diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 062b4c3797c..eede346f052 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -1,7 +1,7 @@ import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import { pokemonEvolutions, pokemonPrevolutions, pokemonStarters } from "#app/data/balance/pokemon-evolutions"; -import type { Variant } from "#app/data/variant"; -import { getVariantTint, getVariantIcon } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; +import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import { starterColors } from "#app/battle-scene"; diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index 230b1bcb42b..59b06d476a2 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -1,5 +1,5 @@ -import type { Variant } from "#app/data/variant"; -import { getVariantTint, getVariantIcon } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; +import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import { starterColors } from "#app/battle-scene"; diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 56201f38748..1c880f6aec9 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -1,4 +1,4 @@ -import { getVariantTint } from "#app/data/variant"; +import { getVariantTint } from "#app/sprites/variant"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { globalScene } from "#app/global-scene"; import { Gender, getGenderColor, getGenderSymbol } from "../data/gender"; diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 364cb8e4003..8719950381a 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -18,7 +18,7 @@ import { getTypeRgb } from "#app/data/type"; import { PokemonType } from "#enums/pokemon-type"; import { TypeColor, TypeShadow } from "#app/enums/color"; import { getNatureStatMultiplier, getNatureName } from "../data/nature"; -import { getVariantTint } from "#app/data/variant"; +import { getVariantTint } from "#app/sprites/variant"; import * as Modifier from "../modifier/modifier"; import type { Species } from "#enums/species"; import { PlayerGender } from "#enums/player-gender"; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 1e84b367791..3876f2585db 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -1,8 +1,8 @@ import type { CandyUpgradeNotificationChangedEvent } from "#app/events/battle-scene"; import { BattleSceneEventType } from "#app/events/battle-scene"; import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; -import type { Variant } from "#app/data/variant"; -import { getVariantTint, getVariantIcon } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; +import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 9b209ded57a..aa3d014bd95 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -19,8 +19,8 @@ import { StatusEffect } from "#enums/status-effect"; import { getBiomeName } from "#app/data/balance/biomes"; import { getNatureName, getNatureStatMultiplier } from "#app/data/nature"; import { loggedInUser } from "#app/account"; -import type { Variant } from "#app/data/variant"; -import { getVariantTint } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; +import { getVariantTint } from "#app/sprites/variant"; import { Button } from "#enums/buttons"; import type { Ability } from "#app/data/ability"; import i18next from "i18next"; diff --git a/src/utils.ts b/src/utils.ts index 4092b68b405..2f05e2724ff 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -613,3 +613,25 @@ export function animationFileName(move: Moves): string { export function camelCaseToKebabCase(str: string): string { return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (s, o) => (o ? "-" : "") + s.toLowerCase()); } + +/** + * Merges the two objects, such that for each property in `b` that matches a property in `a`, + * the value in `a` is replaced by the value in `b`. This is done recursively if the property is a non-array object + * + * If the property does not exist in `a` or its `typeof` evaluates differently, the property is skipped. + * If the value of the property is an array, the array is replaced. If it is any other object, the object is merged recursively. + */ +// biome-ignore lint/complexity/noBannedTypes: This function is designed to merge json objects +export function deepMergeObjects(a: Object, b: Object) { + for (const key in b) { + // !(key in a) is redundant here, yet makes it clear that we're explicitly interested in properties that exist in `a` + if (!(key in a) || typeof a[key] !== typeof b[key]) { + continue; + } + if (typeof b[key] === "object" && !Array.isArray(b[key])) { + deepMergeObjects(a[key], b[key]); + } else { + a[key] = b[key]; + } + } +} diff --git a/test/sprites/pokemonSprite.test.ts b/test/sprites/pokemonSprite.test.ts index 5bd08a58cda..a008b75b42e 100644 --- a/test/sprites/pokemonSprite.test.ts +++ b/test/sprites/pokemonSprite.test.ts @@ -3,8 +3,10 @@ import fs from "fs"; import path from "path"; import { beforeAll, describe, expect, it } from "vitest"; import _masterlist from "../../public/images/pokemon/variant/_masterlist.json"; +import _exp_masterlist from "../../public/images/pokemon/variant/_exp_masterlist.json"; type PokemonVariantMasterlist = typeof _masterlist; +type PokemonExpVariantMasterlist = typeof _exp_masterlist; const deepCopy = (data: any) => { return JSON.parse(JSON.stringify(data)); @@ -12,7 +14,7 @@ const deepCopy = (data: any) => { describe("check if every variant's sprite are correctly set", () => { let masterlist: PokemonVariantMasterlist; - let expVariant: PokemonVariantMasterlist["exp"]; + let expVariant: PokemonExpVariantMasterlist; let femaleVariant: PokemonVariantMasterlist["female"]; let backVariant: PokemonVariantMasterlist["back"]; let rootDir: string; @@ -20,13 +22,12 @@ describe("check if every variant's sprite are correctly set", () => { beforeAll(() => { rootDir = `${getAppRootDir()}${path.sep}public${path.sep}images${path.sep}pokemon${path.sep}variant${path.sep}`; masterlist = deepCopy(_masterlist); - expVariant = masterlist.exp; + expVariant = deepCopy(_exp_masterlist); femaleVariant = masterlist.female; backVariant = masterlist.back; - //@ts-ignore - delete masterlist.exp; //TODO: resolve ts-ignore - //@ts-ignore - delete masterlist.female; //TODO: resolve ts-ignore + + // @ts-ignore + delete masterlist.female; // TODO: resolve ts-ignore //@ts-ignore delete masterlist.back; //TODO: resolve ts-ignore }); diff --git a/test/testUtils/helpers/overridesHelper.ts b/test/testUtils/helpers/overridesHelper.ts index 9bb0369a31a..0ed1511255b 100644 --- a/test/testUtils/helpers/overridesHelper.ts +++ b/test/testUtils/helpers/overridesHelper.ts @@ -1,4 +1,4 @@ -import type { Variant } from "#app/data/variant"; +import type { Variant } from "#app/sprites/variant"; import { Weather } from "#app/data/weather"; import { Abilities } from "#app/enums/abilities"; import type { ModifierOverride } from "#app/modifier/modifier-type"; From 1a7442511c4011118172824a97bc627712887327 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Thu, 10 Apr 2025 23:22:42 -0700 Subject: [PATCH 015/102] [Bug] Fix Biome selection RNG (#5645) --- src/phases/select-biome-phase.ts | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index 2d67cb87405..de705728c50 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -33,23 +33,19 @@ export class SelectBiomePhase extends BattlePhase { } else if (globalScene.gameMode.hasRandomBiomes) { setNextBiome(this.generateNextBiome()); } else if (Array.isArray(biomeLinks[currentBiome])) { - let biomes: Biome[] = []; - globalScene.executeWithSeedOffset(() => { - biomes = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) - .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) - .map(b => (!Array.isArray(b) ? b : b[0])); - }, globalScene.currentBattle.waveIndex); + const biomes: Biome[] = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) + .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) + .map(b => (!Array.isArray(b) ? b : b[0])); + if (biomes.length > 1 && globalScene.findModifier(m => m instanceof MapModifier)) { - let biomeChoices: Biome[] = []; - globalScene.executeWithSeedOffset(() => { - biomeChoices = ( - !Array.isArray(biomeLinks[currentBiome]) - ? [biomeLinks[currentBiome] as Biome] - : (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) - ) - .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) - .map(b => (Array.isArray(b) ? b[0] : b)); - }, globalScene.currentBattle.waveIndex); + const biomeChoices: Biome[] = ( + !Array.isArray(biomeLinks[currentBiome]) + ? [biomeLinks[currentBiome] as Biome] + : (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) + ) + .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) + .map(b => (Array.isArray(b) ? b[0] : b)); + const biomeSelectItems = biomeChoices.map(b => { const ret: OptionSelectItem = { label: getBiomeName(b), From 81f424dc71f25b58b6b460691a5c8ee0471ad8b0 Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Fri, 11 Apr 2025 15:33:25 -0500 Subject: [PATCH 016/102] [Balance] Fix and Adjust TM Compatibility Curse Skill Swap Aqua Tail Zen Headbutt Hidden Power Tera Blast --- src/data/balance/tms.ts | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/data/balance/tms.ts b/src/data/balance/tms.ts index 788ffd4f273..62199fd6968 100644 --- a/src/data/balance/tms.ts +++ b/src/data/balance/tms.ts @@ -19126,6 +19126,8 @@ export const tmSpecies: TmSpecies = { Species.KROOKODILE, Species.SCRAGGY, Species.SCRAFTY, + Species.YAMASK, + Species.COFAGRIGUS, Species.SAWSBUCK, Species.LITWICK, Species.LAMPENT, @@ -19163,6 +19165,7 @@ export const tmSpecies: TmSpecies = { Species.SINISTEA, Species.POLTEAGEIST, Species.PERRSERKER, + Species.RUNERIGUS, Species.PINCURCHIN, Species.STONJOURNER, Species.CUFANT, @@ -19228,6 +19231,7 @@ export const tmSpecies: TmSpecies = { Species.GALAR_SLOWBRO, Species.GALAR_WEEZING, Species.GALAR_SLOWKING, + Species.GALAR_YAMASK, Species.HISUI_ELECTRODE, Species.HISUI_TYPHLOSION, Species.HISUI_QWILFISH, @@ -30922,6 +30926,7 @@ export const tmSpecies: TmSpecies = { Species.MURKROW, Species.SLOWKING, Species.MISDREAVUS, + Species.UNOWN, Species.GIRAFARIG, Species.PINECO, Species.FORRETRESS, @@ -40134,6 +40139,8 @@ export const tmSpecies: TmSpecies = { Species.MEOWSTIC, Species.SPRITZEE, Species.AROMATISSE, + Species.INKAY, + Species.MALAMAR, Species.SYLVEON, Species.CARBINK, Species.PHANTUMP, @@ -49173,6 +49180,7 @@ export const tmSpecies: TmSpecies = { Species.KANGASKHAN, Species.GOLDEEN, Species.SEAKING, + Species.GYARADOS, Species.LAPRAS, Species.VAPOREON, Species.KABUTOPS, @@ -52587,6 +52595,7 @@ export const tmSpecies: TmSpecies = { Species.SNORLAX, Species.MEWTWO, Species.MEW, + Species.MEGANIUM, Species.CYNDAQUIL, Species.QUILAVA, Species.TYPHLOSION, @@ -66205,7 +66214,11 @@ export const tmSpecies: TmSpecies = { Species.SQUIRTLE, Species.WARTORTLE, Species.BLASTOISE, + Species.CATERPIE, + Species.METAPOD, Species.BUTTERFREE, + Species.WEEDLE, + Species.KAKUNA, Species.BEEDRILL, Species.PIDGEY, Species.PIDGEOTTO, @@ -66451,7 +66464,10 @@ export const tmSpecies: TmSpecies = { Species.MIGHTYENA, Species.ZIGZAGOON, Species.LINOONE, + Species.WURMPLE, + Species.SILCOON, Species.BEAUTIFLY, + Species.CASCOON, Species.DUSTOX, Species.LOTAD, Species.LOMBRE, @@ -66987,6 +67003,8 @@ export const tmSpecies: TmSpecies = { Species.STAKATAKA, Species.BLACEPHALON, Species.ZERAORA, + Species.MELTAN, + Species.MELMETAL, Species.ALOLA_RATTATA, Species.ALOLA_RATICATE, Species.ALOLA_RAICHU, @@ -67020,8 +67038,19 @@ export const tmSpecies: TmSpecies = { Species.ROOKIDEE, Species.CORVISQUIRE, Species.CORVIKNIGHT, + Species.BLIPBUG, + Species.DOTTLER, + Species.ORBEETLE, + Species.NICKIT, + Species.THIEVUL, + Species.GOSSIFLEUR, + Species.ELDEGOSS, + Species.WOOLOO, + Species.DUBWOOL, Species.CHEWTLE, Species.DREDNAW, + Species.YAMPER, + Species.BOLTUND, Species.ROLYCOLY, Species.CARKOL, Species.COALOSSAL, @@ -67035,6 +67064,10 @@ export const tmSpecies: TmSpecies = { Species.BARRASKEWDA, Species.TOXEL, Species.TOXTRICITY, + Species.SIZZLIPEDE, + Species.CENTISKORCH, + Species.CLOBBOPUS, + Species.GRAPPLOCT, Species.SINISTEA, Species.POLTEAGEIST, Species.HATENNA, @@ -67043,7 +67076,14 @@ export const tmSpecies: TmSpecies = { Species.IMPIDIMP, Species.MORGREM, Species.GRIMMSNARL, + Species.OBSTAGOON, Species.PERRSERKER, + Species.CURSOLA, + Species.SIRFETCHD, + Species.MR_RIME, + Species.RUNERIGUS, + Species.MILCERY, + Species.ALCREMIE, Species.FALINKS, Species.PINCURCHIN, Species.SNOM, @@ -67054,6 +67094,11 @@ export const tmSpecies: TmSpecies = { Species.MORPEKO, Species.CUFANT, Species.COPPERAJAH, + Species.DRACOZOLT, + Species.ARCTOZOLT, + Species.DRACOVISH, + Species.ARCTOVISH, + Species.DURALUDON, Species.DREEPY, Species.DRAKLOAK, Species.DRAGAPULT, @@ -67195,13 +67240,24 @@ export const tmSpecies: TmSpecies = { Species.IRON_CROWN, Species.PECHARUNT, Species.GALAR_MEOWTH, + Species.GALAR_PONYTA, + Species.GALAR_RAPIDASH, Species.GALAR_SLOWPOKE, Species.GALAR_SLOWBRO, + Species.GALAR_FARFETCHD, Species.GALAR_WEEZING, + Species.GALAR_MR_MIME, Species.GALAR_ARTICUNO, Species.GALAR_ZAPDOS, Species.GALAR_MOLTRES, Species.GALAR_SLOWKING, + Species.GALAR_CORSOLA, + Species.GALAR_ZIGZAGOON, + Species.GALAR_LINOONE, + Species.GALAR_DARUMAKA, + Species.GALAR_DARMANITAN, + Species.GALAR_YAMASK, + Species.GALAR_STUNFISK, Species.HISUI_GROWLITHE, Species.HISUI_ARCANINE, Species.HISUI_VOLTORB, From 6f56dce7712c609dc78f7ff11650eb6a34f8f661 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Fri, 11 Apr 2025 22:31:56 -0700 Subject: [PATCH 017/102] [Biome] Add and apply `lint/style/noNamespaceImport` (#5650) * Add `lint/style/noNamespaceImport` Biome rule * Apply Biome rule, add exception for `*.test.ts` files --- biome.jsonc | 6 +- src/account.ts | 6 +- src/battle-scene.ts | 107 ++-- src/battle.ts | 34 +- src/data/ability.ts | 483 +++++++++--------- src/data/balance/biomes.ts | 10 +- src/data/balance/egg-moves.ts | 6 +- src/data/balance/pokemon-evolutions.ts | 6 +- src/data/battler-tags.ts | 4 +- src/data/berry.ts | 18 +- src/data/challenge.ts | 132 +++-- src/data/daily-run.ts | 14 +- src/data/egg.ts | 31 +- src/data/moves/move.ts | 316 ++++++------ .../mysterious-challengers-encounter.ts | 8 +- .../mystery-encounters/mystery-encounter.ts | 8 +- .../utils/encounter-phase-utils.ts | 23 +- src/data/nature.ts | 4 +- src/data/pokemon-species.ts | 20 +- src/data/trainer-names.ts | 4 +- src/data/trainers/trainer-config.ts | 36 +- src/data/weather.ts | 4 +- src/field/arena.ts | 23 +- src/field/damage-number-handler.ts | 30 +- src/field/pokemon-sprite-sparkle-handler.ts | 8 +- src/field/pokemon.ts | 236 +++++---- src/field/trainer.ts | 18 +- src/game-mode.ts | 8 +- src/inputs-controller.ts | 5 +- src/loading-scene.ts | 12 +- src/phases/move-effect-phase.ts | 58 +-- src/phases/revival-blessing-phase.ts | 6 +- src/phases/select-starter-phase.ts | 6 +- src/pipelines/field-sprite.ts | 4 +- src/pipelines/sprite.ts | 6 +- src/system/achv.ts | 8 +- src/system/game-data.ts | 25 +- src/system/game-speed.ts | 8 +- .../version_migration/version_converter.ts | 3 + src/ui/abstact-option-select-ui-handler.ts | 8 +- src/ui/arena-flyout.ts | 8 +- src/ui/base-stats-overlay.ts | 4 +- src/ui/battle-flyout.ts | 4 +- src/ui/battle-info.ts | 6 +- src/ui/bgm-bar.ts | 4 +- src/ui/candy-bar.ts | 6 +- src/ui/challenges-select-ui-handler.ts | 4 +- src/ui/char-sprite.ts | 4 +- src/ui/daily-run-scoreboard.ts | 8 +- src/ui/egg-gacha-ui-handler.ts | 14 +- src/ui/fight-ui-handler.ts | 12 +- src/ui/form-modal-ui-handler.ts | 4 +- src/ui/game-stats-ui-handler.ts | 8 +- src/ui/login-form-ui-handler.ts | 6 +- src/ui/menu-ui-handler.ts | 20 +- src/ui/message-ui-handler.ts | 6 +- src/ui/modifier-select-ui-handler.ts | 7 +- src/ui/move-info-overlay.ts | 14 +- src/ui/mystery-encounter-ui-handler.ts | 21 +- src/ui/party-ui-handler.ts | 10 +- src/ui/pokedex-info-overlay.ts | 10 +- src/ui/pokedex-page-ui-handler.ts | 6 +- src/ui/pokemon-hatch-info-container.ts | 8 +- src/ui/pokemon-icon-anim-handler.ts | 4 +- src/ui/pokemon-info-container.ts | 14 +- src/ui/run-history-ui-handler.ts | 8 +- src/ui/run-info-ui-handler.ts | 19 +- src/ui/save-slot-select-ui-handler.ts | 13 +- src/ui/saving-icon-handler.ts | 8 +- src/ui/starter-select-ui-handler.ts | 13 +- src/ui/summary-ui-handler.ts | 57 ++- src/ui/target-select-ui-handler.ts | 12 +- src/ui/time-of-day-widget.ts | 10 +- src/ui/title-ui-handler.ts | 12 +- src/ui/ui.ts | 4 +- src/ui/unavailable-modal-ui-handler.ts | 4 +- test/escape-calculations.test.ts | 10 +- test/items/exp_booster.test.ts | 4 +- test/items/leek.test.ts | 6 +- test/items/light_ball.test.ts | 18 +- test/items/metal_powder.test.ts | 10 +- test/items/quick_powder.test.ts | 10 +- test/items/thick_club.test.ts | 18 +- test/moves/multi_target.test.ts | 10 +- .../mystery-encounter/encounter-test-utils.ts | 1 + test/testUtils/gameWrapper.ts | 4 +- 86 files changed, 1112 insertions(+), 1103 deletions(-) diff --git a/biome.jsonc b/biome.jsonc index c5e1d713d86..da80d8ee127 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -65,7 +65,8 @@ "useDefaultParameterLast": "off", // TODO: Fix spots in the codebase where this flag would be triggered, and then enable "useSingleVarDeclarator": "off", "useNodejsImportProtocol": "off", - "useTemplate": "off" // string concatenation is faster: https://stackoverflow.com/questions/29055518/are-es6-template-literals-faster-than-string-concatenation + "useTemplate": "off", // string concatenation is faster: https://stackoverflow.com/questions/29055518/are-es6-template-literals-faster-than-string-concatenation + "noNamespaceImport": "error" }, "suspicious": { "noDoubleEquals": "error", @@ -99,6 +100,9 @@ "rules": { "performance": { "noDelete": "off" + }, + "style": { + "noNamespaceImport": "off" } } } diff --git a/src/account.ts b/src/account.ts index 96ce32714bb..7baa7d10a1a 100644 --- a/src/account.ts +++ b/src/account.ts @@ -1,11 +1,11 @@ import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type { UserInfo } from "#app/@types/UserInfo"; -import { bypassLogin } from "./battle-scene"; -import * as Utils from "./utils"; +import { bypassLogin } from "#app/battle-scene"; +import { randomString } from "#app/utils"; export let loggedInUser: UserInfo | null = null; // This is a random string that is used to identify the client session - unique per session (tab or window) so that the game will only save on the one that the server is expecting -export const clientSessionId = Utils.randomString(32); +export const clientSessionId = randomString(32); export function initLoggedInUser(): void { loggedInUser = { diff --git a/src/battle-scene.ts b/src/battle-scene.ts index acc8dafdd35..8ae2be5af43 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -5,9 +5,20 @@ import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import type { PokemonSpeciesFilter } from "#app/data/pokemon-species"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; -import type { Constructor } from "#app/utils"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; -import * as Utils from "#app/utils"; +import { + fixedInt, + deepMergeObjects, + getIvsFromId, + randSeedInt, + getEnumValues, + randomString, + NumberHolder, + shiftCharCodes, + formatMoney, + isNullOrUndefined, + BooleanHolder, + type Constructor, +} from "#app/utils"; import type { Modifier, ModifierPredicate, TurnHeldItemTransferModifier } from "./modifier/modifier"; import { ConsumableModifier, @@ -733,7 +744,7 @@ export default class BattleScene extends SceneBase { } this.playTimeTimer = this.time.addEvent({ - delay: Utils.fixedInt(1000), + delay: fixedInt(1000), repeat: -1, callback: () => { if (this.gameData) { @@ -783,7 +794,7 @@ export default class BattleScene extends SceneBase { return; } const expVariantData = await this.cachedFetch("./images/pokemon/variant/_exp_masterlist.json").then(r => r.json()); - Utils.deepMergeObjects(variantData, expVariantData); + deepMergeObjects(variantData, expVariantData); } cachedFetch(url: string, init?: RequestInit): Promise { @@ -988,7 +999,7 @@ export default class BattleScene extends SceneBase { } if (boss && !dataSource) { - const secondaryIvs = Utils.getIvsFromId(Utils.randSeedInt(4294967296)); + const secondaryIvs = getIvsFromId(randSeedInt(4294967296)); for (let s = 0; s < pokemon.ivs.length; s++) { pokemon.ivs[s] = Math.round( @@ -1147,7 +1158,7 @@ export default class BattleScene extends SceneBase { * Generates a random number using the current battle's seed * * This calls {@linkcode Battle.randSeedInt}({@linkcode range}, {@linkcode min}) in `src/battle.ts` - * which calls {@linkcode Utils.randSeedInt randSeedInt}({@linkcode range}, {@linkcode min}) in `src/utils.ts` + * which calls {@linkcode randSeedInt randSeedInt}({@linkcode range}, {@linkcode min}) in `src/utils.ts` * * @param range How large of a range of random numbers to choose from. If {@linkcode range} <= 1, returns {@linkcode min} * @param min The minimum integer to pick, default `0` @@ -1172,7 +1183,7 @@ export default class BattleScene extends SceneBase { this.lockModifierTiers = false; this.pokeballCounts = Object.fromEntries( - Utils.getEnumValues(PokeballType) + getEnumValues(PokeballType) .filter(p => p <= PokeballType.MASTER_BALL) .map(t => [t, 0]), ); @@ -1204,7 +1215,7 @@ export default class BattleScene extends SceneBase { // Reset RNG after end of game or save & quit. // This needs to happen after clearing this.currentBattle or the seed will be affected by the last wave played - this.setSeed(Overrides.SEED_OVERRIDE || Utils.randomString(24)); + this.setSeed(Overrides.SEED_OVERRIDE || randomString(24)); console.log("Seed:", this.seed); this.resetSeed(); @@ -1245,7 +1256,7 @@ export default class BattleScene extends SceneBase { ...allSpecies, ...allMoves, ...allAbilities, - ...Utils.getEnumValues(ModifierPoolType) + ...getEnumValues(ModifierPoolType) .map(mpt => getModifierPoolForType(mpt)) .flatMap(mp => Object.values(mp) @@ -1285,7 +1296,7 @@ export default class BattleScene extends SceneBase { } getDoubleBattleChance(newWaveIndex: number, playerField: PlayerPokemon[]) { - const doubleChance = new Utils.NumberHolder(newWaveIndex % 10 === 0 ? 32 : 8); + const doubleChance = new NumberHolder(newWaveIndex % 10 === 0 ? 32 : 8); this.applyModifiers(DoubleBattleChanceBoosterModifier, true, doubleChance); for (const p of playerField) { applyAbAttrs(DoubleBattleChanceAbAttr, p, null, false, doubleChance); @@ -1342,7 +1353,7 @@ export default class BattleScene extends SceneBase { if (trainerConfigs[trainerType].doubleOnly) { doubleTrainer = true; } else if (trainerConfigs[trainerType].hasDouble) { - doubleTrainer = !Utils.randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); + doubleTrainer = !randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); // Add a check that special trainers can't be double except for tate and liza - they should use the normal double chance if ( trainerConfigs[trainerType].trainerTypeDouble && @@ -1353,7 +1364,7 @@ export default class BattleScene extends SceneBase { } const variant = doubleTrainer ? TrainerVariant.DOUBLE - : Utils.randSeedInt(2) + : randSeedInt(2) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT; newTrainer = trainerData !== undefined ? trainerData.toTrainer() : new Trainer(trainerType, variant); @@ -1371,7 +1382,7 @@ export default class BattleScene extends SceneBase { if (double === undefined && newWaveIndex > 1) { if (newBattleType === BattleType.WILD && !this.gameMode.isWaveFinal(newWaveIndex)) { - newDouble = !Utils.randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); + newDouble = !randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); } else if (newBattleType === BattleType.TRAINER) { newDouble = newTrainer?.variant === TrainerVariant.DOUBLE; } @@ -1559,7 +1570,7 @@ export default class BattleScene extends SceneBase { scale: scale, x: (defaultWidth - scaledWidth) / 2, y: defaultHeight - scaledHeight, - duration: !instant ? Utils.fixedInt(Math.abs(this.field.scale - scale) * 200) : 0, + duration: !instant ? fixedInt(Math.abs(this.field.scale - scale) * 200) : 0, ease: "Sine.easeInOut", onComplete: () => resolve(), }); @@ -1656,12 +1667,12 @@ export default class BattleScene extends SceneBase { case Species.SQUAWKABILLY: case Species.TATSUGIRI: case Species.PALDEA_TAUROS: - return Utils.randSeedInt(species.forms.length); + return randSeedInt(species.forms.length); case Species.PIKACHU: if (this.currentBattle?.battleType === BattleType.TRAINER && this.currentBattle?.waveIndex < 30) { return 0; // Ban Cosplay and Partner Pika from Trainers before wave 30 } - return Utils.randSeedInt(8); + return randSeedInt(8); case Species.EEVEE: if ( this.currentBattle?.battleType === BattleType.TRAINER && @@ -1670,22 +1681,22 @@ export default class BattleScene extends SceneBase { ) { return 0; // No Partner Eevee for Wave 12 Preschoolers } - return Utils.randSeedInt(2); + return randSeedInt(2); case Species.FROAKIE: case Species.FROGADIER: case Species.GRENINJA: if (this.currentBattle?.battleType === BattleType.TRAINER && !isEggPhase) { return 0; // Don't give trainers Battle Bond Greninja, Froakie or Frogadier } - return Utils.randSeedInt(2); + return randSeedInt(2); case Species.URSHIFU: - return Utils.randSeedInt(2); + return randSeedInt(2); case Species.ZYGARDE: - return Utils.randSeedInt(4); + return randSeedInt(4); case Species.MINIOR: - return Utils.randSeedInt(7); + return randSeedInt(7); case Species.ALCREMIE: - return Utils.randSeedInt(9); + return randSeedInt(9); case Species.MEOWSTIC: case Species.INDEEDEE: case Species.BASCULEGION: @@ -1716,7 +1727,7 @@ export default class BattleScene extends SceneBase { if (this.gameMode.hasMysteryEncounters && !isEggPhase) { return 1; // Wandering form } - return Utils.randSeedInt(species.forms.length); + return randSeedInt(species.forms.length); } if (ignoreArena) { @@ -1725,7 +1736,7 @@ export default class BattleScene extends SceneBase { case Species.WORMADAM: case Species.ROTOM: case Species.LYCANROC: - return Utils.randSeedInt(species.forms.length); + return randSeedInt(species.forms.length); } return 0; } @@ -1737,7 +1748,7 @@ export default class BattleScene extends SceneBase { let ret = false; this.executeWithSeedOffset( () => { - ret = !Utils.randSeedInt(2); + ret = !randSeedInt(2); }, 0, this.seed.toString(), @@ -1749,7 +1760,7 @@ export default class BattleScene extends SceneBase { let ret = 0; this.executeWithSeedOffset( () => { - ret = Utils.randSeedInt(8) * 5; + ret = randSeedInt(8) * 5; }, 0, this.seed.toString(), @@ -1778,7 +1789,7 @@ export default class BattleScene extends SceneBase { isBoss = waveIndex % 10 === 0 || (this.gameMode.hasRandomBosses && - Utils.randSeedInt(100) < Math.min(Math.max(Math.ceil((waveIndex - 250) / 50), 0) * 2, 30)); + randSeedInt(100) < Math.min(Math.max(Math.ceil((waveIndex - 250) / 50), 0) * 2, 30)); }, waveIndex << 2); } if (!isBoss) { @@ -1805,7 +1816,7 @@ export default class BattleScene extends SceneBase { const infectedIndexes: number[] = []; const spread = (index: number, spreadTo: number) => { const partyMember = party[index + spreadTo]; - if (!partyMember.pokerus && !Utils.randSeedInt(10)) { + if (!partyMember.pokerus && !randSeedInt(10)) { partyMember.pokerus = true; infectedIndexes.push(index + spreadTo); } @@ -1831,7 +1842,7 @@ export default class BattleScene extends SceneBase { resetSeed(waveIndex?: number): void { const wave = waveIndex || this.currentBattle?.waveIndex || 0; - this.waveSeed = Utils.shiftCharCodes(this.seed, wave); + this.waveSeed = shiftCharCodes(this.seed, wave); Phaser.Math.RND.sow([this.waveSeed]); console.log("Wave Seed:", this.waveSeed, wave); this.rngCounter = 0; @@ -1850,7 +1861,7 @@ export default class BattleScene extends SceneBase { const tempRngOffset = this.rngOffset; const tempRngSeedOverride = this.rngSeedOverride; const state = Phaser.Math.RND.state(); - Phaser.Math.RND.sow([Utils.shiftCharCodes(seedOverride || this.seed, offset)]); + Phaser.Math.RND.sow([shiftCharCodes(seedOverride || this.seed, offset)]); this.rngCounter = 0; this.rngOffset = offset; this.rngSeedOverride = seedOverride || ""; @@ -1995,7 +2006,7 @@ export default class BattleScene extends SceneBase { if (this.money === undefined) { return; } - const formattedMoney = Utils.formatMoney(this.moneyFormat, this.money); + const formattedMoney = formatMoney(this.moneyFormat, this.money); this.moneyText.setText(i18next.t("battleScene:moneyOwned", { formattedMoney })); this.fieldUI.moveAbove(this.moneyText, this.luckText); if (forceVisible) { @@ -2152,12 +2163,12 @@ export default class BattleScene extends SceneBase { ), ] : allSpecies.filter(s => s.isCatchable()); - return filteredSpecies[Utils.randSeedInt(filteredSpecies.length)]; + return filteredSpecies[randSeedInt(filteredSpecies.length)]; } generateRandomBiome(waveIndex: number): Biome { const relWave = waveIndex % 250; - const biomes = Utils.getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END); + const biomes = getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END); const maxDepth = biomeDepths[Biome.END][0] - 2; const depthWeights = new Array(maxDepth + 1) .fill(null) @@ -2169,7 +2180,7 @@ export default class BattleScene extends SceneBase { biomeThresholds.push(totalWeight); } - const randInt = Utils.randSeedInt(totalWeight); + const randInt = randSeedInt(totalWeight); for (let i = 0; i < biomes.length; i++) { if (randInt < biomeThresholds[i]) { @@ -2177,7 +2188,7 @@ export default class BattleScene extends SceneBase { } } - return biomes[Utils.randSeedInt(biomes.length)]; + return biomes[randSeedInt(biomes.length)]; } isBgmPlaying(): boolean { @@ -2362,7 +2373,7 @@ export default class BattleScene extends SceneBase { this.bgmResumeTimer.destroy(); } if (resumeBgm) { - this.bgmResumeTimer = this.time.delayedCall(pauseDuration || Utils.fixedInt(sound.totalDuration * 1000), () => { + this.bgmResumeTimer = this.time.delayedCall(pauseDuration || fixedInt(sound.totalDuration * 1000), () => { this.resumeBgm(); this.bgmResumeTimer = null; }); @@ -2955,7 +2966,7 @@ export default class BattleScene extends SceneBase { const args: unknown[] = []; if (modifier instanceof PokemonHpRestoreModifier) { if (!(modifier as PokemonHpRestoreModifier).fainted) { - const hpRestoreMultiplier = new Utils.NumberHolder(1); + const hpRestoreMultiplier = new NumberHolder(1); this.applyModifiers(HealingBoosterModifier, true, hpRestoreMultiplier); args.push(hpRestoreMultiplier.value); } else { @@ -2963,7 +2974,7 @@ export default class BattleScene extends SceneBase { } } else if (modifier instanceof FusePokemonModifier) { args.push(this.getPokemonById(modifier.fusePokemonId) as PlayerPokemon); - } else if (modifier instanceof RememberMoveModifier && !Utils.isNullOrUndefined(cost)) { + } else if (modifier instanceof RememberMoveModifier && !isNullOrUndefined(cost)) { args.push(cost); } @@ -3032,7 +3043,7 @@ export default class BattleScene extends SceneBase { itemLost = true, ): boolean { const source = itemModifier.pokemonId ? itemModifier.getPokemon() : null; - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); if (source && source.isPlayer() !== target.isPlayer()) { applyAbAttrs(BlockItemTheftAbAttr, source, cancelled); @@ -3101,7 +3112,7 @@ export default class BattleScene extends SceneBase { canTransferHeldItemModifier(itemModifier: PokemonHeldItemModifier, target: Pokemon, transferQuantity = 1): boolean { const mod = itemModifier.clone() as PokemonHeldItemModifier; const source = mod.pokemonId ? mod.getPokemon() : null; - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); if (source && source.isPlayer() !== target.isPlayer()) { applyAbAttrs(BlockItemTheftAbAttr, source, cancelled); @@ -3195,7 +3206,7 @@ export default class BattleScene extends SceneBase { } let count = 0; for (let c = 0; c < chances; c++) { - if (!Utils.randSeedInt(this.gameMode.getEnemyModifierChance(isBoss))) { + if (!randSeedInt(this.gameMode.getEnemyModifierChance(isBoss))) { count++; } } @@ -3371,7 +3382,7 @@ export default class BattleScene extends SceneBase { if (mods.length < 1) { return mods; } - const rand = Utils.randSeedInt(mods.length); + const rand = randSeedInt(mods.length); return [mods[rand], ...shuffleModifiers(mods.filter((_, i) => i !== rand))]; }; modifiers = shuffleModifiers(modifiers); @@ -3597,7 +3608,7 @@ export default class BattleScene extends SceneBase { */ initFinalBossPhaseTwo(pokemon: Pokemon): void { if (pokemon instanceof EnemyPokemon && pokemon.isBoss() && !pokemon.formIndex && pokemon.bossSegmentIndex < 1) { - this.fadeOutBgm(Utils.fixedInt(2000), false); + this.fadeOutBgm(fixedInt(2000), false); this.ui.showDialogue( battleSpecDialogue[BattleSpec.FINAL_BOSS].firstStageWin, pokemon.species.name, @@ -3700,7 +3711,7 @@ export default class BattleScene extends SceneBase { if (Overrides.XP_MULTIPLIER_OVERRIDE !== null) { expMultiplier = Overrides.XP_MULTIPLIER_OVERRIDE; } - const pokemonExp = new Utils.NumberHolder(expValue * expMultiplier); + const pokemonExp = new NumberHolder(expValue * expMultiplier); this.applyModifiers(PokemonExpBoosterModifier, true, partyMember, pokemonExp); partyMemberExp.push(Math.floor(pokemonExp.value)); } @@ -3849,7 +3860,7 @@ export default class BattleScene extends SceneBase { while (i < this.mysteryEncounterSaveData.queuedEncounters.length && !!encounter) { const candidate = this.mysteryEncounterSaveData.queuedEncounters[i]; const forcedChance = candidate.spawnPercent; - if (Utils.randSeedInt(100) < forcedChance) { + if (randSeedInt(100) < forcedChance) { encounter = allMysteryEncounters[candidate.type]; } @@ -3882,7 +3893,7 @@ export default class BattleScene extends SceneBase { } const totalWeight = tierWeights.reduce((a, b) => a + b); - const tierValue = Utils.randSeedInt(totalWeight); + const tierValue = randSeedInt(totalWeight); const commonThreshold = totalWeight - tierWeights[0]; const greatThreshold = totalWeight - tierWeights[0] - tierWeights[1]; const ultraThreshold = totalWeight - tierWeights[0] - tierWeights[1] - tierWeights[2]; @@ -3974,7 +3985,7 @@ export default class BattleScene extends SceneBase { console.log("No Mystery Encounters found, falling back to Mysterious Challengers."); return allMysteryEncounters[MysteryEncounterType.MYSTERIOUS_CHALLENGERS]; } - encounter = availableEncounters[Utils.randSeedInt(availableEncounters.length)]; + encounter = availableEncounters[randSeedInt(availableEncounters.length)]; // New encounter object to not dirty flags encounter = new MysteryEncounter(encounter); encounter.populateDialogueTokensFromRequirements(); diff --git a/src/battle.ts b/src/battle.ts index 367c52568dc..fb5af223b8f 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -1,6 +1,14 @@ import { globalScene } from "#app/global-scene"; import type { Command } from "./ui/command-ui-handler"; -import * as Utils from "./utils"; +import { + randomString, + getEnumValues, + NumberHolder, + randSeedInt, + shiftCharCodes, + randSeedItem, + randInt, +} from "#app/utils"; import Trainer, { TrainerVariant } from "./field/trainer"; import type { GameMode } from "./game-mode"; import { MoneyMultiplierModifier, PokemonHeldItemModifier } from "./modifier/modifier"; @@ -99,7 +107,7 @@ export default class Battle { public postBattleLoot: PokemonHeldItemModifier[] = []; public escapeAttempts = 0; public lastMove: Moves; - public battleSeed: string = Utils.randomString(16, true); + public battleSeed: string = randomString(16, true); private battleSeedState: string | null = null; public moneyScattered = 0; /** Primarily for double battles, keeps track of last enemy and player pokemon that triggered its ability or used a move */ @@ -181,8 +189,8 @@ export default class Battle { incrementTurn(): void { this.turn++; - this.turnCommands = Object.fromEntries(Utils.getEnumValues(BattlerIndex).map(bt => [bt, null])); - this.preTurnCommands = Object.fromEntries(Utils.getEnumValues(BattlerIndex).map(bt => [bt, null])); + this.turnCommands = Object.fromEntries(getEnumValues(BattlerIndex).map(bt => [bt, null])); + this.preTurnCommands = Object.fromEntries(getEnumValues(BattlerIndex).map(bt => [bt, null])); this.battleSeedState = null; } @@ -211,7 +219,7 @@ export default class Battle { } pickUpScatteredMoney(): void { - const moneyAmount = new Utils.NumberHolder(globalScene.currentBattle.moneyScattered); + const moneyAmount = new NumberHolder(globalScene.currentBattle.moneyScattered); globalScene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount); if (globalScene.arena.getTag(ArenaTagType.HAPPY_HOUR)) { @@ -448,7 +456,7 @@ export default class Battle { } /** - * Generates a random number using the current battle's seed. Calls {@linkcode Utils.randSeedInt} + * Generates a random number using the current battle's seed. Calls {@linkcode randSeedInt} * @param range How large of a range of random numbers to choose from. If {@linkcode range} <= 1, returns {@linkcode min} * @param min The minimum integer to pick, default `0` * @returns A random integer between {@linkcode min} and ({@linkcode min} + {@linkcode range} - 1) @@ -463,12 +471,12 @@ export default class Battle { if (this.battleSeedState) { Phaser.Math.RND.state(this.battleSeedState); } else { - Phaser.Math.RND.sow([Utils.shiftCharCodes(this.battleSeed, this.turn << 6)]); + Phaser.Math.RND.sow([shiftCharCodes(this.battleSeed, this.turn << 6)]); console.log("Battle Seed:", this.battleSeed); } globalScene.rngCounter = this.rngCounter++; globalScene.rngSeedOverride = this.battleSeed; - const ret = Utils.randSeedInt(range, min); + const ret = randSeedInt(range, min); this.battleSeedState = Phaser.Math.RND.state(); Phaser.Math.RND.state(state); globalScene.rngCounter = tempRngCounter; @@ -554,19 +562,19 @@ export function getRandomTrainerFunc( seedOffset = 0, ): GetTrainerFunc { return () => { - const rand = Utils.randSeedInt(trainerPool.length); + const rand = randSeedInt(trainerPool.length); const trainerTypes: TrainerType[] = []; globalScene.executeWithSeedOffset(() => { for (const trainerPoolEntry of trainerPool) { - const trainerType = Array.isArray(trainerPoolEntry) ? Utils.randSeedItem(trainerPoolEntry) : trainerPoolEntry; + const trainerType = Array.isArray(trainerPoolEntry) ? randSeedItem(trainerPoolEntry) : trainerPoolEntry; trainerTypes.push(trainerType); } }, seedOffset); let trainerGender = TrainerVariant.DEFAULT; if (randomGender) { - trainerGender = Utils.randInt(2) === 0 ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT; + trainerGender = randInt(2) === 0 ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT; } /* 1/3 chance for evil team grunts to be double battles */ @@ -585,7 +593,7 @@ export function getRandomTrainerFunc( const isEvilTeamGrunt = evilTeamGrunts.includes(trainerTypes[rand]); if (trainerConfigs[trainerTypes[rand]].hasDouble && isEvilTeamGrunt) { - return new Trainer(trainerTypes[rand], Utils.randInt(3) === 0 ? TrainerVariant.DOUBLE : trainerGender); + return new Trainer(trainerTypes[rand], randInt(3) === 0 ? TrainerVariant.DOUBLE : trainerGender); } return new Trainer(trainerTypes[rand], trainerGender); @@ -608,7 +616,7 @@ export const classicFixedBattles: FixedBattleConfigs = { [ClassicFixedBossWaves.TOWN_YOUNGSTER]: new FixedBattleConfig() .setBattleType(BattleType.TRAINER) .setGetTrainerFunc( - () => new Trainer(TrainerType.YOUNGSTER, Utils.randSeedInt(2) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT), + () => new Trainer(TrainerType.YOUNGSTER, randSeedInt(2) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT), ), [ClassicFixedBossWaves.RIVAL_1]: new FixedBattleConfig() .setBattleType(BattleType.TRAINER) diff --git a/src/data/ability.ts b/src/data/ability.ts index f8c9b4cb8fe..b07f13c18e9 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -2,8 +2,7 @@ import type { EnemyPokemon, PokemonMove } from "../field/pokemon"; import type Pokemon from "../field/pokemon"; import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; -import type { Constructor } from "#app/utils"; -import * as Utils from "../utils"; +import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; import { getPokemonNameWithAffix } from "../messages"; import type { Weather } from "#app/data/weather"; import type { BattlerTag } from "./battler-tags"; @@ -196,7 +195,7 @@ export abstract class AbAttr { * @param args - Extra args passed to the function. Handled by child classes. * @see {@linkcode canApply} */ - apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder | null, args: any[]): void {} + apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder | null, args: any[]): void {} getTriggerMessage(_pokemon: Pokemon, _abilityName: string, ..._args: any[]): string | null { return null; @@ -230,7 +229,7 @@ export class BlockRecoilDamageAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } @@ -251,10 +250,10 @@ export class DoubleBattleChanceAbAttr extends AbAttr { /** * Increases the chance of a double battle occurring - * @param args [0] {@linkcode Utils.NumberHolder} for double battle chance + * @param args [0] {@linkcode NumberHolder} for double battle chance */ - override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: Utils.BooleanHolder, args: any[]): void { - const doubleBattleChance = args[0] as Utils.NumberHolder; + override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder, args: any[]): void { + const doubleBattleChance = args[0] as NumberHolder; // This is divided because the chance is generated as a number from 0 to doubleBattleChance.value using Utils.randSeedInt // A double battle will initiate if the generated number is 0 doubleBattleChance.value = doubleBattleChance.value / 4; @@ -299,7 +298,7 @@ export class PostTeraFormChangeStatChangeAbAttr extends AbAttr { this.stages = stages; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder | null, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder | null, args: any[]): void { const statStageChangePhases: StatStageChangePhase[] = []; if (!simulated) { @@ -331,7 +330,7 @@ export class ClearWeatherAbAttr extends AbAttr { return globalScene.arena.canSetWeather(WeatherType.NONE); } - public override apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + public override apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { globalScene.arena.trySetWeather(WeatherType.NONE, pokemon); } @@ -357,7 +356,7 @@ export class ClearTerrainAbAttr extends AbAttr { return globalScene.arena.canSetTerrain(TerrainType.NONE); } - public override apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + public override apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { globalScene.arena.trySetTerrain(TerrainType.NONE, true, pokemon); } @@ -373,7 +372,7 @@ export class PreDefendAbAttr extends AbAttr { simulated: boolean, attacker: Pokemon, move: Move | null, - cancelled: Utils.BooleanHolder | null, + cancelled: BooleanHolder | null, args: any[]): boolean { return true; } @@ -384,19 +383,19 @@ export class PreDefendAbAttr extends AbAttr { simulated: boolean, attacker: Pokemon, move: Move | null, - cancelled: Utils.BooleanHolder | null, + cancelled: BooleanHolder | null, args: any[], ): void {} } export class PreDefendFullHpEndureAbAttr extends PreDefendAbAttr { - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move | null, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move | null, cancelled: BooleanHolder | null, args: any[]): boolean { return pokemon.isFullHp() && pokemon.getMaxHp() > 1 //Checks if pokemon has wonder_guard (which forces 1hp) - && (args[0] as Utils.NumberHolder).value >= pokemon.hp; //Damage >= hp + && (args[0] as NumberHolder).value >= pokemon.hp; //Damage >= hp } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { pokemon.addTag(BattlerTagType.STURDY, 1); } @@ -404,7 +403,7 @@ export class PreDefendFullHpEndureAbAttr extends PreDefendAbAttr { } export class BlockItemTheftAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } @@ -422,11 +421,11 @@ export class StabBoostAbAttr extends AbAttr { } override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return (args[0] as Utils.NumberHolder).value > 1; + return (args[0] as NumberHolder).value > 1; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value += 0.5; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value += 0.5; } } @@ -441,12 +440,12 @@ export class ReceivedMoveDamageMultiplierAbAttr extends PreDefendAbAttr { this.damageMultiplier = damageMultiplier; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return this.condition(pokemon, attacker, move); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue((args[0] as Utils.NumberHolder).value * this.damageMultiplier); + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value = toDmgValue((args[0] as NumberHolder).value * this.damageMultiplier); } } @@ -465,11 +464,11 @@ export class AlliedFieldDamageReductionAbAttr extends PreDefendAbAttr { /** * Handles the damage reduction * @param args - * - `[0]` {@linkcode Utils.NumberHolder} - The damage being dealt + * - `[0]` {@linkcode NumberHolder} - The damage being dealt */ - override applyPreDefend(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _attacker: Pokemon, _move: Move, _cancelled: Utils.BooleanHolder, args: any[]): void { - const damage = args[0] as Utils.NumberHolder; - damage.value = Utils.toDmgValue(damage.value * this.damageMultiplier); + override applyPreDefend(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _attacker: Pokemon, _move: Move, _cancelled: BooleanHolder, args: any[]): void { + const damage = args[0] as NumberHolder; + damage.value = toDmgValue(damage.value * this.damageMultiplier); } } @@ -496,7 +495,7 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr { this.condition = condition ?? null; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return ![ MoveTarget.BOTH_SIDES, MoveTarget.ENEMY_SIDE, MoveTarget.USER_SIDE ].includes(move.moveTarget) && attacker !== pokemon && attacker.getMoveType(move) === this.immuneType; } @@ -506,12 +505,12 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr { * @param passive - Whether the ability is passive. * @param attacker {@linkcode Pokemon} The attacking Pokemon. * @param move {@linkcode Move} The attacking move. - * @param cancelled {@linkcode Utils.BooleanHolder} - A holder for a boolean value indicating if the move was cancelled. - * @param args [0] {@linkcode Utils.NumberHolder} gets set to 0 if move is immuned by an ability. + * @param cancelled {@linkcode BooleanHolder} - A holder for a boolean value indicating if the move was cancelled. + * @param args [0] {@linkcode NumberHolder} gets set to 0 if move is immuned by an ability. * @param args [1] - Whether the move is simulated. */ - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value = 0; + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value = 0; } getImmuneType(): PokemonType | null { @@ -528,7 +527,7 @@ export class AttackTypeImmunityAbAttr extends TypeImmunityAbAttr { super(immuneType, condition); } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return move.category !== MoveCategory.STATUS && !move.hasAttr(NeutralDamageAgainstFlyingTypeMultiplierAttr) && super.canApplyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); } @@ -538,7 +537,7 @@ export class AttackTypeImmunityAbAttr extends TypeImmunityAbAttr { * Type immunity abilities that do not give additional benefits (HP recovery, stat boosts, etc) are not immune to status moves of the type * Example: Levitate */ - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { // this is a hacky way to fix the Levitate/Thousand Arrows interaction, but it works for now... super.applyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); } @@ -549,16 +548,16 @@ export class TypeImmunityHealAbAttr extends TypeImmunityAbAttr { super(immuneType); } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return super.canApplyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { super.applyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); if (!pokemon.isFullHp() && !simulated) { const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name; globalScene.unshiftPhase(new PokemonHealPhase(pokemon.getBattlerIndex(), - Utils.toDmgValue(pokemon.getMaxHp() / 4), i18next.t("abilityTriggers:typeImmunityHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true)); + toDmgValue(pokemon.getMaxHp() / 4), i18next.t("abilityTriggers:typeImmunityHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true)); cancelled.value = true; // Suppresses "No Effect" message } } @@ -575,11 +574,11 @@ class TypeImmunityStatStageChangeAbAttr extends TypeImmunityAbAttr { this.stages = stages; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return super.canApplyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { super.applyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); cancelled.value = true; // Suppresses "No Effect" message if (!simulated) { @@ -599,11 +598,11 @@ class TypeImmunityAddBattlerTagAbAttr extends TypeImmunityAbAttr { this.turnCount = turnCount; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return super.canApplyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { super.applyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); cancelled.value = true; // Suppresses "No Effect" message if (!simulated) { @@ -617,16 +616,16 @@ export class NonSuperEffectiveImmunityAbAttr extends TypeImmunityAbAttr { super(null, condition); } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { const modifierValue = args.length > 0 - ? (args[0] as Utils.NumberHolder).value + ? (args[0] as NumberHolder).value : pokemon.getAttackTypeEffectiveness(attacker.getMoveType(move), attacker, undefined, undefined, move); return move instanceof AttackMove && modifierValue < 2; } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; // Suppresses "No Effect" message - (args[0] as Utils.NumberHolder).value = 0; + (args[0] as NumberHolder).value = 0; } getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string { @@ -644,9 +643,9 @@ export class NonSuperEffectiveImmunityAbAttr extends TypeImmunityAbAttr { */ export class FullHpResistTypeAbAttr extends PreDefendAbAttr { - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move | null, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move | null, cancelled: BooleanHolder | null, args: any[]): boolean { const typeMultiplier = args[0]; - return (typeMultiplier && typeMultiplier instanceof Utils.NumberHolder) && !(move && move.hasAttr(FixedDamageAttr)) && pokemon.isFullHp() && typeMultiplier.value > 0.5; + return (typeMultiplier && typeMultiplier instanceof NumberHolder) && !(move && move.hasAttr(FixedDamageAttr)) && pokemon.isFullHp() && typeMultiplier.value > 0.5; } /** @@ -665,7 +664,7 @@ export class FullHpResistTypeAbAttr extends PreDefendAbAttr { simulated: boolean, attacker: Pokemon, move: Move | null, - cancelled: Utils.BooleanHolder | null, + cancelled: BooleanHolder | null, args: any[]): void { const typeMultiplier = args[0]; typeMultiplier.value = 0.5; @@ -704,11 +703,11 @@ export class PostDefendAbAttr extends AbAttr { export class FieldPriorityMoveImmunityAbAttr extends PreDefendAbAttr { - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return !(move.moveTarget === MoveTarget.USER || move.moveTarget === MoveTarget.NEAR_ALLY) && move.getPriority(attacker) > 0 && !move.isMultiTarget(); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -743,11 +742,11 @@ export class MoveImmunityAbAttr extends PreDefendAbAttr { this.immuneCondition = immuneCondition; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return this.immuneCondition(pokemon, attacker, move); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } @@ -768,13 +767,13 @@ export class WonderSkinAbAttr extends PreDefendAbAttr { super(false); } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { - const moveAccuracy = args[0] as Utils.NumberHolder; + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { + const moveAccuracy = args[0] as NumberHolder; return move.category === MoveCategory.STATUS && moveAccuracy.value >= 50; } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { - const moveAccuracy = args[0] as Utils.NumberHolder; + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { + const moveAccuracy = args[0] as NumberHolder; moveAccuracy.value = 50; } } @@ -789,11 +788,11 @@ export class MoveImmunityStatStageChangeAbAttr extends MoveImmunityAbAttr { this.stages = stages; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return !simulated && super.canApplyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); } - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { super.applyPreDefend(pokemon, passive, simulated, attacker, move, cancelled, args); globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [ this.stat ], this.stages)); } @@ -855,7 +854,7 @@ export class PostDefendStatStageChangeAbAttr extends PostDefendAbAttr { if (this.allOthers) { const ally = pokemon.getAlly(); - const otherPokemon = !Utils.isNullOrUndefined(ally) ? pokemon.getOpponents().concat([ ally ]) : pokemon.getOpponents(); + const otherPokemon = !isNullOrUndefined(ally) ? pokemon.getOpponents().concat([ ally ]) : pokemon.getOpponents(); for (const other of otherPokemon) { globalScene.unshiftPhase(new StatStageChangePhase((other).getBattlerIndex(), false, [ this.stat ], this.stages)); } @@ -1090,8 +1089,8 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr { } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { - attacker.damageAndUpdate(Utils.toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); - attacker.turnData.damageTaken += Utils.toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)); + attacker.damageAndUpdate(toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); + attacker.turnData.damageTaken += toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)); } override getTriggerMessage(pokemon: Pokemon, abilityName: string, ..._args: any[]): string { @@ -1291,16 +1290,16 @@ export class MoveEffectChanceMultiplierAbAttr extends AbAttr { override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { const exceptMoves = [ Moves.ORDER_UP, Moves.ELECTRO_SHOT ]; - return !((args[0] as Utils.NumberHolder).value <= 0 || exceptMoves.includes((args[1] as Move).id)); + return !((args[0] as NumberHolder).value <= 0 || exceptMoves.includes((args[1] as Move).id)); } /** - * @param args [0]: {@linkcode Utils.NumberHolder} Move additional effect chance. Has to be higher than or equal to 0. + * @param args [0]: {@linkcode NumberHolder} Move additional effect chance. Has to be higher than or equal to 0. * [1]: {@linkcode Moves } Move used by the ability user. */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value *= this.chanceMultiplier; - (args[0] as Utils.NumberHolder).value = Math.min((args[0] as Utils.NumberHolder).value, 100); + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value *= this.chanceMultiplier; + (args[0] as NumberHolder).value = Math.min((args[0] as NumberHolder).value, 100); } } @@ -1314,15 +1313,15 @@ export class IgnoreMoveEffectsAbAttr extends PreDefendAbAttr { super(showAbility); } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move | null, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { - return (args[0] as Utils.NumberHolder).value > 0; + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move | null, cancelled: BooleanHolder | null, args: any[]): boolean { + return (args[0] as NumberHolder).value > 0; } /** - * @param args [0]: {@linkcode Utils.NumberHolder} Move additional effect chance. + * @param args [0]: {@linkcode NumberHolder} Move additional effect chance. */ - override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value = 0; + override applyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value = 0; } } @@ -1337,7 +1336,7 @@ export class FieldPreventExplosiveMovesAbAttr extends AbAttr { pokemon: Pokemon, passive: boolean, simulated: boolean, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): void { cancelled.value = true; @@ -1349,7 +1348,7 @@ export class FieldPreventExplosiveMovesAbAttr extends AbAttr { * If this ability cannot stack, a BooleanHolder can be used to prevent this from stacking. * @see {@link applyFieldStatMultiplierAbAttrs} * @see {@link applyFieldStat} - * @see {@link Utils.BooleanHolder} + * @see {@link BooleanHolder} */ export class FieldMultiplyStatAbAttr extends AbAttr { private stat: Stat; @@ -1364,7 +1363,7 @@ export class FieldMultiplyStatAbAttr extends AbAttr { this.canStack = canStack; } - canApplyFieldStat(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: Stat, statValue: Utils.NumberHolder, checkedPokemon: Pokemon, hasApplied: Utils.BooleanHolder, args: any[]): boolean { + canApplyFieldStat(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: Stat, statValue: NumberHolder, checkedPokemon: Pokemon, hasApplied: BooleanHolder, args: any[]): boolean { return this.canStack || !hasApplied.value && this.stat === stat && checkedPokemon.getAbilityAttrs(FieldMultiplyStatAbAttr).every(attr => (attr as FieldMultiplyStatAbAttr).stat !== stat); } @@ -1374,12 +1373,12 @@ export class FieldMultiplyStatAbAttr extends AbAttr { * @param pokemon {@linkcode Pokemon} the Pokemon using this ability * @param passive {@linkcode boolean} unused * @param stat {@linkcode Stat} the type of the checked stat - * @param statValue {@linkcode Utils.NumberHolder} the value of the checked stat + * @param statValue {@linkcode NumberHolder} the value of the checked stat * @param checkedPokemon {@linkcode Pokemon} the Pokemon this ability is targeting - * @param hasApplied {@linkcode Utils.BooleanHolder} whether or not another multiplier has been applied to this stat + * @param hasApplied {@linkcode BooleanHolder} whether or not another multiplier has been applied to this stat * @param args {any[]} unused */ - applyFieldStat(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: Stat, statValue: Utils.NumberHolder, checkedPokemon: Pokemon, hasApplied: Utils.BooleanHolder, args: any[]): void { + applyFieldStat(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: Stat, statValue: NumberHolder, checkedPokemon: Pokemon, hasApplied: BooleanHolder, args: any[]): void { statValue.value *= this.multiplier; hasApplied.value = true; } @@ -1401,10 +1400,10 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr { // TODO: Decouple this into two attributes (type change / power boost) override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { - if (args[0] && args[0] instanceof Utils.NumberHolder) { + if (args[0] && args[0] instanceof NumberHolder) { args[0].value = this.newType; } - if (args[1] && args[1] instanceof Utils.NumberHolder) { + if (args[1] && args[1] instanceof NumberHolder) { args[1].value *= this.powerMultiplier; } } @@ -1482,12 +1481,12 @@ export class AddSecondStrikeAbAttr extends PreAttackAbAttr { * @param defender n/a * @param move the {@linkcode Move} used by the ability source * @param args Additional arguments: - * - `[0]` the number of strikes this move currently has ({@linkcode Utils.NumberHolder}) - * - `[1]` the damage multiplier for the current strike ({@linkcode Utils.NumberHolder}) + * - `[0]` the number of strikes this move currently has ({@linkcode NumberHolder}) + * - `[1]` the damage multiplier for the current strike ({@linkcode NumberHolder}) */ override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { - const hitCount = args[0] as Utils.NumberHolder; - const multiplier = args[1] as Utils.NumberHolder; + const hitCount = args[0] as NumberHolder; + const multiplier = args[1] as NumberHolder; if (hitCount?.value) { hitCount.value += 1; } @@ -1527,8 +1526,8 @@ export class DamageBoostAbAttr extends PreAttackAbAttr { * @param args Utils.NumberHolder as damage */ override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { - const power = args[0] as Utils.NumberHolder; - power.value = Utils.toDmgValue(power.value * this.damageMultiplier); + const power = args[0] as NumberHolder; + power.value = toDmgValue(power.value * this.damageMultiplier); } } @@ -1547,7 +1546,7 @@ export class MovePowerBoostAbAttr extends VariableMovePowerAbAttr { } override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { - (args[0] as Utils.NumberHolder).value *= this.powerMultiplier; + (args[0] as NumberHolder).value *= this.powerMultiplier; } } @@ -1590,7 +1589,7 @@ export class VariableMovePowerBoostAbAttr extends VariableMovePowerAbAttr { override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { const multiplier = this.mult(pokemon, defender, move); - (args[0] as Utils.NumberHolder).value *= multiplier; + (args[0] as NumberHolder).value *= multiplier; } } @@ -1619,7 +1618,7 @@ export class FieldMovePowerBoostAbAttr extends AbAttr { applyPreAttack(pokemon: Pokemon | null, passive: boolean | null, simulated: boolean, defender: Pokemon | null, move: Move, args: any[]): void { if (this.condition(pokemon, defender, move)) { - (args[0] as Utils.NumberHolder).value *= this.powerMultiplier; + (args[0] as NumberHolder).value *= this.powerMultiplier; } } } @@ -1682,7 +1681,7 @@ export class StatMultiplierAbAttr extends AbAttr { _passive: boolean, simulated: boolean, stat: BattleStat, - statValue: Utils.NumberHolder, + statValue: NumberHolder, args: any[]): boolean { const move = (args[0] as Move); return stat === this.stat && (!this.condition || this.condition(pokemon, null, move)); @@ -1693,7 +1692,7 @@ export class StatMultiplierAbAttr extends AbAttr { _passive: boolean, simulated: boolean, stat: BattleStat, - statValue: Utils.NumberHolder, + statValue: NumberHolder, args: any[]): void { statValue.value *= this.multiplier; } @@ -1766,13 +1765,13 @@ export class AllyStatMultiplierAbAttr extends AbAttr { * @param passive - unused * @param _simulated - Whether the ability is being simulated (unused) * @param _stat - The type of the checked {@linkcode Stat} (unused) - * @param statValue - {@linkcode Utils.NumberHolder} containing the value of the checked stat + * @param statValue - {@linkcode NumberHolder} containing the value of the checked stat * @param _checkedPokemon - The {@linkcode Pokemon} this ability is targeting (unused) * @param _ignoreAbility - Whether the ability should be ignored if possible * @param _args - unused * @returns `true` if this changed the checked stat, `false` otherwise. */ - applyAllyStat(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _stat: BattleStat, statValue: Utils.NumberHolder, _checkedPokemon: Pokemon, _ignoreAbility: boolean, _args: any[]) { + applyAllyStat(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _stat: BattleStat, statValue: NumberHolder, _checkedPokemon: Pokemon, _ignoreAbility: boolean, _args: any[]) { statValue.value *= this.multiplier; } @@ -1782,13 +1781,13 @@ export class AllyStatMultiplierAbAttr extends AbAttr { * @param passive - unused * @param simulated - Whether the ability is being simulated (unused) * @param stat - The type of the checked {@linkcode Stat} - * @param statValue - {@linkcode Utils.NumberHolder} containing the value of the checked stat + * @param statValue - {@linkcode NumberHolder} containing the value of the checked stat * @param checkedPokemon - The {@linkcode Pokemon} this ability is targeting (unused) * @param ignoreAbility - Whether the ability should be ignored if possible * @param args - unused * @returns `true` if this can apply to the checked stat, `false` otherwise. */ - canApplyAllyStat(pokemon: Pokemon, _passive: boolean, simulated: boolean, stat: BattleStat, statValue: Utils.NumberHolder, checkedPokemon: Pokemon, ignoreAbility: boolean, args: any[]): boolean { + canApplyAllyStat(pokemon: Pokemon, _passive: boolean, simulated: boolean, stat: BattleStat, statValue: NumberHolder, checkedPokemon: Pokemon, ignoreAbility: boolean, args: any[]): boolean { return stat === this.stat && !(ignoreAbility && this.ignorable); } } @@ -2220,8 +2219,8 @@ export class IgnoreOpponentStatStagesAbAttr extends AbAttr { * @param _cancelled n/a * @param args A BooleanHolder that represents whether or not to ignore a stat's stat changes */ - override apply(_pokemon: Pokemon, _passive: boolean, simulated: boolean, _cancelled: Utils.BooleanHolder, args: any[]): void { - (args[1] as Utils.BooleanHolder).value = true; + override apply(_pokemon: Pokemon, _passive: boolean, simulated: boolean, _cancelled: BooleanHolder, args: any[]): void { + (args[1] as BooleanHolder).value = true; } } @@ -2230,7 +2229,7 @@ export class IntimidateImmunityAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } @@ -2254,7 +2253,7 @@ export class PostIntimidateStatStageChangeAbAttr extends AbAttr { this.overwrites = !!overwrites; } - override apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { globalScene.pushPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), false, this.stats, this.stages)); } @@ -2461,7 +2460,7 @@ export class PostSummonStatStageChangeAbAttr extends PostSummonAbAttr { globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, this.stats, this.stages)); } else { for (const opponent of pokemon.getOpponents()) { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); if (this.intimidate) { applyAbAttrs(IntimidateImmunityAbAttr, opponent, cancelled, simulated); applyAbAttrs(PostIntimidateStatStageChangeAbAttr, opponent, cancelled, simulated); @@ -2495,9 +2494,9 @@ export class PostSummonAllyHealAbAttr extends PostSummonAbAttr { override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { const target = pokemon.getAlly(); - if (!simulated && !Utils.isNullOrUndefined(target)) { + if (!simulated && !isNullOrUndefined(target)) { globalScene.unshiftPhase(new PokemonHealPhase(target.getBattlerIndex(), - Utils.toDmgValue(pokemon.getMaxHp() / this.healRatio), i18next.t("abilityTriggers:postSummonAllyHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(target), pokemonName: pokemon.name }), true, !this.showAnim)); + toDmgValue(pokemon.getMaxHp() / this.healRatio), i18next.t("abilityTriggers:postSummonAllyHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(target), pokemonName: pokemon.name }), true, !this.showAnim)); } } } @@ -2521,7 +2520,7 @@ export class PostSummonClearAllyStatStagesAbAttr extends PostSummonAbAttr { override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { const target = pokemon.getAlly(); - if (!simulated && !Utils.isNullOrUndefined(target)) { + if (!simulated && !isNullOrUndefined(target)) { for (const s of BATTLE_STATS) { target.setStatStage(s, 0); } @@ -2639,12 +2638,12 @@ export class PostSummonHealStatusAbAttr extends PostSummonRemoveEffectAbAttr { public override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { const status = pokemon.status?.effect; - return !Utils.isNullOrUndefined(status) && (this.immuneEffects.length < 1 || this.immuneEffects.includes(status)) + return !isNullOrUndefined(status) && (this.immuneEffects.length < 1 || this.immuneEffects.includes(status)) } public override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { const status = pokemon.status?.effect; - if (!Utils.isNullOrUndefined(status)) { + if (!isNullOrUndefined(status)) { this.statusHealed = status; pokemon.resetStatus(false); pokemon.updateInfo(); @@ -2692,7 +2691,7 @@ export class PostSummonCopyAbilityAbAttr extends PostSummonAbAttr { let target: Pokemon; if (targets.length > 1) { - globalScene.executeWithSeedOffset(() => target = Utils.randSeedItem(targets), globalScene.currentBattle.waveIndex); + globalScene.executeWithSeedOffset(() => target = randSeedItem(targets), globalScene.currentBattle.waveIndex); } else { target = targets[0]; } @@ -2779,7 +2778,7 @@ export class PostSummonCopyAllyStatsAbAttr extends PostSummonAbAttr { } const ally = pokemon.getAlly(); - if (Utils.isNullOrUndefined(ally) || ally.getStatStages().every(s => s === 0)) { + if (isNullOrUndefined(ally) || ally.getStatStages().every(s => s === 0)) { return false; } @@ -2788,7 +2787,7 @@ export class PostSummonCopyAllyStatsAbAttr extends PostSummonAbAttr { override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { const ally = pokemon.getAlly(); - if (!simulated && !Utils.isNullOrUndefined(ally)) { + if (!simulated && !isNullOrUndefined(ally)) { for (const s of BATTLE_STATS) { pokemon.setStatStage(s, ally.getStatStage(s)); } @@ -2825,7 +2824,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr { target = targets[0]; return; } - target = Utils.randSeedItem(targets); + target = randSeedItem(targets); }, globalScene.currentBattle.waveIndex); } else { target = targets[0]; @@ -2934,7 +2933,7 @@ export class CommanderAbAttr extends AbAttr { // TODO: Should this work with X + Dondozo fusions? const ally = pokemon.getAlly(); - return globalScene.currentBattle?.double && !Utils.isNullOrUndefined(ally) && ally.species.speciesId === Species.DONDOZO + return globalScene.currentBattle?.double && !isNullOrUndefined(ally) && ally.species.speciesId === Species.DONDOZO && !(ally.isFainted() || ally.getTag(BattlerTagType.COMMANDED)); } @@ -2970,7 +2969,7 @@ export class PreSwitchOutResetStatusAbAttr extends PreSwitchOutAbAttr { } override canApplyPreSwitchOut(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return !Utils.isNullOrUndefined(pokemon.status); + return !isNullOrUndefined(pokemon.status); } override applyPreSwitchOut(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { @@ -3052,7 +3051,7 @@ export class PreSwitchOutHealAbAttr extends PreSwitchOutAbAttr { override applyPreSwitchOut(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { if (!simulated) { - const healAmount = Utils.toDmgValue(pokemon.getMaxHp() * 0.33); + const healAmount = toDmgValue(pokemon.getMaxHp() * 0.33); pokemon.heal(healAmount); pokemon.updateInfo(); } @@ -3166,7 +3165,7 @@ export class PreStatStageChangeAbAttr extends AbAttr { passive: boolean, simulated: boolean, stat: BattleStat, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[]): boolean { return true; } @@ -3176,7 +3175,7 @@ export class PreStatStageChangeAbAttr extends AbAttr { passive: boolean, simulated: boolean, stat: BattleStat, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): void {} } @@ -3195,10 +3194,10 @@ export class ReflectStatStageChangeAbAttr extends PreStatStageChangeAbAttr { * @param _passive N/A * @param simulated `true` if the ability is being simulated by the AI * @param stat the {@linkcode BattleStat} being affected - * @param cancelled The {@linkcode Utils.BooleanHolder} that will be set to true due to reflection + * @param cancelled The {@linkcode BooleanHolder} that will be set to true due to reflection * @param args */ - override applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, simulated: boolean, stat: BattleStat, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, simulated: boolean, stat: BattleStat, cancelled: BooleanHolder, args: any[]): void { const attacker: Pokemon = args[0]; const stages = args[1]; this.reflectedStat = stat; @@ -3230,8 +3229,8 @@ export class ProtectStatAbAttr extends PreStatStageChangeAbAttr { this.protectedStat = protectedStat; } - override canApplyPreStatStageChange(pokemon: Pokemon | null, passive: boolean, simulated: boolean, stat: BattleStat, cancelled: Utils.BooleanHolder, args: any[]): boolean { - return Utils.isNullOrUndefined(this.protectedStat) || stat === this.protectedStat; + override canApplyPreStatStageChange(pokemon: Pokemon | null, passive: boolean, simulated: boolean, stat: BattleStat, cancelled: BooleanHolder, args: any[]): boolean { + return isNullOrUndefined(this.protectedStat) || stat === this.protectedStat; } /** @@ -3240,10 +3239,10 @@ export class ProtectStatAbAttr extends PreStatStageChangeAbAttr { * @param _passive * @param simulated * @param stat the {@linkcode BattleStat} being affected - * @param cancelled The {@linkcode Utils.BooleanHolder} that will be set to true if the stat is protected + * @param cancelled The {@linkcode BooleanHolder} that will be set to true if the stat is protected * @param _args */ - override applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, stat: BattleStat, cancelled: Utils.BooleanHolder, _args: any[]): void { + override applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, stat: BattleStat, cancelled: BooleanHolder, _args: any[]): void { cancelled.value = true; } @@ -3302,7 +3301,7 @@ export class PreSetStatusAbAttr extends AbAttr { passive: boolean, simulated: boolean, effect: StatusEffect | undefined, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[]): boolean { return true; } @@ -3312,7 +3311,7 @@ export class PreSetStatusAbAttr extends AbAttr { passive: boolean, simulated: boolean, effect: StatusEffect | undefined, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): void {} } @@ -3332,7 +3331,7 @@ export class PreSetStatusEffectImmunityAbAttr extends PreSetStatusAbAttr { this.immuneEffects = immuneEffects; } - override canApplyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: Utils.BooleanHolder, args: any[]): boolean { + override canApplyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: BooleanHolder, args: any[]): boolean { return effect !== StatusEffect.FAINT && this.immuneEffects.length < 1 || this.immuneEffects.includes(effect); } @@ -3345,7 +3344,7 @@ export class PreSetStatusEffectImmunityAbAttr extends PreSetStatusAbAttr { * @param cancelled - A holder for a boolean value indicating if the status application was cancelled. * @param args - n/a */ - override applyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } @@ -3400,7 +3399,7 @@ export class ConditionalUserFieldStatusEffectImmunityAbAttr extends UserFieldSta * @param args `Args[0]` is the target of the status effect, `Args[1]` is the source. * @returns Whether the ability can be applied to cancel the status effect. */ - override canApplyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: Utils.BooleanHolder, args: [Pokemon, Pokemon | null, ...any]): boolean { + override canApplyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: BooleanHolder, args: [Pokemon, Pokemon | null, ...any]): boolean { return (!cancelled.value && effect !== StatusEffect.FAINT && this.immuneEffects.length < 1 || this.immuneEffects.includes(effect)) && this.condition(args[0], args[1]); } @@ -3438,12 +3437,12 @@ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbA * @param args Args[0] is the target pokemon of the stat change. * @returns */ - override canApplyPreStatStageChange(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: BattleStat, cancelled: Utils.BooleanHolder, args: [Pokemon, ...any]): boolean { + override canApplyPreStatStageChange(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: BattleStat, cancelled: BooleanHolder, args: [Pokemon, ...any]): boolean { const target = args[0]; if (!target) { return false; } - return !cancelled.value && (Utils.isNullOrUndefined(this.protectedStat) || stat === this.protectedStat) && this.condition(target); + return !cancelled.value && (isNullOrUndefined(this.protectedStat) || stat === this.protectedStat) && this.condition(target); } /** @@ -3455,7 +3454,7 @@ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbA * @param cancelled Will be set to true if the stat change is prevented * @param _args unused */ - override applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _stat: BattleStat, cancelled: Utils.BooleanHolder, _args: any[]): void { + override applyPreStatStageChange(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _stat: BattleStat, cancelled: BooleanHolder, _args: any[]): void { cancelled.value = true; } } @@ -3467,7 +3466,7 @@ export class PreApplyBattlerTagAbAttr extends AbAttr { passive: boolean, simulated: boolean, tag: BattlerTag, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): boolean { return true; @@ -3478,7 +3477,7 @@ export class PreApplyBattlerTagAbAttr extends AbAttr { passive: boolean, simulated: boolean, tag: BattlerTag, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): void {} } @@ -3496,13 +3495,13 @@ export class PreApplyBattlerTagImmunityAbAttr extends PreApplyBattlerTagAbAttr { this.immuneTagTypes = Array.isArray(immuneTagTypes) ? immuneTagTypes : [ immuneTagTypes ]; } - override canApplyPreApplyBattlerTag(pokemon: Pokemon, passive: boolean, simulated: boolean, tag: BattlerTag, cancelled: Utils.BooleanHolder, args: any[]): boolean { + override canApplyPreApplyBattlerTag(pokemon: Pokemon, passive: boolean, simulated: boolean, tag: BattlerTag, cancelled: BooleanHolder, args: any[]): boolean { this.battlerTag = tag; return !cancelled.value && this.immuneTagTypes.includes(tag.tagType); } - override applyPreApplyBattlerTag(pokemon: Pokemon, passive: boolean, simulated: boolean, tag: BattlerTag, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreApplyBattlerTag(pokemon: Pokemon, passive: boolean, simulated: boolean, tag: BattlerTag, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } @@ -3540,7 +3539,7 @@ export class ConditionalUserFieldBattlerTagImmunityAbAttr extends UserFieldBattl * @param args Args[0] is the target that the tag is attempting to be applied to * @returns Whether the ability can be used to cancel the battler tag */ - override canApplyPreApplyBattlerTag(pokemon: Pokemon, passive: boolean, simulated: boolean, tag: BattlerTag, cancelled: Utils.BooleanHolder, args: [Pokemon, ...any]): boolean { + override canApplyPreApplyBattlerTag(pokemon: Pokemon, passive: boolean, simulated: boolean, tag: BattlerTag, cancelled: BooleanHolder, args: [Pokemon, ...any]): boolean { return super.canApplyPreApplyBattlerTag(pokemon, passive, simulated, tag, cancelled, args) && this.condition(args[0]); } @@ -3556,8 +3555,8 @@ export class BlockCritAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.BooleanHolder).value = true; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as BooleanHolder).value = true; } } @@ -3575,8 +3574,8 @@ export class BonusCritAbAttr extends AbAttr { * @param cancelled Unused * @param args Args[0] is a number holder containing the crit stage. */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: [Utils.NumberHolder, ...any]): void { - (args[0] as Utils.NumberHolder).value += 1; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: [NumberHolder, ...any]): void { + (args[0] as NumberHolder).value += 1; } } @@ -3590,12 +3589,12 @@ export class MultCritAbAttr extends AbAttr { } override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - const critMult = args[0] as Utils.NumberHolder; + const critMult = args[0] as NumberHolder; return critMult.value > 1; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - const critMult = args[0] as Utils.NumberHolder; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + const critMult = args[0] as NumberHolder; critMult.value *= this.multAmount; } } @@ -3622,12 +3621,12 @@ export class ConditionalCritAbAttr extends AbAttr { /** * @param pokemon {@linkcode Pokemon} user. - * @param args [0] {@linkcode Utils.BooleanHolder} If true critical hit is guaranteed. + * @param args [0] {@linkcode BooleanHolder} If true critical hit is guaranteed. * [1] {@linkcode Pokemon} Target. * [2] {@linkcode Move} used by ability user. */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.BooleanHolder).value = true; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as BooleanHolder).value = true; } } @@ -3636,7 +3635,7 @@ export class BlockNonDirectDamageAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -3666,16 +3665,16 @@ export class BlockStatusDamageAbAttr extends AbAttr { /** * @param {Pokemon} pokemon The pokemon with the ability * @param {boolean} passive N/A - * @param {Utils.BooleanHolder} cancelled Whether to cancel the status damage + * @param {BooleanHolder} cancelled Whether to cancel the status damage * @param {any[]} args N/A */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } export class BlockOneHitKOAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -3704,8 +3703,8 @@ export class ChangeMovePriorityAbAttr extends AbAttr { return this.moveFunc(pokemon, args[0] as Move); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[1] as Utils.NumberHolder).value += this.changeAmount; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[1] as NumberHolder).value += this.changeAmount; } } @@ -3717,7 +3716,7 @@ export class PreWeatherEffectAbAttr extends AbAttr { passive: Boolean, simulated: boolean, weather: Weather | null, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[]): boolean { return true; } @@ -3727,7 +3726,7 @@ export class PreWeatherEffectAbAttr extends AbAttr { passive: boolean, simulated: boolean, weather: Weather | null, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): void {} } @@ -3743,11 +3742,11 @@ export class BlockWeatherDamageAttr extends PreWeatherDamageAbAttr { this.weatherTypes = weatherTypes; } - override canApplyPreWeatherEffect(pokemon: Pokemon, passive: Boolean, simulated: boolean, weather: Weather, cancelled: Utils.BooleanHolder, args: any[]): boolean { + override canApplyPreWeatherEffect(pokemon: Pokemon, passive: Boolean, simulated: boolean, weather: Weather, cancelled: BooleanHolder, args: any[]): boolean { return !this.weatherTypes.length || this.weatherTypes.indexOf(weather?.weatherType) > -1; } - override applyPreWeatherEffect(pokemon: Pokemon, passive: boolean, simulated: boolean, weather: Weather, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreWeatherEffect(pokemon: Pokemon, passive: boolean, simulated: boolean, weather: Weather, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -3761,11 +3760,11 @@ export class SuppressWeatherEffectAbAttr extends PreWeatherEffectAbAttr { this.affectsImmutable = !!affectsImmutable; } - override canApplyPreWeatherEffect(pokemon: Pokemon, passive: Boolean, simulated: boolean, weather: Weather, cancelled: Utils.BooleanHolder, args: any[]): boolean { + override canApplyPreWeatherEffect(pokemon: Pokemon, passive: Boolean, simulated: boolean, weather: Weather, cancelled: BooleanHolder, args: any[]): boolean { return this.affectsImmutable || weather.isImmutable(); } - override applyPreWeatherEffect(pokemon: Pokemon, passive: boolean, simulated: boolean, weather: Weather, cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreWeatherEffect(pokemon: Pokemon, passive: boolean, simulated: boolean, weather: Weather, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -4042,7 +4041,7 @@ export class PostWeatherLapseHealAbAttr extends PostWeatherLapseAbAttr { const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name; if (!simulated) { globalScene.unshiftPhase(new PokemonHealPhase(pokemon.getBattlerIndex(), - Utils.toDmgValue(pokemon.getMaxHp() / (16 / this.healFactor)), i18next.t("abilityTriggers:postWeatherLapseHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true)); + toDmgValue(pokemon.getMaxHp() / (16 / this.healFactor)), i18next.t("abilityTriggers:postWeatherLapseHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true)); } } } @@ -4064,7 +4063,7 @@ export class PostWeatherLapseDamageAbAttr extends PostWeatherLapseAbAttr { if (!simulated) { const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name; globalScene.queueMessage(i18next.t("abilityTriggers:postWeatherLapseDamage", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName })); - pokemon.damageAndUpdate(Utils.toDmgValue(pokemon.getMaxHp() / (16 / this.damageFactor)), { result: HitResult.INDIRECT }); + pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / (16 / this.damageFactor)), { result: HitResult.INDIRECT }); } } } @@ -4132,7 +4131,7 @@ export class PostTurnStatusHealAbAttr extends PostTurnAbAttr { } override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return !Utils.isNullOrUndefined(pokemon.status) && this.effects.includes(pokemon.status.effect) && !pokemon.isFullHp(); + return !isNullOrUndefined(pokemon.status) && this.effects.includes(pokemon.status.effect) && !pokemon.isFullHp(); } /** @@ -4144,7 +4143,7 @@ export class PostTurnStatusHealAbAttr extends PostTurnAbAttr { if (!simulated) { const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name; globalScene.unshiftPhase(new PokemonHealPhase(pokemon.getBattlerIndex(), - Utils.toDmgValue(pokemon.getMaxHp() / 8), i18next.t("abilityTriggers:poisonHeal", { pokemonName: getPokemonNameWithAffix(pokemon), abilityName }), true)); + toDmgValue(pokemon.getMaxHp() / 8), i18next.t("abilityTriggers:poisonHeal", { pokemonName: getPokemonNameWithAffix(pokemon), abilityName }), true)); } } } @@ -4168,7 +4167,7 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { } else { this.target = pokemon; } - return !Utils.isNullOrUndefined(this.target?.status); + return !isNullOrUndefined(this.target?.status); } override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { @@ -4224,7 +4223,7 @@ export class PostTurnLootAbAttr extends PostTurnAbAttr { return true; } - const randomIdx = Utils.randSeedInt(berriesEaten.length); + const randomIdx = randSeedInt(berriesEaten.length); const chosenBerryType = berriesEaten[randomIdx]; const chosenBerry = new BerryModifierType(chosenBerryType); berriesEaten.splice(randomIdx); // Remove berry from memory @@ -4312,7 +4311,7 @@ export class PostTurnHealAbAttr extends PostTurnAbAttr { if (!simulated) { const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name; globalScene.unshiftPhase(new PokemonHealPhase(pokemon.getBattlerIndex(), - Utils.toDmgValue(pokemon.getMaxHp() / 16), i18next.t("abilityTriggers:postTurnHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true)); + toDmgValue(pokemon.getMaxHp() / 16), i18next.t("abilityTriggers:postTurnHeal", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true)); } } } @@ -4356,7 +4355,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr { for (const opp of pokemon.getOpponents()) { if ((opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(Abilities.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus) { if (!simulated) { - opp.damageAndUpdate(Utils.toDmgValue(opp.getMaxHp() / 8), { result: HitResult.INDIRECT }); + opp.damageAndUpdate(toDmgValue(opp.getMaxHp() / 8), { result: HitResult.INDIRECT }); globalScene.queueMessage(i18next.t("abilityTriggers:badDreams", { pokemonName: getPokemonNameWithAffix(opp) })); } } @@ -4375,7 +4374,7 @@ export class FetchBallAbAttr extends PostTurnAbAttr { } override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return !simulated && !Utils.isNullOrUndefined(globalScene.currentBattle.lastUsedPokeball) && !!pokemon.isPlayer; + return !simulated && !isNullOrUndefined(globalScene.currentBattle.lastUsedPokeball) && !!pokemon.isPlayer; } /** @@ -4407,7 +4406,7 @@ export class PostBiomeChangeWeatherChangeAbAttr extends PostBiomeChangeAbAttr { return ((globalScene.arena.weather?.isImmutable() ?? false) && globalScene.arena.canSetWeather(this.weatherType)); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { globalScene.arena.trySetWeather(this.weatherType, pokemon); } @@ -4427,7 +4426,7 @@ export class PostBiomeChangeTerrainChangeAbAttr extends PostBiomeChangeAbAttr { return globalScene.arena.canSetTerrain(this.terrainType); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { globalScene.arena.trySetTerrain(this.terrainType, false, pokemon); } @@ -4562,8 +4561,8 @@ export class StatStageChangeMultiplierAbAttr extends AbAttr { this.multiplier = multiplier; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value *= this.multiplier; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value *= this.multiplier; } } @@ -4572,7 +4571,7 @@ export class StatStageChangeCopyAbAttr extends AbAttr { pokemon: Pokemon, passive: boolean, simulated: boolean, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, args: any[], ): void { if (!simulated) { @@ -4586,7 +4585,7 @@ export class BypassBurnDamageReductionAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -4605,21 +4604,21 @@ export class ReduceBurnDamageAbAttr extends AbAttr { * @param pokemon N/A * @param passive N/A * @param cancelled N/A - * @param args `[0]` {@linkcode Utils.NumberHolder} The damage value being modified + * @param args `[0]` {@linkcode NumberHolder} The damage value being modified */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue((args[0] as Utils.NumberHolder).value * this.multiplier); + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value = toDmgValue((args[0] as NumberHolder).value * this.multiplier); } } export class DoubleBerryEffectAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value *= 2; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value *= 2; } } export class PreventBerryUseAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -4640,13 +4639,13 @@ export class HealFromBerryUseAbAttr extends AbAttr { this.healPercent = Math.max(Math.min(healPercent, 1), 0); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, ...args: [Utils.BooleanHolder, any[]]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, ...args: [BooleanHolder, any[]]): void { const { name: abilityName } = passive ? pokemon.getPassiveAbility() : pokemon.getAbility(); if (!simulated) { globalScene.unshiftPhase( new PokemonHealPhase( pokemon.getBattlerIndex(), - Utils.toDmgValue(pokemon.getMaxHp() * this.healPercent), + toDmgValue(pokemon.getMaxHp() * this.healPercent), i18next.t("abilityTriggers:healFromBerryUse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), true ) @@ -4656,8 +4655,8 @@ export class HealFromBerryUseAbAttr extends AbAttr { } export class RunSuccessAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value = 256; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value = 256; } } @@ -4681,7 +4680,7 @@ export class CheckTrappedAbAttr extends AbAttr { pokemon: Pokemon, passive: boolean, simulated: boolean, - trapped: Utils.BooleanHolder, + trapped: BooleanHolder, otherPokemon: Pokemon, args: any[]): boolean { return true; @@ -4691,7 +4690,7 @@ export class CheckTrappedAbAttr extends AbAttr { pokemon: Pokemon, passive: boolean, simulated: boolean, - trapped: Utils.BooleanHolder, + trapped: BooleanHolder, otherPokemon: Pokemon, args: any[], ): void {} @@ -4704,7 +4703,7 @@ export class CheckTrappedAbAttr extends AbAttr { * @see {@linkcode applyCheckTrapped} */ export class ArenaTrapAbAttr extends CheckTrappedAbAttr { - override canApplyCheckTrapped(pokemon: Pokemon, passive: boolean, simulated: boolean, trapped: Utils.BooleanHolder, otherPokemon: Pokemon, args: any[]): boolean { + override canApplyCheckTrapped(pokemon: Pokemon, passive: boolean, simulated: boolean, trapped: BooleanHolder, otherPokemon: Pokemon, args: any[]): boolean { return this.arenaTrapCondition(pokemon, otherPokemon) && !(otherPokemon.getTypes(true).includes(PokemonType.GHOST) || (otherPokemon.getTypes(true).includes(PokemonType.STELLAR) && otherPokemon.getTypes().includes(PokemonType.GHOST))) && !otherPokemon.hasAbility(Abilities.RUN_AWAY); @@ -4718,11 +4717,11 @@ export class ArenaTrapAbAttr extends CheckTrappedAbAttr { * If the user has Arena Trap and the enemy is not grounded, it is not trapped. * @param pokemon The {@link Pokemon} with this {@link AbAttr} * @param passive N/A - * @param trapped {@link Utils.BooleanHolder} indicating whether the other Pokemon is trapped or not + * @param trapped {@link BooleanHolder} indicating whether the other Pokemon is trapped or not * @param otherPokemon The {@link Pokemon} that is affected by an Arena Trap ability * @param args N/A */ - override applyCheckTrapped(pokemon: Pokemon, passive: boolean, simulated: boolean, trapped: Utils.BooleanHolder, otherPokemon: Pokemon, args: any[]): void { + override applyCheckTrapped(pokemon: Pokemon, passive: boolean, simulated: boolean, trapped: BooleanHolder, otherPokemon: Pokemon, args: any[]): void { trapped.value = true; } @@ -4736,8 +4735,8 @@ export class MaxMultiHitAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value = 0; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value = 0; } } @@ -4759,7 +4758,7 @@ export class PostBattleLootAbAttr extends PostBattleAbAttr { override canApplyPostBattle(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { const postBattleLoot = globalScene.currentBattle.postBattleLoot; if (!simulated && postBattleLoot.length && args[0]) { - this.randItem = Utils.randSeedItem(postBattleLoot); + this.randItem = randSeedItem(postBattleLoot); return globalScene.canTransferHeldItemModifier(this.randItem, pokemon, 1); } return false; @@ -4771,7 +4770,7 @@ export class PostBattleLootAbAttr extends PostBattleAbAttr { override applyPostBattle(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { const postBattleLoot = globalScene.currentBattle.postBattleLoot; if (!this.randItem) { - this.randItem = Utils.randSeedItem(postBattleLoot); + this.randItem = randSeedItem(postBattleLoot); } if (globalScene.tryTransferHeldItemModifier(this.randItem, pokemon, true, 1, true, undefined, false)) { @@ -4828,7 +4827,7 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr { override canApplyPostFaint(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker?: Pokemon, move?: Move, hitResult?: HitResult, ...args: any[]): boolean { const diedToDirectDamage = move !== undefined && attacker !== undefined && move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}); - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); globalScene.getField(true).map(p => applyAbAttrs(FieldPreventExplosiveMovesAbAttr, p, cancelled, simulated)); if (!diedToDirectDamage || cancelled.value || attacker!.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) { return false; @@ -4839,8 +4838,8 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr { override applyPostFaint(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker?: Pokemon, move?: Move, hitResult?: HitResult, ...args: any[]): void { if (!simulated) { - attacker!.damageAndUpdate(Utils.toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); - attacker!.turnData.damageTaken += Utils.toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)); + attacker!.damageAndUpdate(toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); + attacker!.turnData.damageTaken += toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)); } } @@ -4886,13 +4885,13 @@ export class RedirectMoveAbAttr extends AbAttr { if (!this.canRedirect(args[0] as Moves, args[2] as Pokemon)) { return false; } - const target = args[1] as Utils.NumberHolder; + const target = args[1] as NumberHolder; const newTarget = pokemon.getBattlerIndex(); return target.value !== newTarget; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - const target = args[1] as Utils.NumberHolder; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + const target = args[1] as NumberHolder; const newTarget = pokemon.getBattlerIndex(); target.value = newTarget; } @@ -4933,7 +4932,7 @@ export class ReduceStatusEffectDurationAbAttr extends AbAttr { } override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return args[1] instanceof Utils.NumberHolder && args[0] === this.statusEffect; + return args[1] instanceof NumberHolder && args[0] === this.statusEffect; } /** @@ -4942,7 +4941,7 @@ export class ReduceStatusEffectDurationAbAttr extends AbAttr { * - `[0]` - The {@linkcode StatusEffect} of the Pokemon * - `[1]` - The number of turns remaining until the status is healed */ - override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder, args: any[]): void { args[1].value -= 1; } } @@ -4966,7 +4965,7 @@ export class FlinchStatStageChangeAbAttr extends FlinchEffectAbAttr { this.stages = stages; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { if (!simulated) { globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, this.stats, this.stages)); } @@ -4976,7 +4975,7 @@ export class FlinchStatStageChangeAbAttr extends FlinchEffectAbAttr { export class IncreasePpAbAttr extends AbAttr { } export class ForceSwitchOutImmunityAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -4991,7 +4990,7 @@ export class ReduceBerryUseThresholdAbAttr extends AbAttr { return args[0].value < hpRatio; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { args[0].value *= 2; } } @@ -5009,8 +5008,8 @@ export class WeightMultiplierAbAttr extends AbAttr { this.multiplier = multiplier; } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - (args[0] as Utils.NumberHolder).value *= this.multiplier; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + (args[0] as NumberHolder).value *= this.multiplier; } } @@ -5019,7 +5018,7 @@ export class SyncEncounterNatureAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { (args[0] as Pokemon).setNature(pokemon.getNature()); } } @@ -5037,7 +5036,7 @@ export class MoveAbilityBypassAbAttr extends AbAttr { return this.moveIgnoreFunc(pokemon, (args[0] as Move)); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -5057,7 +5056,7 @@ export class InfiltratorAbAttr extends AbAttr { } override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return args[0] instanceof Utils.BooleanHolder; + return args[0] instanceof BooleanHolder; } /** @@ -5066,7 +5065,7 @@ export class InfiltratorAbAttr extends AbAttr { * @param passive n/a * @param simulated n/a * @param cancelled n/a - * @param args `[0]` a {@linkcode Utils.BooleanHolder | BooleanHolder} containing the flag + * @param args `[0]` a {@linkcode BooleanHolder | BooleanHolder} containing the flag */ override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: null, args: any[]): void { const bypassed = args[0]; @@ -5107,7 +5106,7 @@ export class IgnoreTypeImmunityAbAttr extends AbAttr { return this.defenderType === (args[1] as PokemonType) && this.allowedMoveTypes.includes(args[0] as PokemonType); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -5130,7 +5129,7 @@ export class IgnoreTypeStatusEffectImmunityAbAttr extends AbAttr { return this.statusEffect.includes(args[0] as StatusEffect) && this.defenderType.includes(args[1] as PokemonType); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; } } @@ -5223,7 +5222,7 @@ export class FormBlockDamageAbAttr extends ReceivedMoveDamageMultiplierAbAttr { this.triggerMessageFunc = triggerMessageFunc; } - override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder | null, args: any[]): boolean { + override canApplyPreDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, cancelled: BooleanHolder | null, args: any[]): boolean { return this.condition(pokemon, attacker, move) && !move.hitsSubstitute(attacker, pokemon); } @@ -5238,9 +5237,9 @@ export class FormBlockDamageAbAttr extends ReceivedMoveDamageMultiplierAbAttr { * @param _cancelled n/a * @param args Additional arguments. */ - override applyPreDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _cancelled: Utils.BooleanHolder, args: any[]): void { + override applyPreDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _cancelled: BooleanHolder, args: any[]): void { if (!simulated) { - (args[0] as Utils.NumberHolder).value = this.multiplier; + (args[0] as NumberHolder).value = this.multiplier; pokemon.removeTag(this.tagType); if (this.recoilDamageFunc) { pokemon.damageAndUpdate(this.recoilDamageFunc(pokemon), { result: HitResult.INDIRECT, ignoreSegments: true, ignoreFaintPhase: true }); @@ -5277,7 +5276,7 @@ export class BypassSpeedChanceAbAttr extends AbAttr { } override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - const bypassSpeed = args[0] as Utils.BooleanHolder; + const bypassSpeed = args[0] as BooleanHolder; const turnCommand = globalScene.currentBattle.turnCommands[pokemon.getBattlerIndex()]; const isCommandFight = turnCommand?.command === Command.FIGHT; const move = turnCommand?.move?.move ? allMoves[turnCommand.move.move] : null; @@ -5289,11 +5288,11 @@ export class BypassSpeedChanceAbAttr extends AbAttr { * bypass move order in their priority bracket when pokemon choose damaging move * @param {Pokemon} pokemon {@linkcode Pokemon} the Pokemon applying this ability * @param {boolean} passive N/A - * @param {Utils.BooleanHolder} cancelled N/A - * @param {any[]} args [0] {@linkcode Utils.BooleanHolder} set to true when the ability activated + * @param {BooleanHolder} cancelled N/A + * @param {any[]} args [0] {@linkcode BooleanHolder} set to true when the ability activated */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - const bypassSpeed = args[0] as Utils.BooleanHolder; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + const bypassSpeed = args[0] as BooleanHolder; bypassSpeed.value = true; } @@ -5328,9 +5327,9 @@ export class PreventBypassSpeedChanceAbAttr extends AbAttr { * @argument {boolean} bypassSpeed - determines if a Pokemon is able to bypass speed at the moment * @argument {boolean} canCheckHeldItems - determines if a Pokemon has access to Quick Claw's effects or not */ - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): void { - const bypassSpeed = args[0] as Utils.BooleanHolder; - const canCheckHeldItems = args[1] as Utils.BooleanHolder; + override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + const bypassSpeed = args[0] as BooleanHolder; + const canCheckHeldItems = args[1] as BooleanHolder; bypassSpeed.value = false; canCheckHeldItems.value = false; } @@ -5349,7 +5348,7 @@ export class TerrainEventTypeChangeAbAttr extends PostSummonAbAttr { return !pokemon.isTerastallized; } - override apply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: Utils.BooleanHolder, _args: any[]): void { + override apply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder, _args: any[]): void { const currentTerrain = globalScene.arena.getTerrainType(); const typeChange: PokemonType[] = this.determineTypeChange(pokemon, currentTerrain); if (typeChange.length !== 0) { @@ -5400,7 +5399,7 @@ export class TerrainEventTypeChangeAbAttr extends PostSummonAbAttr { * Checks if the Pokemon should change types if summoned into an active terrain */ override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { - this.apply(pokemon, passive, simulated, new Utils.BooleanHolder(false), []); + this.apply(pokemon, passive, simulated, new BooleanHolder(false), []); } override getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]) { @@ -5527,7 +5526,7 @@ class ForceSwitchOutHelper { if (switchOutTarget.hp > 0) { switchOutTarget.leaveField(false); globalScene.queueMessage(i18next.t("moveTriggers:fled", { pokemonName: getPokemonNameWithAffix(switchOutTarget) }), null, true, 500); - if (globalScene.currentBattle.double && !Utils.isNullOrUndefined(allyPokemon)) { + if (globalScene.currentBattle.double && !isNullOrUndefined(allyPokemon)) { globalScene.redirectPokemonMoves(switchOutTarget, allyPokemon); } } @@ -5556,7 +5555,7 @@ class ForceSwitchOutHelper { const player = switchOutTarget instanceof PlayerPokemon; if (player) { - const blockedByAbility = new Utils.BooleanHolder(false); + const blockedByAbility = new BooleanHolder(false); applyAbAttrs(ForceSwitchOutImmunityAbAttr, opponent, blockedByAbility); return !blockedByAbility.value; } @@ -5584,7 +5583,7 @@ class ForceSwitchOutHelper { * @returns The failure message, or `null` if no failure. */ public getFailedText(target: Pokemon): string | null { - const blockedByAbility = new Utils.BooleanHolder(false); + const blockedByAbility = new BooleanHolder(false); applyAbAttrs(ForceSwitchOutImmunityAbAttr, target, blockedByAbility); return blockedByAbility.value ? i18next.t("moveTriggers:cannotBeSwitchedOut", { pokemonName: getPokemonNameWithAffix(target) }) : null; } @@ -5603,7 +5602,7 @@ class ForceSwitchOutHelper { function calculateShellBellRecovery(pokemon: Pokemon): number { const shellBellModifier = pokemon.getHeldItems().find(m => m instanceof HitHealModifier); if (shellBellModifier) { - return Utils.toDmgValue(pokemon.turnData.totalDamageDealt / 8) * shellBellModifier.stackCount; + return toDmgValue(pokemon.turnData.totalDamageDealt / 8) * shellBellModifier.stackCount; } return 0; } @@ -5743,7 +5742,7 @@ function applyAbAttrsInternal( export function applyAbAttrs( attrType: Constructor, pokemon: Pokemon, - cancelled: Utils.BooleanHolder | null, + cancelled: BooleanHolder | null, simulated = false, ...args: any[] ): void { @@ -5778,7 +5777,7 @@ export function applyPreDefendAbAttrs( pokemon: Pokemon, attacker: Pokemon, move: Move | null, - cancelled: Utils.BooleanHolder | null, + cancelled: BooleanHolder | null, simulated = false, ...args: any[] ): void { @@ -5833,7 +5832,7 @@ export function applyStatMultiplierAbAttrs( attrType: Constructor, pokemon: Pokemon, stat: BattleStat, - statValue: Utils.NumberHolder, + statValue: NumberHolder, simulated = false, ...args: any[] ): void { @@ -5851,13 +5850,13 @@ export function applyStatMultiplierAbAttrs( * @param attrType - {@linkcode AllyStatMultiplierAbAttr} should always be AllyStatMultiplierAbAttr for the time being * @param pokemon - The {@linkcode Pokemon} with the ability * @param stat - The type of the checked {@linkcode Stat} - * @param statValue - {@linkcode Utils.NumberHolder} containing the value of the checked stat + * @param statValue - {@linkcode NumberHolder} containing the value of the checked stat * @param checkedPokemon - The {@linkcode Pokemon} with the checked stat * @param ignoreAbility - Whether or not the ability should be ignored by the pokemon or its move. * @param args - unused */ export function applyAllyStatMultiplierAbAttrs(attrType: Constructor, - pokemon: Pokemon, stat: BattleStat, statValue: Utils.NumberHolder, simulated: boolean = false, checkedPokemon: Pokemon, ignoreAbility: boolean, ...args: any[] + pokemon: Pokemon, stat: BattleStat, statValue: NumberHolder, simulated: boolean = false, checkedPokemon: Pokemon, ignoreAbility: boolean, ...args: any[] ): void { return applyAbAttrsInternal( attrType, @@ -5910,18 +5909,18 @@ export function applyPostDamageAbAttrs( * @param attrType {@linkcode FieldMultiplyStatAbAttr} should always be FieldMultiplyBattleStatAbAttr for the time being * @param pokemon {@linkcode Pokemon} the Pokemon applying this ability * @param stat {@linkcode Stat} the type of the checked stat - * @param statValue {@linkcode Utils.NumberHolder} the value of the checked stat + * @param statValue {@linkcode NumberHolder} the value of the checked stat * @param checkedPokemon {@linkcode Pokemon} the Pokemon with the checked stat - * @param hasApplied {@linkcode Utils.BooleanHolder} whether or not a FieldMultiplyBattleStatAbAttr has already affected this stat + * @param hasApplied {@linkcode BooleanHolder} whether or not a FieldMultiplyBattleStatAbAttr has already affected this stat * @param args unused */ export function applyFieldStatMultiplierAbAttrs( attrType: Constructor, pokemon: Pokemon, stat: Stat, - statValue: Utils.NumberHolder, + statValue: NumberHolder, checkedPokemon: Pokemon, - hasApplied: Utils.BooleanHolder, + hasApplied: BooleanHolder, simulated = false, ...args: any[] ): void { @@ -6055,7 +6054,7 @@ export function applyPreStatStageChangeAbAttrs, pokemon: Pokemon | null, stat: BattleStat, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, simulated = false, ...args: any[] ): void { @@ -6091,7 +6090,7 @@ export function applyPreSetStatusAbAttrs( attrType: Constructor, pokemon: Pokemon, effect: StatusEffect | undefined, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, simulated = false, ...args: any[] ): void { @@ -6109,7 +6108,7 @@ export function applyPreApplyBattlerTagAbAttrs( attrType: Constructor, pokemon: Pokemon, tag: BattlerTag, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, simulated = false, ...args: any[] ): void { @@ -6127,7 +6126,7 @@ export function applyPreWeatherEffectAbAttrs( attrType: Constructor, pokemon: Pokemon, weather: Weather | null, - cancelled: Utils.BooleanHolder, + cancelled: BooleanHolder, simulated = false, ...args: any[] ): void { @@ -6211,7 +6210,7 @@ export function applyPostTerrainChangeAbAttrs( export function applyCheckTrappedAbAttrs( attrType: Constructor, pokemon: Pokemon, - trapped: Utils.BooleanHolder, + trapped: BooleanHolder, otherPokemon: Pokemon, messages: string[], simulated = false, @@ -6539,7 +6538,7 @@ export function initAbilities() { .bypassFaint() .ignorable(), new Ability(Abilities.SHED_SKIN, 3) - .conditionalAttr(pokemon => !Utils.randSeedInt(3), PostTurnResetStatusAbAttr), + .conditionalAttr(pokemon => !randSeedInt(3), PostTurnResetStatusAbAttr), new Ability(Abilities.GUTS, 3) .attr(BypassBurnDamageReductionAbAttr) .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.ATK, 1.5), @@ -6661,7 +6660,7 @@ export function initAbilities() { .attr(ChangeMovePriorityAbAttr, (pokemon, move: Move) => true, -0.2), new Ability(Abilities.TECHNICIAN, 4) .attr(MovePowerBoostAbAttr, (user, target, move) => { - const power = new Utils.NumberHolder(move.power); + const power = new NumberHolder(move.power); applyMoveAttrs(VariablePowerAttr, user, target, move, power); return power.value <= 60; }, 1.5), @@ -6755,7 +6754,7 @@ export function initAbilities() { .attr(PostDefendMoveDisableAbAttr, 30) .bypassFaint(), new Ability(Abilities.HEALER, 5) - .conditionalAttr(pokemon => !Utils.isNullOrUndefined(pokemon.getAlly()) && Utils.randSeedInt(10) < 3, PostTurnResetStatusAbAttr, true), + .conditionalAttr(pokemon => !isNullOrUndefined(pokemon.getAlly()) && randSeedInt(10) < 3, PostTurnResetStatusAbAttr, true), new Ability(Abilities.FRIEND_GUARD, 5) .attr(AlliedFieldDamageReductionAbAttr, 0.75) .ignorable(), @@ -6809,7 +6808,7 @@ export function initAbilities() { new Ability(Abilities.ANALYTIC, 5) .attr(MovePowerBoostAbAttr, (user, target, move) => { const movePhase = globalScene.findPhase((phase) => phase instanceof MovePhase && phase.pokemon.id !== user?.id); - return Utils.isNullOrUndefined(movePhase); + return isNullOrUndefined(movePhase); }, 1.3), new Ability(Abilities.ILLUSION, 5) .uncopiable() @@ -7032,7 +7031,7 @@ export function initAbilities() { .attr(FormBlockDamageAbAttr, (target, user, move) => !!target.getTag(BattlerTagType.DISGUISE) && target.getMoveEffectiveness(user, move) > 0, 0, BattlerTagType.DISGUISE, (pokemon, abilityName) => i18next.t("abilityTriggers:disguiseAvoidedDamage", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName: abilityName }), - (pokemon) => Utils.toDmgValue(pokemon.getMaxHp() / 8)) + (pokemon) => toDmgValue(pokemon.getMaxHp() / 8)) .attr(PostBattleInitFormChangeAbAttr, () => 0) .uncopiable() .unreplaceable() diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts index 3dff1722af6..c722291c66d 100644 --- a/src/data/balance/biomes.ts +++ b/src/data/balance/biomes.ts @@ -1,5 +1,5 @@ import { PokemonType } from "#enums/pokemon-type"; -import * as Utils from "#app/utils"; +import { randSeedInt, getEnumValues } from "#app/utils"; import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import i18next from "i18next"; @@ -7710,7 +7710,7 @@ export function initBiomes() { if (biome === Biome.END) { const biomeList = Object.keys(Biome).filter(key => !Number.isNaN(Number(key))); biomeList.pop(); // Removes Biome.END from the list - const randIndex = Utils.randSeedInt(biomeList.length, 1); // Will never be Biome.TOWN + const randIndex = randSeedInt(biomeList.length, 1); // Will never be Biome.TOWN biome = Biome[biomeList[randIndex]]; } const linkedBiomes: (Biome | [ Biome, number ])[] = Array.isArray(biomeLinks[biome]) @@ -7733,15 +7733,15 @@ export function initBiomes() { traverseBiome(Biome.TOWN, 0); biomeDepths[Biome.END] = [ Object.values(biomeDepths).map(d => d[0]).reduce((max: number, value: number) => Math.max(max, value), 0) + 1, 1 ]; - for (const biome of Utils.getEnumValues(Biome)) { + for (const biome of getEnumValues(Biome)) { biomePokemonPools[biome] = {}; biomeTrainerPools[biome] = {}; - for (const tier of Utils.getEnumValues(BiomePoolTier)) { + for (const tier of getEnumValues(BiomePoolTier)) { biomePokemonPools[biome][tier] = {}; biomeTrainerPools[biome][tier] = []; - for (const tod of Utils.getEnumValues(TimeOfDay)) { + for (const tod of getEnumValues(TimeOfDay)) { biomePokemonPools[biome][tier][tod] = []; } } diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 19038ad824c..74f6a2c1afb 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -1,5 +1,5 @@ import { allMoves } from "#app/data/moves/move"; -import * as Utils from "#app/utils"; +import { getEnumKeys, getEnumValues } from "#app/utils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; @@ -587,8 +587,8 @@ export const speciesEggMoves = { function parseEggMoves(content: string): void { let output = ""; - const speciesNames = Utils.getEnumKeys(Species); - const speciesValues = Utils.getEnumValues(Species); + const speciesNames = getEnumKeys(Species); + const speciesValues = getEnumValues(Species); const lines = content.split(/\n/g); for (const line of lines) { diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index e49bd049cd6..17f71f3c3c9 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -3,7 +3,7 @@ import { Gender } from "#app/data/gender"; import { PokeballType } from "#enums/pokeball"; import type Pokemon from "#app/field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; -import * as Utils from "#app/utils"; +import { randSeedInt } from "#app/utils"; import { WeatherType } from "#enums/weather-type"; import { Nature } from "#enums/nature"; import { Biome } from "#enums/biome"; @@ -333,7 +333,7 @@ class DunsparceEvolutionCondition extends SpeciesEvolutionCondition { super(p => { let ret = false; if (p.moveset.filter(m => m.moveId === Moves.HYPER_DRILL).length > 0) { - globalScene.executeWithSeedOffset(() => ret = !Utils.randSeedInt(4), p.id); + globalScene.executeWithSeedOffset(() => ret = !randSeedInt(4), p.id); } return ret; }); @@ -346,7 +346,7 @@ class TandemausEvolutionCondition extends SpeciesEvolutionCondition { constructor() { super(p => { let ret = false; - globalScene.executeWithSeedOffset(() => ret = !Utils.randSeedInt(4), p.id); + globalScene.executeWithSeedOffset(() => ret = !randSeedInt(4), p.id); return ret; }); } diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 546dbb4a3db..76e91485460 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -42,7 +42,7 @@ import { Species } from "#enums/species"; import { EFFECTIVE_STATS, getStatKey, Stat, type BattleStat, type EffectiveStat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; -import * as Utils from "../utils"; +import { isNullOrUndefined } from "#app/utils"; export enum BattlerTagLapseType { FAINT, @@ -302,7 +302,7 @@ export class DisabledTag extends MoveRestrictionBattlerTag { super.onAdd(pokemon); const move = pokemon.getLastXMoves(-1).find(m => !m.virtual); - if (Utils.isNullOrUndefined(move) || move.move === Moves.STRUGGLE || move.move === Moves.NONE) { + if (isNullOrUndefined(move) || move.move === Moves.STRUGGLE || move.move === Moves.NONE) { return; } diff --git a/src/data/berry.ts b/src/data/berry.ts index 13820b1277b..8a58d337aa4 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -2,7 +2,7 @@ import { getPokemonNameWithAffix } from "../messages"; import type Pokemon from "../field/pokemon"; import { HitResult } from "../field/pokemon"; import { getStatusEffectHealText } from "./status-effect"; -import * as Utils from "../utils"; +import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils"; import { DoubleBerryEffectAbAttr, PostItemLostAbAttr, @@ -43,7 +43,7 @@ export function getBerryPredicate(berryType: BerryType): BerryPredicate { case BerryType.APICOT: case BerryType.SALAC: return (pokemon: Pokemon) => { - const threshold = new Utils.NumberHolder(0.25); + const threshold = new NumberHolder(0.25); // Offset BerryType such that LIECHI -> Stat.ATK = 1, GANLON -> Stat.DEF = 2, so on and so forth const stat: BattleStat = berryType - BerryType.ENIGMA; applyAbAttrs(ReduceBerryUseThresholdAbAttr, pokemon, null, false, threshold); @@ -51,19 +51,19 @@ export function getBerryPredicate(berryType: BerryType): BerryPredicate { }; case BerryType.LANSAT: return (pokemon: Pokemon) => { - const threshold = new Utils.NumberHolder(0.25); + const threshold = new NumberHolder(0.25); applyAbAttrs(ReduceBerryUseThresholdAbAttr, pokemon, null, false, threshold); return pokemon.getHpRatio() < 0.25 && !pokemon.getTag(BattlerTagType.CRIT_BOOST); }; case BerryType.STARF: return (pokemon: Pokemon) => { - const threshold = new Utils.NumberHolder(0.25); + const threshold = new NumberHolder(0.25); applyAbAttrs(ReduceBerryUseThresholdAbAttr, pokemon, null, false, threshold); return pokemon.getHpRatio() < 0.25; }; case BerryType.LEPPA: return (pokemon: Pokemon) => { - const threshold = new Utils.NumberHolder(0.25); + const threshold = new NumberHolder(0.25); applyAbAttrs(ReduceBerryUseThresholdAbAttr, pokemon, null, false, threshold); return !!pokemon.getMoveset().find(m => !m.getPpRatio()); }; @@ -80,7 +80,7 @@ export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { if (pokemon.battleData) { pokemon.battleData.berriesEaten.push(berryType); } - const hpHealed = new Utils.NumberHolder(Utils.toDmgValue(pokemon.getMaxHp() / 4)); + const hpHealed = new NumberHolder(toDmgValue(pokemon.getMaxHp() / 4)); applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, hpHealed); globalScene.unshiftPhase( new PokemonHealPhase( @@ -118,7 +118,7 @@ export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { } // Offset BerryType such that LIECHI -> Stat.ATK = 1, GANLON -> Stat.DEF = 2, so on and so forth const stat: BattleStat = berryType - BerryType.ENIGMA; - const statStages = new Utils.NumberHolder(1); + const statStages = new NumberHolder(1); applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, statStages); globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [stat], statStages.value)); applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); @@ -136,8 +136,8 @@ export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { if (pokemon.battleData) { pokemon.battleData.berriesEaten.push(berryType); } - const randStat = Utils.randSeedInt(Stat.SPD, Stat.ATK); - const stages = new Utils.NumberHolder(2); + const randStat = randSeedInt(Stat.SPD, Stat.ATK); + const stages = new NumberHolder(2); applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, stages); globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [randStat], stages.value)); applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 868fc7d2e60..51616c3f00f 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -1,4 +1,4 @@ -import * as Utils from "#app/utils"; +import { BooleanHolder, type NumberHolder, randSeedItem, deepCopy } from "#app/utils"; import i18next from "i18next"; import type { DexAttrProps, GameData } from "#app/system/game-data"; import { defaultStarterSpecies } from "#app/system/game-data"; @@ -283,30 +283,30 @@ export abstract class Challenge { /** * An apply function for STARTER_CHOICE challenges. Derived classes should alter this. * @param _pokemon {@link PokemonSpecies} The pokemon to check the validity of. - * @param _valid {@link Utils.BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. + * @param _valid {@link BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. * @param _dexAttr {@link DexAttrProps} The dex attributes of the pokemon. * @returns {@link boolean} Whether this function did anything. */ - applyStarterChoice(_pokemon: PokemonSpecies, _valid: Utils.BooleanHolder, _dexAttr: DexAttrProps): boolean { + applyStarterChoice(_pokemon: PokemonSpecies, _valid: BooleanHolder, _dexAttr: DexAttrProps): boolean { return false; } /** * An apply function for STARTER_POINTS challenges. Derived classes should alter this. - * @param _points {@link Utils.NumberHolder} The amount of points you have available. + * @param _points {@link NumberHolder} The amount of points you have available. * @returns {@link boolean} Whether this function did anything. */ - applyStarterPoints(_points: Utils.NumberHolder): boolean { + applyStarterPoints(_points: NumberHolder): boolean { return false; } /** * An apply function for STARTER_COST challenges. Derived classes should alter this. * @param _species {@link Species} The pokemon to change the cost of. - * @param _cost {@link Utils.NumberHolder} The cost of the starter. + * @param _cost {@link NumberHolder} The cost of the starter. * @returns {@link boolean} Whether this function did anything. */ - applyStarterCost(_species: Species, _cost: Utils.NumberHolder): boolean { + applyStarterCost(_species: Species, _cost: NumberHolder): boolean { return false; } @@ -322,10 +322,10 @@ export abstract class Challenge { /** * An apply function for POKEMON_IN_BATTLE challenges. Derived classes should alter this. * @param _pokemon {@link Pokemon} The pokemon to check the validity of. - * @param _valid {@link Utils.BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. + * @param _valid {@link BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. * @returns {@link boolean} Whether this function did anything. */ - applyPokemonInBattle(_pokemon: Pokemon, _valid: Utils.BooleanHolder): boolean { + applyPokemonInBattle(_pokemon: Pokemon, _valid: BooleanHolder): boolean { return false; } @@ -341,42 +341,42 @@ export abstract class Challenge { /** * An apply function for TYPE_EFFECTIVENESS challenges. Derived classes should alter this. - * @param _effectiveness {@linkcode Utils.NumberHolder} The current effectiveness of the move. + * @param _effectiveness {@linkcode NumberHolder} The current effectiveness of the move. * @returns Whether this function did anything. */ - applyTypeEffectiveness(_effectiveness: Utils.NumberHolder): boolean { + applyTypeEffectiveness(_effectiveness: NumberHolder): boolean { return false; } /** * An apply function for AI_LEVEL challenges. Derived classes should alter this. - * @param _level {@link Utils.NumberHolder} The generated level. + * @param _level {@link NumberHolder} The generated level. * @param _levelCap {@link Number} The current level cap. * @param _isTrainer {@link Boolean} Whether this is a trainer pokemon. * @param _isBoss {@link Boolean} Whether this is a non-trainer boss pokemon. * @returns {@link boolean} Whether this function did anything. */ - applyLevelChange(_level: Utils.NumberHolder, _levelCap: number, _isTrainer: boolean, _isBoss: boolean): boolean { + applyLevelChange(_level: NumberHolder, _levelCap: number, _isTrainer: boolean, _isBoss: boolean): boolean { return false; } /** * An apply function for AI_MOVE_SLOTS challenges. Derived classes should alter this. * @param pokemon {@link Pokemon} The pokemon that is being considered. - * @param moveSlots {@link Utils.NumberHolder} The amount of move slots. + * @param moveSlots {@link NumberHolder} The amount of move slots. * @returns {@link boolean} Whether this function did anything. */ - applyMoveSlot(_pokemon: Pokemon, _moveSlots: Utils.NumberHolder): boolean { + applyMoveSlot(_pokemon: Pokemon, _moveSlots: NumberHolder): boolean { return false; } /** * An apply function for PASSIVE_ACCESS challenges. Derived classes should alter this. * @param pokemon {@link Pokemon} The pokemon to change. - * @param hasPassive {@link Utils.BooleanHolder} Whether it should have its passive. + * @param hasPassive {@link BooleanHolder} Whether it should have its passive. * @returns {@link boolean} Whether this function did anything. */ - applyPassiveAccess(_pokemon: Pokemon, _hasPassive: Utils.BooleanHolder): boolean { + applyPassiveAccess(_pokemon: Pokemon, _hasPassive: BooleanHolder): boolean { return false; } @@ -393,15 +393,10 @@ export abstract class Challenge { * @param _pokemon {@link Pokemon} What pokemon would learn the move. * @param _moveSource {@link MoveSourceType} What source the pokemon would get the move from. * @param _move {@link Moves} The move in question. - * @param _level {@link Utils.NumberHolder} The level threshold for access. + * @param _level {@link NumberHolder} The level threshold for access. * @returns {@link boolean} Whether this function did anything. */ - applyMoveAccessLevel( - _pokemon: Pokemon, - _moveSource: MoveSourceType, - _move: Moves, - _level: Utils.NumberHolder, - ): boolean { + applyMoveAccessLevel(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: Moves, _level: NumberHolder): boolean { return false; } @@ -410,10 +405,10 @@ export abstract class Challenge { * @param _pokemon {@link Pokemon} What pokemon would learn the move. * @param _moveSource {@link MoveSourceType} What source the pokemon would get the move from. * @param _move {@link Moves} The move in question. - * @param _weight {@link Utils.NumberHolder} The base weight of the move + * @param _weight {@link NumberHolder} The base weight of the move * @returns {@link boolean} Whether this function did anything. */ - applyMoveWeight(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: Moves, _level: Utils.NumberHolder): boolean { + applyMoveWeight(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: Moves, _level: NumberHolder): boolean { return false; } @@ -438,7 +433,7 @@ export class SingleGenerationChallenge extends Challenge { super(Challenges.SINGLE_GENERATION, 9); } - applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder): boolean { + applyStarterChoice(pokemon: PokemonSpecies, valid: BooleanHolder): boolean { if (pokemon.generation !== this.value) { valid.value = false; return true; @@ -446,7 +441,7 @@ export class SingleGenerationChallenge extends Challenge { return false; } - applyPokemonInBattle(pokemon: Pokemon, valid: Utils.BooleanHolder): boolean { + applyPokemonInBattle(pokemon: Pokemon, valid: BooleanHolder): boolean { const baseGeneration = getPokemonSpecies(pokemon.species.speciesId).generation; const fusionGeneration = pokemon.isFusion() ? getPokemonSpecies(pokemon.fusionSpecies!.speciesId).generation : 0; if ( @@ -575,7 +570,7 @@ export class SingleGenerationChallenge extends Challenge { TrainerType.AARON, TrainerType.SHAUNTAL, TrainerType.MALVA, - Utils.randSeedItem([TrainerType.HALA, TrainerType.MOLAYNE]), + randSeedItem([TrainerType.HALA, TrainerType.MOLAYNE]), TrainerType.MARNIE_ELITE, TrainerType.RIKA, ]; @@ -602,7 +597,7 @@ export class SingleGenerationChallenge extends Challenge { TrainerType.GRIMSLEY, TrainerType.WIKSTROM, TrainerType.ACEROLA, - Utils.randSeedItem([TrainerType.BEA_ELITE, TrainerType.ALLISTER_ELITE]), + randSeedItem([TrainerType.BEA_ELITE, TrainerType.ALLISTER_ELITE]), TrainerType.LARRY_ELITE, ]; break; @@ -622,14 +617,14 @@ export class SingleGenerationChallenge extends Challenge { case ClassicFixedBossWaves.CHAMPION: trainerTypes = [ TrainerType.BLUE, - Utils.randSeedItem([TrainerType.RED, TrainerType.LANCE_CHAMPION]), - Utils.randSeedItem([TrainerType.STEVEN, TrainerType.WALLACE]), + randSeedItem([TrainerType.RED, TrainerType.LANCE_CHAMPION]), + randSeedItem([TrainerType.STEVEN, TrainerType.WALLACE]), TrainerType.CYNTHIA, - Utils.randSeedItem([TrainerType.ALDER, TrainerType.IRIS]), + randSeedItem([TrainerType.ALDER, TrainerType.IRIS]), TrainerType.DIANTHA, - Utils.randSeedItem([TrainerType.KUKUI, TrainerType.HAU]), - Utils.randSeedItem([TrainerType.LEON, TrainerType.MUSTARD]), - Utils.randSeedItem([TrainerType.GEETA, TrainerType.NEMONA]), + randSeedItem([TrainerType.KUKUI, TrainerType.HAU]), + randSeedItem([TrainerType.LEON, TrainerType.MUSTARD]), + randSeedItem([TrainerType.GEETA, TrainerType.NEMONA]), ]; break; } @@ -718,7 +713,7 @@ export class SingleTypeChallenge extends Challenge { super(Challenges.SINGLE_TYPE, 18); } - override applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder, dexAttr: DexAttrProps): boolean { + override applyStarterChoice(pokemon: PokemonSpecies, valid: BooleanHolder, dexAttr: DexAttrProps): boolean { const speciesForm = getPokemonSpeciesForm(pokemon.speciesId, dexAttr.formIndex); const types = [speciesForm.type1, speciesForm.type2]; if (!types.includes(this.value - 1)) { @@ -728,7 +723,7 @@ export class SingleTypeChallenge extends Challenge { return false; } - applyPokemonInBattle(pokemon: Pokemon, valid: Utils.BooleanHolder): boolean { + applyPokemonInBattle(pokemon: Pokemon, valid: BooleanHolder): boolean { if ( pokemon.isPlayer() && !pokemon.isOfType(this.value - 1, false, false, true) && @@ -798,7 +793,7 @@ export class FreshStartChallenge extends Challenge { super(Challenges.FRESH_START, 1); } - applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder): boolean { + applyStarterChoice(pokemon: PokemonSpecies, valid: BooleanHolder): boolean { if (!defaultStarterSpecies.includes(pokemon.speciesId)) { valid.value = false; return true; @@ -806,7 +801,7 @@ export class FreshStartChallenge extends Challenge { return false; } - applyStarterCost(species: Species, cost: Utils.NumberHolder): boolean { + applyStarterCost(species: Species, cost: NumberHolder): boolean { if (defaultStarterSpecies.includes(species)) { cost.value = speciesStarterCosts[species]; return true; @@ -864,7 +859,7 @@ export class InverseBattleChallenge extends Challenge { return 0; } - applyTypeEffectiveness(effectiveness: Utils.NumberHolder): boolean { + applyTypeEffectiveness(effectiveness: NumberHolder): boolean { if (effectiveness.value < 1) { effectiveness.value = 2; return true; @@ -887,7 +882,7 @@ export class FlipStatChallenge extends Challenge { } override applyFlipStat(_pokemon: Pokemon, baseStats: number[]) { - const origStats = Utils.deepCopy(baseStats); + const origStats = deepCopy(baseStats); baseStats[0] = origStats[5]; baseStats[1] = origStats[4]; baseStats[2] = origStats[3]; @@ -923,7 +918,7 @@ export class LowerStarterMaxCostChallenge extends Challenge { return (DEFAULT_PARTY_MAX_COST - overrideValue).toString(); } - applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder): boolean { + applyStarterChoice(pokemon: PokemonSpecies, valid: BooleanHolder): boolean { if (speciesStarterCosts[pokemon.speciesId] > DEFAULT_PARTY_MAX_COST - this.value) { valid.value = false; return true; @@ -957,7 +952,7 @@ export class LowerStarterPointsChallenge extends Challenge { return (DEFAULT_PARTY_MAX_COST - overrideValue).toString(); } - applyStarterPoints(points: Utils.NumberHolder): boolean { + applyStarterPoints(points: NumberHolder): boolean { points.value -= this.value; return true; } @@ -974,34 +969,34 @@ export class LowerStarterPointsChallenge extends Challenge { * Apply all challenges that modify starter choice. * @param challengeType {@link ChallengeType} ChallengeType.STARTER_CHOICE * @param pokemon {@link PokemonSpecies} The pokemon to check the validity of. - * @param valid {@link Utils.BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. + * @param valid {@link BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. * @param dexAttr {@link DexAttrProps} The dex attributes of the pokemon. * @returns True if any challenge was successfully applied. */ export function applyChallenges( challengeType: ChallengeType.STARTER_CHOICE, pokemon: PokemonSpecies, - valid: Utils.BooleanHolder, + valid: BooleanHolder, dexAttr: DexAttrProps, ): boolean; /** * Apply all challenges that modify available total starter points. * @param challengeType {@link ChallengeType} ChallengeType.STARTER_POINTS - * @param points {@link Utils.NumberHolder} The amount of points you have available. + * @param points {@link NumberHolder} The amount of points you have available. * @returns True if any challenge was successfully applied. */ -export function applyChallenges(challengeType: ChallengeType.STARTER_POINTS, points: Utils.NumberHolder): boolean; +export function applyChallenges(challengeType: ChallengeType.STARTER_POINTS, points: NumberHolder): boolean; /** * Apply all challenges that modify the cost of a starter. * @param challengeType {@link ChallengeType} ChallengeType.STARTER_COST * @param species {@link Species} The pokemon to change the cost of. - * @param points {@link Utils.NumberHolder} The cost of the pokemon. + * @param points {@link NumberHolder} The cost of the pokemon. * @returns True if any challenge was successfully applied. */ export function applyChallenges( challengeType: ChallengeType.STARTER_COST, species: Species, - cost: Utils.NumberHolder, + cost: NumberHolder, ): boolean; /** * Apply all challenges that modify a starter after selection. @@ -1014,13 +1009,13 @@ export function applyChallenges(challengeType: ChallengeType.STARTER_MODIFY, pok * Apply all challenges that what pokemon you can have in battle. * @param challengeType {@link ChallengeType} ChallengeType.POKEMON_IN_BATTLE * @param pokemon {@link Pokemon} The pokemon to check the validity of. - * @param valid {@link Utils.BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. + * @param valid {@link BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. * @returns True if any challenge was successfully applied. */ export function applyChallenges( challengeType: ChallengeType.POKEMON_IN_BATTLE, pokemon: Pokemon, - valid: Utils.BooleanHolder, + valid: BooleanHolder, ): boolean; /** * Apply all challenges that modify what fixed battles there are. @@ -1037,17 +1032,14 @@ export function applyChallenges( /** * Apply all challenges that modify type effectiveness. * @param challengeType {@linkcode ChallengeType} ChallengeType.TYPE_EFFECTIVENESS - * @param effectiveness {@linkcode Utils.NumberHolder} The current effectiveness of the move. + * @param effectiveness {@linkcode NumberHolder} The current effectiveness of the move. * @returns True if any challenge was successfully applied. */ -export function applyChallenges( - challengeType: ChallengeType.TYPE_EFFECTIVENESS, - effectiveness: Utils.NumberHolder, -): boolean; +export function applyChallenges(challengeType: ChallengeType.TYPE_EFFECTIVENESS, effectiveness: NumberHolder): boolean; /** * Apply all challenges that modify what level AI are. * @param challengeType {@link ChallengeType} ChallengeType.AI_LEVEL - * @param level {@link Utils.NumberHolder} The generated level of the pokemon. + * @param level {@link NumberHolder} The generated level of the pokemon. * @param levelCap {@link Number} The maximum level cap for the current wave. * @param isTrainer {@link Boolean} Whether this is a trainer pokemon. * @param isBoss {@link Boolean} Whether this is a non-trainer boss pokemon. @@ -1055,7 +1047,7 @@ export function applyChallenges( */ export function applyChallenges( challengeType: ChallengeType.AI_LEVEL, - level: Utils.NumberHolder, + level: NumberHolder, levelCap: number, isTrainer: boolean, isBoss: boolean, @@ -1064,25 +1056,25 @@ export function applyChallenges( * Apply all challenges that modify how many move slots the AI has. * @param challengeType {@link ChallengeType} ChallengeType.AI_MOVE_SLOTS * @param pokemon {@link Pokemon} The pokemon being considered. - * @param moveSlots {@link Utils.NumberHolder} The amount of move slots. + * @param moveSlots {@link NumberHolder} The amount of move slots. * @returns True if any challenge was successfully applied. */ export function applyChallenges( challengeType: ChallengeType.AI_MOVE_SLOTS, pokemon: Pokemon, - moveSlots: Utils.NumberHolder, + moveSlots: NumberHolder, ): boolean; /** * Apply all challenges that modify whether a pokemon has its passive. * @param challengeType {@link ChallengeType} ChallengeType.PASSIVE_ACCESS * @param pokemon {@link Pokemon} The pokemon to modify. - * @param hasPassive {@link Utils.BooleanHolder} Whether it has its passive. + * @param hasPassive {@link BooleanHolder} Whether it has its passive. * @returns True if any challenge was successfully applied. */ export function applyChallenges( challengeType: ChallengeType.PASSIVE_ACCESS, pokemon: Pokemon, - hasPassive: Utils.BooleanHolder, + hasPassive: BooleanHolder, ): boolean; /** * Apply all challenges that modify the game modes settings. @@ -1096,7 +1088,7 @@ export function applyChallenges(challengeType: ChallengeType.GAME_MODE_MODIFY): * @param pokemon {@link Pokemon} What pokemon would learn the move. * @param moveSource {@link MoveSourceType} What source the pokemon would get the move from. * @param move {@link Moves} The move in question. - * @param level {@link Utils.NumberHolder} The level threshold for access. + * @param level {@link NumberHolder} The level threshold for access. * @returns True if any challenge was successfully applied. */ export function applyChallenges( @@ -1104,7 +1096,7 @@ export function applyChallenges( pokemon: Pokemon, moveSource: MoveSourceType, move: Moves, - level: Utils.NumberHolder, + level: NumberHolder, ): boolean; /** * Apply all challenges that modify what weight a pokemon gives to move generation @@ -1112,7 +1104,7 @@ export function applyChallenges( * @param pokemon {@link Pokemon} What pokemon would learn the move. * @param moveSource {@link MoveSourceType} What source the pokemon would get the move from. * @param move {@link Moves} The move in question. - * @param weight {@link Utils.NumberHolder} The weight of the move. + * @param weight {@link NumberHolder} The weight of the move. * @returns True if any challenge was successfully applied. */ export function applyChallenges( @@ -1120,7 +1112,7 @@ export function applyChallenges( pokemon: Pokemon, moveSource: MoveSourceType, move: Moves, - weight: Utils.NumberHolder, + weight: NumberHolder, ): boolean; export function applyChallenges(challengeType: ChallengeType.FLIP_STAT, pokemon: Pokemon, baseStats: number[]): boolean; @@ -1225,7 +1217,7 @@ export function initChallenges() { */ export function checkStarterValidForChallenge(species: PokemonSpecies, props: DexAttrProps, soft: boolean) { if (!soft) { - const isValidForChallenge = new Utils.BooleanHolder(true); + const isValidForChallenge = new BooleanHolder(true); applyChallenges(ChallengeType.STARTER_CHOICE, species, isValidForChallenge, props); return isValidForChallenge.value; } @@ -1263,7 +1255,7 @@ export function checkStarterValidForChallenge(species: PokemonSpecies, props: De * @returns `true` if the species is considered valid. */ function checkSpeciesValidForChallenge(species: PokemonSpecies, props: DexAttrProps, soft: boolean) { - const isValidForChallenge = new Utils.BooleanHolder(true); + const isValidForChallenge = new BooleanHolder(true); applyChallenges(ChallengeType.STARTER_CHOICE, species, isValidForChallenge, props); if (!soft || !pokemonFormChanges.hasOwnProperty(species.speciesId)) { return isValidForChallenge.value; @@ -1282,7 +1274,7 @@ function checkSpeciesValidForChallenge(species: PokemonSpecies, props: DexAttrPr return species.forms.some((f2, formIndex) => { if (f1.formKey === f2.formKey) { const formProps = { ...props, formIndex }; - const isFormValidForChallenge = new Utils.BooleanHolder(true); + const isFormValidForChallenge = new BooleanHolder(true); applyChallenges(ChallengeType.STARTER_CHOICE, species, isFormValidForChallenge, formProps); return isFormValidForChallenge.value; } diff --git a/src/data/daily-run.ts b/src/data/daily-run.ts index 22fb7db10ae..3438510d613 100644 --- a/src/data/daily-run.ts +++ b/src/data/daily-run.ts @@ -3,7 +3,7 @@ import type { Species } from "#enums/species"; import { globalScene } from "#app/global-scene"; import { PlayerPokemon } from "#app/field/pokemon"; import type { Starter } from "#app/ui/starter-select-ui-handler"; -import * as Utils from "#app/utils"; +import { randSeedGauss, randSeedInt, randSeedItem, getEnumValues } from "#app/utils"; import type { PokemonSpeciesForm } from "#app/data/pokemon-species"; import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; @@ -43,8 +43,8 @@ export function getDailyRunStarters(seed: string): Starter[] { } const starterCosts: number[] = []; - starterCosts.push(Math.min(Math.round(3.5 + Math.abs(Utils.randSeedGauss(1))), 8)); - starterCosts.push(Utils.randSeedInt(9 - starterCosts[0], 1)); + starterCosts.push(Math.min(Math.round(3.5 + Math.abs(randSeedGauss(1))), 8)); + starterCosts.push(randSeedInt(9 - starterCosts[0], 1)); starterCosts.push(10 - (starterCosts[0] + starterCosts[1])); for (let c = 0; c < starterCosts.length; c++) { @@ -52,7 +52,7 @@ export function getDailyRunStarters(seed: string): Starter[] { const costSpecies = Object.keys(speciesStarterCosts) .map(s => Number.parseInt(s) as Species) .filter(s => speciesStarterCosts[s] === cost); - const randPkmSpecies = getPokemonSpecies(Utils.randSeedItem(costSpecies)); + const randPkmSpecies = getPokemonSpecies(randSeedItem(costSpecies)); const starterSpecies = getPokemonSpecies( randPkmSpecies.getTrainerSpeciesForLevel(startingLevel, true, PartyMemberStrength.STRONGER), ); @@ -143,7 +143,7 @@ const dailyBiomeWeights: BiomeWeights = { }; export function getDailyStartingBiome(): Biome { - const biomes = Utils.getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END); + const biomes = getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END); let totalWeight = 0; const biomeThresholds: number[] = []; @@ -155,7 +155,7 @@ export function getDailyStartingBiome(): Biome { biomeThresholds.push(totalWeight); } - const randInt = Utils.randSeedInt(totalWeight); + const randInt = randSeedInt(totalWeight); for (let i = 0; i < biomes.length; i++) { if (randInt < biomeThresholds[i]) { @@ -164,5 +164,5 @@ export function getDailyStartingBiome(): Biome { } // Fallback in case something went wrong - return biomes[Utils.randSeedInt(biomes.length)]; + return biomes[randSeedInt(biomes.length)]; } diff --git a/src/data/egg.ts b/src/data/egg.ts index 0dabf8f1119..13ab0bec479 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -4,7 +4,7 @@ import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; import { VariantTier } from "#enums/variant-tier"; -import * as Utils from "#app/utils"; +import { randInt, randomString, randSeedInt, getIvsFromId } from "#app/utils"; import Overrides from "#app/overrides"; import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import type { PlayerPokemon } from "#app/field/pokemon"; @@ -171,7 +171,7 @@ export class Egg { this.checkForPityTierOverrides(); } - this._id = eggOptions?.id ?? Utils.randInt(EGG_SEED, EGG_SEED * this._tier); + this._id = eggOptions?.id ?? randInt(EGG_SEED, EGG_SEED * this._tier); this._sourceType = eggOptions?.sourceType ?? undefined; this._hatchWaves = eggOptions?.hatchWaves ?? this.getEggTierDefaultHatchWaves(); @@ -203,7 +203,7 @@ export class Egg { } }; - const seedOverride = Utils.randomString(24); + const seedOverride = randomString(24); globalScene.executeWithSeedOffset( () => { generateEggProperties(eggOptions); @@ -248,18 +248,15 @@ export class Egg { let pokemonSpecies = getPokemonSpecies(this._species); // Special condition to have Phione eggs also have a chance of generating Manaphy if (this._species === Species.PHIONE && this._sourceType === EggSourceType.SAME_SPECIES_EGG) { - pokemonSpecies = getPokemonSpecies( - Utils.randSeedInt(MANAPHY_EGG_MANAPHY_RATE) ? Species.PHIONE : Species.MANAPHY, - ); + pokemonSpecies = getPokemonSpecies(randSeedInt(MANAPHY_EGG_MANAPHY_RATE) ? Species.PHIONE : Species.MANAPHY); } // Sets the hidden ability if a hidden ability exists and // the override is set or the egg hits the chance let abilityIndex: number | undefined = undefined; const sameSpeciesEggHACheck = - this._sourceType === EggSourceType.SAME_SPECIES_EGG && !Utils.randSeedInt(SAME_SPECIES_EGG_HA_RATE); - const gachaEggHACheck = - !(this._sourceType === EggSourceType.SAME_SPECIES_EGG) && !Utils.randSeedInt(GACHA_EGG_HA_RATE); + this._sourceType === EggSourceType.SAME_SPECIES_EGG && !randSeedInt(SAME_SPECIES_EGG_HA_RATE); + const gachaEggHACheck = !(this._sourceType === EggSourceType.SAME_SPECIES_EGG) && !randSeedInt(GACHA_EGG_HA_RATE); if (pokemonSpecies.abilityHidden && (this._overrideHiddenAbility || sameSpeciesEggHACheck || gachaEggHACheck)) { abilityIndex = 2; } @@ -269,7 +266,7 @@ export class Egg { ret.shiny = this._isShiny; ret.variant = this._variantTier; - const secondaryIvs = Utils.getIvsFromId(Utils.randSeedInt(4294967295)); + const secondaryIvs = getIvsFromId(randSeedInt(4294967295)); for (let s = 0; s < ret.ivs.length; s++) { ret.ivs[s] = Math.max(ret.ivs[s], secondaryIvs[s]); @@ -370,7 +367,7 @@ export class Egg { } const tierMultiplier = this.isManaphyEgg() ? 2 : Math.pow(2, 3 - this.tier); - return Utils.randSeedInt(baseChance * tierMultiplier) ? Utils.randSeedInt(3) : 3; + return randSeedInt(baseChance * tierMultiplier) ? randSeedInt(3) : 3; } private getEggTierDefaultHatchWaves(eggTier?: EggTier): number { @@ -392,7 +389,7 @@ export class Egg { private rollEggTier(): EggTier { const tierValueOffset = this._sourceType === EggSourceType.GACHA_LEGENDARY ? GACHA_LEGENDARY_UP_THRESHOLD_OFFSET : 0; - const tierValue = Utils.randInt(256); + const tierValue = randInt(256); return tierValue >= GACHA_DEFAULT_COMMON_EGG_THRESHOLD + tierValueOffset ? EggTier.COMMON : tierValue >= GACHA_DEFAULT_RARE_EGG_THRESHOLD + tierValueOffset @@ -417,11 +414,11 @@ export class Egg { * when Utils.randSeedInt(8) = 1, and by making the generatePlayerPokemon() species * check pass when Utils.randSeedInt(8) = 0, we can tell them apart during tests. */ - const rand = Utils.randSeedInt(MANAPHY_EGG_MANAPHY_RATE) !== 1; + const rand = randSeedInt(MANAPHY_EGG_MANAPHY_RATE) !== 1; return rand ? Species.PHIONE : Species.MANAPHY; } if (this.tier === EggTier.LEGENDARY && this._sourceType === EggSourceType.GACHA_LEGENDARY) { - if (!Utils.randSeedInt(2)) { + if (!randSeedInt(2)) { return getLegendaryGachaSpeciesForTimestamp(this.timestamp); } } @@ -501,7 +498,7 @@ export class Egg { let species: Species; - const rand = Utils.randSeedInt(totalWeight); + const rand = randSeedInt(totalWeight); for (let s = 0; s < speciesWeights.length; s++) { if (rand < speciesWeights[s]) { species = speciesPool[s]; @@ -539,7 +536,7 @@ export class Egg { break; } - return !Utils.randSeedInt(shinyChance); + return !randSeedInt(shinyChance); } // Uses the same logic as pokemon.generateVariant(). I would like to only have this logic in one @@ -550,7 +547,7 @@ export class Egg { return VariantTier.STANDARD; } - const rand = Utils.randSeedInt(10); + const rand = randSeedInt(10); if (rand >= SHINY_VARIANT_CHANCE) { return VariantTier.STANDARD; // 6/10 } diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 1af4be4fdf0..a0f68dcd5cb 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -29,9 +29,7 @@ import { } from "../status-effect"; import { getTypeDamageMultiplier } from "../type"; import { PokemonType } from "#enums/pokemon-type"; -import type { Constructor } from "#app/utils"; -import { NumberHolder } from "#app/utils"; -import * as Utils from "../../utils"; +import { BooleanHolder, NumberHolder, isNullOrUndefined, toDmgValue, randSeedItem, randSeedInt, getEnumValues, toReadableString, type Constructor } from "#app/utils"; import { WeatherType } from "#enums/weather-type"; import type { ArenaTrapTag } from "../arena-tag"; import { ArenaTagSide, WeakenMoveTypeTag } from "../arena-tag"; @@ -352,7 +350,7 @@ export default class Move implements Localizable { return false; } - const bypassed = new Utils.BooleanHolder(false); + const bypassed = new BooleanHolder(false); // TODO: Allow this to be simulated applyAbAttrs(InfiltratorAbAttr, user, null, false, bypassed); @@ -651,7 +649,7 @@ export default class Move implements Localizable { break; case MoveFlags.IGNORE_ABILITIES: if (user.hasAbilityWithAttr(MoveAbilityBypassAbAttr)) { - const abilityEffectsIgnored = new Utils.BooleanHolder(false); + const abilityEffectsIgnored = new BooleanHolder(false); applyAbAttrs(MoveAbilityBypassAbAttr, user, abilityEffectsIgnored, false, this); if (abilityEffectsIgnored.value) { return true; @@ -755,7 +753,7 @@ export default class Move implements Localizable { * @returns The calculated accuracy of the move. */ calculateBattleAccuracy(user: Pokemon, target: Pokemon, simulated: boolean = false) { - const moveAccuracy = new Utils.NumberHolder(this.accuracy); + const moveAccuracy = new NumberHolder(this.accuracy); applyMoveAttrs(VariableAccuracyAttr, user, target, this, moveAccuracy); applyPreDefendAbAttrs(WonderSkinAbAttr, target, user, this, { value: false }, simulated, moveAccuracy); @@ -797,8 +795,8 @@ export default class Move implements Localizable { return -1; } - const power = new Utils.NumberHolder(this.power); - const typeChangeMovePowerMultiplier = new Utils.NumberHolder(1); + const power = new NumberHolder(this.power); + const typeChangeMovePowerMultiplier = new NumberHolder(1); applyPreAttackAbAttrs(MoveTypeChangeAbAttr, source, target, this, true, null, typeChangeMovePowerMultiplier); @@ -809,7 +807,7 @@ export default class Move implements Localizable { applyPreAttackAbAttrs(VariableMovePowerAbAttr, source, target, this, simulated, power); const ally = source.getAlly(); - if (!Utils.isNullOrUndefined(ally)) { + if (!isNullOrUndefined(ally)) { applyPreAttackAbAttrs(AllyMoveCategoryPowerBoostAbAttr, ally, target, this, simulated, power); } @@ -850,7 +848,7 @@ export default class Move implements Localizable { } getPriority(user: Pokemon, simulated: boolean = true) { - const priority = new Utils.NumberHolder(this.priority); + const priority = new NumberHolder(this.priority); applyMoveAttrs(IncrementMovePriorityAttr, user, null, this, priority); applyAbAttrs(ChangeMovePriorityAbAttr, user, null, simulated, this, priority); @@ -932,7 +930,7 @@ export default class Move implements Localizable { // ...and cannot enhance Pollen Puff when targeting an ally. const ally = user.getAlly(); - const exceptPollenPuffAlly: boolean = this.id === Moves.POLLEN_PUFF && !Utils.isNullOrUndefined(ally) && targets.includes(ally.getBattlerIndex()) + const exceptPollenPuffAlly: boolean = this.id === Moves.POLLEN_PUFF && !isNullOrUndefined(ally) && targets.includes(ally.getBattlerIndex()) return (!restrictSpread || !isMultiTarget) && !this.isChargingMove() @@ -971,7 +969,7 @@ export class AttackMove extends Move { const effectiveness = target.getAttackTypeEffectiveness(this.type, user, undefined, undefined, this); attackScore = Math.pow(effectiveness - 1, 2) * (effectiveness < 1 ? -2 : 2); const [ thisStat, offStat ]: EffectiveStat[] = this.category === MoveCategory.PHYSICAL ? [ Stat.ATK, Stat.SPATK ] : [ Stat.SPATK, Stat.ATK ]; - const statHolder = new Utils.NumberHolder(user.getEffectiveStat(thisStat, target)); + const statHolder = new NumberHolder(user.getEffectiveStat(thisStat, target)); const offStatValue = user.getEffectiveStat(offStat, target); applyMoveAttrs(VariableAtkAttr, user, target, move, statHolder); const statRatio = offStatValue / statHolder.value; @@ -981,7 +979,7 @@ export class AttackMove extends Move { attackScore *= 1.5; } - const power = new Utils.NumberHolder(this.calculateEffectivePower()); + const power = new NumberHolder(this.calculateEffectivePower()); applyMoveAttrs(VariablePowerAttr, user, target, move, power); attackScore += Math.floor(power.value / 5); @@ -1252,7 +1250,7 @@ export class MoveEffectAttr extends MoveAttr { * @returns Move effect chance value. */ getMoveChance(user: Pokemon, target: Pokemon, move: Move, selfEffect?: Boolean, showAbility?: Boolean): number { - const moveChance = new Utils.NumberHolder(this.effectChanceOverride ?? move.chance); + const moveChance = new NumberHolder(this.effectChanceOverride ?? move.chance); applyAbAttrs(MoveEffectChanceMultiplierAbAttr, user, null, !showAbility, moveChance, move); @@ -1415,7 +1413,7 @@ export class RespectAttackTypeImmunityAttr extends MoveAttr { } export class IgnoreOpponentStatStagesAttr extends MoveAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.BooleanHolder).value = true; + (args[0] as BooleanHolder).value = true; return true; } @@ -1423,7 +1421,7 @@ export class IgnoreOpponentStatStagesAttr extends MoveAttr { export class HighCritAttr extends MoveAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value++; + (args[0] as NumberHolder).value++; return true; } @@ -1435,7 +1433,7 @@ export class HighCritAttr extends MoveAttr { export class CritOnlyAttr extends MoveAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.BooleanHolder).value = true; + (args[0] as BooleanHolder).value = true; return true; } @@ -1455,7 +1453,7 @@ export class FixedDamageAttr extends MoveAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = this.getDamage(user, target, move); + (args[0] as NumberHolder).value = this.getDamage(user, target, move); return true; } @@ -1471,7 +1469,7 @@ export class UserHpDamageAttr extends FixedDamageAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = user.hp; + (args[0] as NumberHolder).value = user.hp; return true; } @@ -1492,7 +1490,7 @@ export class TargetHalfHpDamageAttr extends FixedDamageAttr { const lensCount = user.getHeldItems().find(i => i instanceof PokemonMultiHitModifier)?.getStackCount() ?? 0; if (lensCount <= 0) { // no multi lenses; we can just halve the target's hp and call it a day - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue(target.hp / 2); + (args[0] as NumberHolder).value = toDmgValue(target.hp / 2); return true; } @@ -1503,11 +1501,11 @@ export class TargetHalfHpDamageAttr extends FixedDamageAttr { this.initialHp = target.hp; default: // multi lens added hit; use initialHp tracker to ensure correct damage - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue(this.initialHp / 2); + (args[0] as NumberHolder).value = toDmgValue(this.initialHp / 2); return true; case lensCount + 1: // parental bond added hit; calc damage as normal - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue(target.hp / 2); + (args[0] as NumberHolder).value = toDmgValue(target.hp / 2); return true; } } @@ -1523,7 +1521,7 @@ export class MatchHpAttr extends FixedDamageAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = target.hp - user.hp; + (args[0] as NumberHolder).value = target.hp - user.hp; return true; } @@ -1553,7 +1551,7 @@ export class CounterDamageAttr extends FixedDamageAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const damage = user.turnData.attacksReceived.filter(ar => this.moveFilter(allMoves[ar.move])).reduce((total: number, ar: AttackMoveResult) => total + ar.damage, 0); - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue(damage * this.multiplier); + (args[0] as NumberHolder).value = toDmgValue(damage * this.multiplier); return true; } @@ -1579,13 +1577,13 @@ export class RandomLevelDamageAttr extends FixedDamageAttr { } getDamage(user: Pokemon, target: Pokemon, move: Move): number { - return Utils.toDmgValue(user.level * (user.randSeedIntRange(50, 150) * 0.01)); + return toDmgValue(user.level * (user.randSeedIntRange(50, 150) * 0.01)); } } export class ModifiedDamageAttr extends MoveAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const initialDamage = args[0] as Utils.NumberHolder; + const initialDamage = args[0] as NumberHolder; initialDamage.value = this.getModifiedDamage(user, target, move, initialDamage.value); return true; @@ -1638,7 +1636,7 @@ export class RecoilAttr extends MoveEffectAttr { return false; } - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); if (!this.unblockable) { applyAbAttrs(BlockRecoilDamageAttr, user, cancelled); applyAbAttrs(BlockNonDirectDamageAbAttr, user, cancelled); @@ -1655,7 +1653,7 @@ export class RecoilAttr extends MoveEffectAttr { const damageValue = (!this.useHp ? user.turnData.totalDamageDealt : user.getMaxHp()) * this.damageRatio; const minValue = user.turnData.totalDamageDealt ? 1 : 0; - const recoilDamage = Utils.toDmgValue(damageValue, minValue); + const recoilDamage = toDmgValue(damageValue, minValue); if (!recoilDamage) { return false; } @@ -1772,11 +1770,11 @@ export class HalfSacrificialAttr extends MoveEffectAttr { return false; } - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); // Check to see if the Pokemon has an ability that blocks non-direct damage applyAbAttrs(BlockNonDirectDamageAbAttr, user, cancelled); if (!cancelled.value) { - user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / 2), { result: HitResult.INDIRECT, ignoreSegments: true }); + user.damageAndUpdate(toDmgValue(user.getMaxHp() / 2), { result: HitResult.INDIRECT, ignoreSegments: true }); globalScene.queueMessage(i18next.t("moveTriggers:cutHpPowerUpMove", { pokemonName: getPokemonNameWithAffix(user) })); // Queue recoil message } return true; @@ -1882,7 +1880,7 @@ export class HealAttr extends MoveEffectAttr { */ addHealPhase(target: Pokemon, healRatio: number) { globalScene.unshiftPhase(new PokemonHealPhase(target.getBattlerIndex(), - Utils.toDmgValue(target.getMaxHp() * healRatio), i18next.t("moveTriggers:healHp", { pokemonName: getPokemonNameWithAffix(target) }), true, !this.showAnim)); + toDmgValue(target.getMaxHp() * healRatio), i18next.t("moveTriggers:healHp", { pokemonName: getPokemonNameWithAffix(target) }), true, !this.showAnim)); } getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { @@ -1965,9 +1963,9 @@ export class FlameBurstAttr extends MoveEffectAttr { */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const targetAlly = target.getAlly(); - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); - if (!Utils.isNullOrUndefined(targetAlly)) { + if (!isNullOrUndefined(targetAlly)) { applyAbAttrs(BlockNonDirectDamageAbAttr, targetAlly, cancelled); } @@ -1980,7 +1978,7 @@ export class FlameBurstAttr extends MoveEffectAttr { } getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { - return !Utils.isNullOrUndefined(target.getAlly()) ? -5 : 0; + return !isNullOrUndefined(target.getAlly()) ? -5 : 0; } } @@ -2048,11 +2046,11 @@ export class IgnoreWeatherTypeDebuffAttr extends MoveAttr { * @param user {@linkcode Pokemon} that used the move * @param target N/A * @param move {@linkcode Move} with this attribute - * @param args [0] {@linkcode Utils.NumberHolder} for arenaAttackTypeMultiplier + * @param args [0] {@linkcode NumberHolder} for arenaAttackTypeMultiplier * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const weatherModifier = args[0] as Utils.NumberHolder; + const weatherModifier = args[0] as NumberHolder; //If the type-based attack power modifier due to weather (e.g. Water moves in Sun) is below 1, set it to 1 if (globalScene.arena.weather?.weatherType === this.weather) { weatherModifier.value = Math.max(weatherModifier.value, 1); @@ -2203,7 +2201,7 @@ export class HitHealAttr extends MoveEffectAttr { message = i18next.t("battle:drainMessage", { pokemonName: getPokemonNameWithAffix(target) }); } else { // Default healing formula used by draining moves like Absorb, Draining Kiss, Bitter Blade, etc. - healAmount = Utils.toDmgValue(user.turnData.singleHitDamageDealt * this.healRatio); + healAmount = toDmgValue(user.turnData.singleHitDamageDealt * this.healRatio); message = i18next.t("battle:regainHealth", { pokemonName: getPokemonNameWithAffix(user) }); } if (reverseDrain) { @@ -2261,7 +2259,7 @@ export class IncrementMovePriorityAttr extends MoveAttr { * @param user {@linkcode Pokemon} using this move * @param target {@linkcode Pokemon} target of this move * @param move {@linkcode Move} being used - * @param args [0] {@linkcode Utils.NumberHolder} for move priority. + * @param args [0] {@linkcode NumberHolder} for move priority. * @returns true if function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { @@ -2269,7 +2267,7 @@ export class IncrementMovePriorityAttr extends MoveAttr { return false; } - (args[0] as Utils.NumberHolder).value += this.increaseAmount; + (args[0] as NumberHolder).value += this.increaseAmount; return true; } } @@ -2307,15 +2305,15 @@ export class MultiHitAttr extends MoveAttr { * @param user {@linkcode Pokemon} that used the attack * @param target {@linkcode Pokemon} targeted by the attack * @param move {@linkcode Move} being used - * @param args [0] {@linkcode Utils.NumberHolder} storing the hit count of the attack + * @param args [0] {@linkcode NumberHolder} storing the hit count of the attack * @returns True */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const hitType = new Utils.NumberHolder(this.intrinsicMultiHitType); + const hitType = new NumberHolder(this.intrinsicMultiHitType); applyMoveAttrs(ChangeMultiHitTypeAttr, user, target, move, hitType); this.multiHitType = hitType.value; - (args[0] as Utils.NumberHolder).value = this.getHitCount(user, target); + (args[0] as NumberHolder).value = this.getHitCount(user, target); return true; } @@ -2336,7 +2334,7 @@ export class MultiHitAttr extends MoveAttr { case MultiHitType._2_TO_5: { const rand = user.randSeedInt(20); - const hitValue = new Utils.NumberHolder(rand); + const hitValue = new NumberHolder(rand); applyAbAttrs(MaxMultiHitAbAttr, user, null, false, hitValue); if (hitValue.value >= 13) { return 2; @@ -2414,7 +2412,7 @@ export class ChangeMultiHitTypeAttr extends MoveAttr { export class WaterShurikenMultiHitTypeAttr extends ChangeMultiHitTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (user.species.speciesId === Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex === 2) { - (args[0] as Utils.NumberHolder).value = MultiHitType._3; + (args[0] as NumberHolder).value = MultiHitType._3; return true; } return false; @@ -2480,7 +2478,7 @@ export class MultiStatusEffectAttr extends StatusEffectAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - this.effect = Utils.randSeedItem(this.effects); + this.effect = randSeedItem(this.effects); const result = super.apply(user, target, move, args); return result; } @@ -2612,7 +2610,7 @@ export class RemoveHeldItemAttr extends MoveEffectAttr { return false; } - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // Check for abilities that block item theft if (cancelled.value === true) { @@ -2686,7 +2684,7 @@ export class EatBerryAttr extends MoveEffectAttr { return false; } this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)]; - const preserve = new Utils.BooleanHolder(false); + const preserve = new BooleanHolder(false); globalScene.applyModifiers(PreserveBerryModifier, target.isPlayer(), target, preserve); // check for berry pouch preservation if (!preserve.value) { this.reduceBerryModifier(target); @@ -2709,7 +2707,7 @@ export class EatBerryAttr extends MoveEffectAttr { eatBerry(consumer: Pokemon, berryOwner?: Pokemon) { getBerryEffectFunc(this.chosenBerry!.berryType)(consumer, berryOwner); // consumer eats the berry - applyAbAttrs(HealFromBerryUseAbAttr, consumer, new Utils.BooleanHolder(false)); + applyAbAttrs(HealFromBerryUseAbAttr, consumer, new BooleanHolder(false)); } } @@ -2733,7 +2731,7 @@ export class StealEatBerryAttr extends EatBerryAttr { if (move.hitsSubstitute(user, target)) { return false; } - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // check for abilities that block item theft if (cancelled.value === true) { return false; @@ -2846,11 +2844,11 @@ export class BypassBurnDamageReductionAttr extends MoveAttr { * @param user N/A * @param target N/A * @param move {@linkcode Move} with this attribute - * @param args [0] {@linkcode Utils.BooleanHolder} for burnDamageReductionCancelled + * @param args [0] {@linkcode BooleanHolder} for burnDamageReductionCancelled * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.BooleanHolder).value = true; + (args[0] as BooleanHolder).value = true; return true; } @@ -2931,14 +2929,14 @@ export class OneHitKOAttr extends MoveAttr { return false; } - (args[0] as Utils.BooleanHolder).value = true; + (args[0] as BooleanHolder).value = true; return true; } getCondition(): MoveConditionFunc { return (user, target, move) => { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyAbAttrs(BlockOneHitKOAbAttr, target, cancelled); return !cancelled.value && user.level >= target.level; }; @@ -2965,12 +2963,12 @@ export class InstantChargeAttr extends MoveAttr { * @param target n/a * @param move the {@linkcode Move} associated with this attribute * @param args - * - `[0]` a {@linkcode Utils.BooleanHolder | BooleanHolder} for the "instant charge" flag + * - `[0]` a {@linkcode BooleanHolder | BooleanHolder} for the "instant charge" flag * @returns `true` if the instant charge condition is met; `false` otherwise. */ override apply(user: Pokemon, target: Pokemon | null, move: Move, args: any[]): boolean { const instantCharge = args[0]; - if (!(instantCharge instanceof Utils.BooleanHolder)) { + if (!(instantCharge instanceof BooleanHolder)) { return false; } @@ -2992,7 +2990,7 @@ export class WeatherInstantChargeAttr extends InstantChargeAttr { super((user, move) => { const currentWeather = globalScene.arena.weather; - if (Utils.isNullOrUndefined(currentWeather?.weatherType)) { + if (isNullOrUndefined(currentWeather?.weatherType)) { return false; } else { return !currentWeather?.isEffectSuppressed() @@ -3035,7 +3033,7 @@ export class DelayedAttackAttr extends OverrideMoveEffectAttr { return true; } - const overridden = args[0] as Utils.BooleanHolder; + const overridden = args[0] as BooleanHolder; const virtual = args[1] as boolean; if (!virtual) { @@ -3069,7 +3067,7 @@ export class AwaitCombinedPledgeAttr extends OverrideMoveEffectAttr { * @param target n/a * @param move the {@linkcode Move} being used * @param args - * - [0] a {@linkcode Utils.BooleanHolder} indicating whether the move's base + * - [0] a {@linkcode BooleanHolder} indicating whether the move's base * effects should be overridden this turn. * @returns `true` if base move effects were overridden; `false` otherwise */ @@ -3080,7 +3078,7 @@ export class AwaitCombinedPledgeAttr extends OverrideMoveEffectAttr { return false; } - const overridden = args[0] as Utils.BooleanHolder; + const overridden = args[0] as BooleanHolder; const allyMovePhase = globalScene.findPhase((phase) => phase instanceof MovePhase && phase.pokemon.isPlayer() === user.isPlayer()); if (allyMovePhase) { @@ -3451,7 +3449,7 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr { this.messageCallback = messageCallback; } override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / this.cutRatio), { result: HitResult.INDIRECT }); + user.damageAndUpdate(toDmgValue(user.getMaxHp() / this.cutRatio), { result: HitResult.INDIRECT }); user.updateInfo(); const ret = super.apply(user, target, move, args); if (this.messageCallback) { @@ -3663,7 +3661,7 @@ export class LessPPMorePowerAttr extends VariablePowerAttr { * @param user {@linkcode Pokemon} using this move * @param target {@linkcode Pokemon} target of this move * @param move {@linkcode Move} being used - * @param args [0] {@linkcode Utils.NumberHolder} of power + * @param args [0] {@linkcode NumberHolder} of power * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { @@ -3676,7 +3674,7 @@ export class LessPPMorePowerAttr extends VariablePowerAttr { ppRemains = 0; } - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; switch (ppRemains) { case 0: @@ -3709,7 +3707,7 @@ export class MovePowerMultiplierAttr extends VariablePowerAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; power.value *= this.powerMultiplierFunc(user, target, move); return true; @@ -3749,7 +3747,7 @@ export class BeatUpAttr extends VariablePowerAttr { * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const party = user.isPlayer() ? globalScene.getPlayerParty() : globalScene.getEnemyParty(); const allyCount = party.filter(pokemon => { @@ -3764,7 +3762,7 @@ export class BeatUpAttr extends VariablePowerAttr { const doublePowerChanceMessageFunc = (user: Pokemon, target: Pokemon, move: Move) => { let message: string = ""; globalScene.executeWithSeedOffset(() => { - const rand = Utils.randSeedInt(100); + const rand = randSeedInt(100); if (rand < move.chance) { message = i18next.t("moveTriggers:goingAllOutForAttack", { pokemonName: getPokemonNameWithAffix(user) }); } @@ -3775,9 +3773,9 @@ const doublePowerChanceMessageFunc = (user: Pokemon, target: Pokemon, move: Move export class DoublePowerChanceAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { let rand: number; - globalScene.executeWithSeedOffset(() => rand = Utils.randSeedInt(100), globalScene.currentBattle.turn << 6, globalScene.waveSeed); + globalScene.executeWithSeedOffset(() => rand = randSeedInt(100), globalScene.currentBattle.turn << 6, globalScene.waveSeed); if (rand! < move.chance) { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; power.value *= 2; return true; } @@ -3831,7 +3829,7 @@ export class ConsecutiveUseMultiBasePowerAttr extends ConsecutiveUsePowerMultipl export class WeightPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const targetWeight = target.getWeight(); const weightThresholds = [ 10, 25, 50, 100, 200 ]; @@ -3865,7 +3863,7 @@ export class ElectroBallPowerAttr extends VariablePowerAttr { * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const statRatio = target.getEffectiveStat(Stat.SPD) / user.getEffectiveStat(Stat.SPD); const statThresholds = [ 0.25, 1 / 3, 0.5, 1, -1 ]; @@ -3900,7 +3898,7 @@ export class GyroBallPowerAttr extends VariablePowerAttr { * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const userSpeed = user.getEffectiveStat(Stat.SPD); if (userSpeed < 1) { // Gen 6+ always have 1 base power @@ -3915,7 +3913,7 @@ export class GyroBallPowerAttr extends VariablePowerAttr { export class LowHpPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const hpRatio = user.getHpRatio(); switch (true) { @@ -3945,7 +3943,7 @@ export class LowHpPowerAttr extends VariablePowerAttr { export class CompareWeightPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const userWeight = user.getWeight(); const targetWeight = target.getWeight(); @@ -3979,7 +3977,7 @@ export class CompareWeightPowerAttr extends VariablePowerAttr { export class HpPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue(150 * user.getHpRatio()); + (args[0] as NumberHolder).value = toDmgValue(150 * user.getHpRatio()); return true; } @@ -4007,7 +4005,7 @@ export class OpponentHighHpPowerAttr extends VariablePowerAttr { * @returns true */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = Utils.toDmgValue(this.maxBasePower * target.getHpRatio()); + (args[0] as NumberHolder).value = toDmgValue(this.maxBasePower * target.getHpRatio()); return true; } @@ -4017,7 +4015,7 @@ export class FirstAttackDoublePowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { console.log(target.getLastXMoves(1), globalScene.currentBattle.turn); if (!target.getLastXMoves(1).find(m => m.turn === globalScene.currentBattle.turn)) { - (args[0] as Utils.NumberHolder).value *= 2; + (args[0] as NumberHolder).value *= 2; return true; } @@ -4029,7 +4027,7 @@ export class FirstAttackDoublePowerAttr extends VariablePowerAttr { export class TurnDamagedDoublePowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (user.turnData.attacksReceived.find(r => r.damage && r.sourceId === target.id)) { - (args[0] as Utils.NumberHolder).value *= 2; + (args[0] as NumberHolder).value *= 2; return true; } @@ -4042,7 +4040,7 @@ const magnitudeMessageFunc = (user: Pokemon, target: Pokemon, move: Move) => { globalScene.executeWithSeedOffset(() => { const magnitudeThresholds = [ 5, 15, 35, 65, 75, 95 ]; - const rand = Utils.randSeedInt(100); + const rand = randSeedInt(100); let m = 0; for (; m < magnitudeThresholds.length; m++) { @@ -4058,14 +4056,14 @@ const magnitudeMessageFunc = (user: Pokemon, target: Pokemon, move: Move) => { export class MagnitudePowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const magnitudeThresholds = [ 5, 15, 35, 65, 75, 95 ]; const magnitudePowers = [ 10, 30, 50, 70, 90, 100, 110, 150 ]; let rand: number; - globalScene.executeWithSeedOffset(() => rand = Utils.randSeedInt(100), globalScene.currentBattle.turn << 6, globalScene.waveSeed); + globalScene.executeWithSeedOffset(() => rand = randSeedInt(100), globalScene.currentBattle.turn << 6, globalScene.waveSeed); let m = 0; for (; m < magnitudeThresholds.length; m++) { @@ -4083,7 +4081,7 @@ export class MagnitudePowerAttr extends VariablePowerAttr { export class AntiSunlightPowerDecreaseAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!globalScene.arena.weather?.isEffectSuppressed()) { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const weatherType = globalScene.arena.weather?.weatherType || WeatherType.NONE; switch (weatherType) { case WeatherType.RAIN: @@ -4110,7 +4108,7 @@ export class FriendshipPowerAttr extends VariablePowerAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const friendshipPower = Math.floor(Math.min(user instanceof PlayerPokemon ? user.friendship : user.species.baseFriendship, 255) / 2.5); power.value = Math.max(!this.invert ? friendshipPower : 102 - friendshipPower, 1); @@ -4126,7 +4124,7 @@ export class FriendshipPowerAttr extends VariablePowerAttr { export class RageFistPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const { hitCount, prevHitCount } = user.battleData; - const basePower: Utils.NumberHolder = args[0]; + const basePower: NumberHolder = args[0]; this.updateHitReceivedCount(user, hitCount, prevHitCount); @@ -4171,7 +4169,7 @@ export class PositiveStatStagePowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const positiveStatStages: number = countPositiveStatStages(user); - (args[0] as Utils.NumberHolder).value += positiveStatStages * 20; + (args[0] as NumberHolder).value += positiveStatStages * 20; return true; } } @@ -4194,7 +4192,7 @@ export class PunishmentPowerAttr extends VariablePowerAttr { */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const positiveStatStages: number = countPositiveStatStages(target); - (args[0] as Utils.NumberHolder).value = Math.min( + (args[0] as NumberHolder).value = Math.min( this.PUNISHMENT_MAX_BASE_POWER, this.PUNISHMENT_MIN_BASE_POWER + positiveStatStages * 20 ); @@ -4210,18 +4208,18 @@ export class PresentPowerAttr extends VariablePowerAttr { */ const firstHit = (user.turnData.hitCount === user.turnData.hitsLeft); - const powerSeed = Utils.randSeedInt(firstHit ? 100 : 80); + const powerSeed = randSeedInt(firstHit ? 100 : 80); if (powerSeed <= 40) { - (args[0] as Utils.NumberHolder).value = 40; + (args[0] as NumberHolder).value = 40; } else if (40 < powerSeed && powerSeed <= 70) { - (args[0] as Utils.NumberHolder).value = 80; + (args[0] as NumberHolder).value = 80; } else if (70 < powerSeed && powerSeed <= 80) { - (args[0] as Utils.NumberHolder).value = 120; + (args[0] as NumberHolder).value = 120; } else if (80 < powerSeed && powerSeed <= 100) { // If this move is multi-hit, disable all other hits user.stopMultiHit(); globalScene.unshiftPhase(new PokemonHealPhase(target.getBattlerIndex(), - Utils.toDmgValue(target.getMaxHp() / 4), i18next.t("moveTriggers:regainedHealth", { pokemonName: getPokemonNameWithAffix(target) }), true)); + toDmgValue(target.getMaxHp() / 4), i18next.t("moveTriggers:regainedHealth", { pokemonName: getPokemonNameWithAffix(target) }), true)); } return true; @@ -4231,7 +4229,7 @@ export class PresentPowerAttr extends VariablePowerAttr { export class WaterShurikenPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (user.species.speciesId === Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex === 2) { - (args[0] as Utils.NumberHolder).value = 20; + (args[0] as NumberHolder).value = 20; return true; } return false; @@ -4253,7 +4251,7 @@ export class SpitUpPowerAttr extends VariablePowerAttr { const stockpilingTag = user.getTag(StockpilingTag); if (stockpilingTag && stockpilingTag.stockpiledCount > 0) { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; power.value = this.multiplier * stockpilingTag.stockpiledCount; return true; } @@ -4321,12 +4319,12 @@ export class MultiHitPowerIncrementAttr extends VariablePowerAttr { * @param user {@linkcode Pokemon} that used the move * @param target {@linkcode Pokemon} that the move was used on * @param move {@linkcode Move} with this attribute - * @param args [0] {@linkcode Utils.NumberHolder} for final calculated power of move + * @param args [0] {@linkcode NumberHolder} for final calculated power of move * @returns true if attribute application succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const hitsTotal = user.turnData.hitCount - Math.max(user.turnData.hitsLeft, 0); - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; power.value = move.power * (1 + hitsTotal % this.maxHits); @@ -4358,11 +4356,11 @@ export class LastMoveDoublePowerAttr extends VariablePowerAttr { * @param user {@linkcode Pokemon} that used the move * @param target N/A * @param move N/A - * @param args [0] {@linkcode Utils.NumberHolder} that holds the resulting power of the move + * @param args [0] {@linkcode NumberHolder} that holds the resulting power of the move * @returns true if attribute application succeeds, false otherwise */ apply(user: Pokemon, _target: Pokemon, _move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; const enemy = user.getOpponent(0); const pokemonActed: Pokemon[] = []; @@ -4374,10 +4372,10 @@ export class LastMoveDoublePowerAttr extends VariablePowerAttr { const userAlly = user.getAlly(); const enemyAlly = enemy?.getAlly(); - if (!Utils.isNullOrUndefined(userAlly) && userAlly.turnData.acted) { + if (!isNullOrUndefined(userAlly) && userAlly.turnData.acted) { pokemonActed.push(userAlly); } - if (!Utils.isNullOrUndefined(enemyAlly) && enemyAlly.turnData.acted) { + if (!isNullOrUndefined(enemyAlly) && enemyAlly.turnData.acted) { pokemonActed.push(enemyAlly); } } @@ -4407,7 +4405,7 @@ export class LastMoveDoublePowerAttr extends VariablePowerAttr { export class CombinedPledgePowerAttr extends VariablePowerAttr { override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const power = args[0]; - if (!(power instanceof Utils.NumberHolder)) { + if (!(power instanceof NumberHolder)) { return false; } const combinedPledgeMove = user.turnData.combiningPledge; @@ -4426,7 +4424,7 @@ export class CombinedPledgePowerAttr extends VariablePowerAttr { export class CombinedPledgeStabBoostAttr extends MoveAttr { override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const stabMultiplier = args[0]; - if (!(stabMultiplier instanceof Utils.NumberHolder)) { + if (!(stabMultiplier instanceof NumberHolder)) { return false; } const combinedPledgeMove = user.turnData.combiningPledge; @@ -4447,7 +4445,7 @@ export class CombinedPledgeStabBoostAttr extends MoveAttr { export class RoundPowerAttr extends VariablePowerAttr { override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const power = args[0]; - if (!(power instanceof Utils.NumberHolder)) { + if (!(power instanceof NumberHolder)) { return false; } @@ -4572,7 +4570,7 @@ export class TargetAtkUserAtkAttr extends VariableAtkAttr { super(); } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = target.getEffectiveStat(Stat.ATK, target); + (args[0] as NumberHolder).value = target.getEffectiveStat(Stat.ATK, target); return true; } } @@ -4583,7 +4581,7 @@ export class DefAtkAttr extends VariableAtkAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = user.getEffectiveStat(Stat.DEF, target); + (args[0] as NumberHolder).value = user.getEffectiveStat(Stat.DEF, target); return true; } } @@ -4605,7 +4603,7 @@ export class DefDefAttr extends VariableDefAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - (args[0] as Utils.NumberHolder).value = target.getEffectiveStat(Stat.DEF, user); + (args[0] as NumberHolder).value = target.getEffectiveStat(Stat.DEF, user); return true; } } @@ -4623,7 +4621,7 @@ export class VariableAccuracyAttr extends MoveAttr { export class ThunderAccuracyAttr extends VariableAccuracyAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!globalScene.arena.weather?.isEffectSuppressed()) { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; const weatherType = globalScene.arena.weather?.weatherType || WeatherType.NONE; switch (weatherType) { case WeatherType.SUNNY: @@ -4649,7 +4647,7 @@ export class ThunderAccuracyAttr extends VariableAccuracyAttr { export class StormAccuracyAttr extends VariableAccuracyAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!globalScene.arena.weather?.isEffectSuppressed()) { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; const weatherType = globalScene.arena.weather?.weatherType || WeatherType.NONE; switch (weatherType) { case WeatherType.RAIN: @@ -4680,7 +4678,7 @@ export class AlwaysHitMinimizeAttr extends VariableAccuracyAttr { */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (target.getTag(BattlerTagType.MINIMIZED)) { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; accuracy.value = -1; return true; @@ -4693,7 +4691,7 @@ export class AlwaysHitMinimizeAttr extends VariableAccuracyAttr { export class ToxicAccuracyAttr extends VariableAccuracyAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (user.isOfType(PokemonType.POISON)) { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; accuracy.value = -1; return true; } @@ -4705,7 +4703,7 @@ export class ToxicAccuracyAttr extends VariableAccuracyAttr { export class BlizzardAccuracyAttr extends VariableAccuracyAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!globalScene.arena.weather?.isEffectSuppressed()) { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; const weatherType = globalScene.arena.weather?.weatherType || WeatherType.NONE; if (weatherType === WeatherType.HAIL || weatherType === WeatherType.SNOW) { accuracy.value = -1; @@ -4725,7 +4723,7 @@ export class VariableMoveCategoryAttr extends MoveAttr { export class PhotonGeyserCategoryAttr extends VariableMoveCategoryAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const category = (args[0] as Utils.NumberHolder); + const category = (args[0] as NumberHolder); if (user.getEffectiveStat(Stat.ATK, target, move) > user.getEffectiveStat(Stat.SPATK, target, move)) { category.value = MoveCategory.PHYSICAL; @@ -4745,7 +4743,7 @@ export class PhotonGeyserCategoryAttr extends VariableMoveCategoryAttr { */ export class TeraMoveCategoryAttr extends VariableMoveCategoryAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const category = (args[0] as Utils.NumberHolder); + const category = (args[0] as NumberHolder); if (user.isTerastallized && user.getEffectiveStat(Stat.ATK, target, move, true, true, false, false, true) > user.getEffectiveStat(Stat.SPATK, target, move, true, true, false, false, true)) { @@ -4769,12 +4767,12 @@ export class TeraBlastPowerAttr extends VariablePowerAttr { * @param target n/a * @param move {@linkcode Move} the Move with this attribute (i.e. Tera Blast) * @param args - * - [0] {@linkcode Utils.NumberHolder} the applied move's power, factoring in + * - [0] {@linkcode NumberHolder} the applied move's power, factoring in * previously applied power modifiers. * @returns */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const power = args[0] as Utils.NumberHolder; + const power = args[0] as NumberHolder; if (user.isTerastallized && user.getTeraType() === PokemonType.STELLAR) { power.value = 100; return true; @@ -4794,11 +4792,11 @@ export class StatusCategoryOnAllyAttr extends VariableMoveCategoryAttr { * @param user {@linkcode Pokemon} using the move * @param target {@linkcode Pokemon} target of the move * @param move {@linkcode Move} with this attribute - * @param args [0] {@linkcode Utils.NumberHolder} The category of the move + * @param args [0] {@linkcode NumberHolder} The category of the move * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const category = (args[0] as Utils.NumberHolder); + const category = (args[0] as NumberHolder); if (user.getAlly() === target) { category.value = MoveCategory.STATUS; @@ -4811,7 +4809,7 @@ export class StatusCategoryOnAllyAttr extends VariableMoveCategoryAttr { export class ShellSideArmCategoryAttr extends VariableMoveCategoryAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const category = (args[0] as Utils.NumberHolder); + const category = (args[0] as NumberHolder); const predictedPhysDmg = target.getBaseDamage(user, move, MoveCategory.PHYSICAL, true, true, true, true); const predictedSpecDmg = target.getBaseDamage(user, move, MoveCategory.SPECIAL, true, true, true, true); @@ -4836,7 +4834,7 @@ export class VariableMoveTypeAttr extends MoveAttr { export class FormChangeItemTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -4854,7 +4852,7 @@ export class FormChangeItemTypeAttr extends VariableMoveTypeAttr { export class TechnoBlastTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -4888,7 +4886,7 @@ export class TechnoBlastTypeAttr extends VariableMoveTypeAttr { export class AuraWheelTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -4913,7 +4911,7 @@ export class AuraWheelTypeAttr extends VariableMoveTypeAttr { export class RagingBullTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -4941,7 +4939,7 @@ export class RagingBullTypeAttr extends VariableMoveTypeAttr { export class IvyCudgelTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -4976,7 +4974,7 @@ export class IvyCudgelTypeAttr extends VariableMoveTypeAttr { export class WeatherBallTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -5018,12 +5016,12 @@ export class TerrainPulseTypeAttr extends VariableMoveTypeAttr { * @param user {@linkcode Pokemon} using this move * @param target N/A * @param move N/A - * @param args [0] {@linkcode Utils.NumberHolder} The move's type to be modified + * @param args [0] {@linkcode NumberHolder} The move's type to be modified * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -5059,7 +5057,7 @@ export class TerrainPulseTypeAttr extends VariableMoveTypeAttr { export class HiddenPowerTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -5094,7 +5092,7 @@ export class TeraBlastTypeAttr extends VariableMoveTypeAttr { */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -5117,12 +5115,12 @@ export class TeraStarstormTypeAttr extends VariableMoveTypeAttr { * @param user the {@linkcode Pokemon} using the move * @param target n/a * @param move n/a - * @param args[0] {@linkcode Utils.NumberHolder} the move type + * @param args[0] {@linkcode NumberHolder} the move type * @returns `true` if the move type is changed to {@linkcode PokemonType.STELLAR}, `false` otherwise */ override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (user.isTerastallized && user.hasSpecies(Species.TERAPAGOS)) { - const moveType = args[0] as Utils.NumberHolder; + const moveType = args[0] as NumberHolder; moveType.value = PokemonType.STELLAR; return true; @@ -5134,7 +5132,7 @@ export class TeraStarstormTypeAttr extends VariableMoveTypeAttr { export class MatchUserTypeAttr extends VariableMoveTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } const userTypes = user.getTypes(true); @@ -5160,7 +5158,7 @@ export class MatchUserTypeAttr extends VariableMoveTypeAttr { export class CombinedPledgeTypeAttr extends VariableMoveTypeAttr { override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const moveType = args[0]; - if (!(moveType instanceof Utils.NumberHolder)) { + if (!(moveType instanceof NumberHolder)) { return false; } @@ -5203,7 +5201,7 @@ export class VariableMoveTypeMultiplierAttr extends MoveAttr { export class NeutralDamageAgainstFlyingTypeMultiplierAttr extends VariableMoveTypeMultiplierAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!target.getTag(BattlerTagType.IGNORE_FLYING)) { - const multiplier = args[0] as Utils.NumberHolder; + const multiplier = args[0] as NumberHolder; //When a flying type is hit, the first hit is always 1x multiplier. if (target.isOfType(PokemonType.FLYING)) { multiplier.value = 1; @@ -5221,11 +5219,11 @@ export class IceNoEffectTypeAttr extends VariableMoveTypeMultiplierAttr { * @param user n/a * @param target The {@linkcode Pokemon} targeted by the move * @param move n/a - * @param args `[0]` a {@linkcode Utils.NumberHolder | NumberHolder} containing a type effectiveness multiplier + * @param args `[0]` a {@linkcode NumberHolder | NumberHolder} containing a type effectiveness multiplier * @returns `true` if this Ice-type immunity applies; `false` otherwise */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const multiplier = args[0] as Utils.NumberHolder; + const multiplier = args[0] as NumberHolder; if (target.isOfType(PokemonType.ICE)) { multiplier.value = 0; return true; @@ -5236,7 +5234,7 @@ export class IceNoEffectTypeAttr extends VariableMoveTypeMultiplierAttr { export class FlyingTypeMultiplierAttr extends VariableMoveTypeMultiplierAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const multiplier = args[0] as Utils.NumberHolder; + const multiplier = args[0] as NumberHolder; multiplier.value *= target.getAttackTypeEffectiveness(PokemonType.FLYING, user); return true; } @@ -5265,7 +5263,7 @@ export class VariableMoveTypeChartAttr extends MoveAttr { */ export class FreezeDryAttr extends VariableMoveTypeChartAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const multiplier = args[0] as Utils.NumberHolder; + const multiplier = args[0] as NumberHolder; const defType = args[1] as PokemonType; if (defType === PokemonType.WATER) { @@ -5279,7 +5277,7 @@ export class FreezeDryAttr extends VariableMoveTypeChartAttr { export class OneHitKOAccuracyAttr extends VariableAccuracyAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; if (user.level < target.level) { accuracy.value = 0; } else { @@ -5301,7 +5299,7 @@ export class SheerColdAccuracyAttr extends OneHitKOAccuracyAttr { * @returns Returns true if move is successful, false if misses. */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const accuracy = args[0] as Utils.NumberHolder; + const accuracy = args[0] as NumberHolder; if (user.level < target.level) { accuracy.value = 0; } else { @@ -5343,15 +5341,15 @@ export class NoEffectAttr extends MoveAttr { } const crashDamageFunc = (user: Pokemon, move: Move) => { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyAbAttrs(BlockNonDirectDamageAbAttr, user, cancelled); if (cancelled.value) { return false; } - user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / 2), { result: HitResult.INDIRECT }); + user.damageAndUpdate(toDmgValue(user.getMaxHp() / 2), { result: HitResult.INDIRECT }); globalScene.queueMessage(i18next.t("moveTriggers:keptGoingAndCrashed", { pokemonName: getPokemonNameWithAffix(user) })); - user.turnData.damageTaken += Utils.toDmgValue(user.getMaxHp() / 2); + user.turnData.damageTaken += toDmgValue(user.getMaxHp() / 2); return true; }; @@ -6177,10 +6175,10 @@ export class RevivalBlessingAttr extends MoveEffectAttr { const pokemon = faintedPokemon[user.randSeedInt(faintedPokemon.length)]; const slotIndex = globalScene.getEnemyParty().findIndex((p) => pokemon.id === p.id); pokemon.resetStatus(); - pokemon.heal(Math.min(Utils.toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); + pokemon.heal(Math.min(toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); globalScene.queueMessage(i18next.t("moveTriggers:revivalBlessing", { pokemonName: getPokemonNameWithAffix(pokemon) }), 0, true); const allyPokemon = user.getAlly(); - if (globalScene.currentBattle.double && globalScene.getEnemyParty().length > 1 && !Utils.isNullOrUndefined(allyPokemon)) { + if (globalScene.currentBattle.double && globalScene.getEnemyParty().length > 1 && !isNullOrUndefined(allyPokemon)) { // Handle cases where revived pokemon needs to get switched in on same turn if (allyPokemon.isFainted() || allyPokemon === pokemon) { // Enemy switch phase should be removed and replaced with the revived pkmn switching in @@ -6366,7 +6364,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { globalScene.queueMessage(i18next.t("moveTriggers:fled", { pokemonName: getPokemonNameWithAffix(switchOutTarget) }), null, true, 500); // in double battles redirect potential moves off fled pokemon - if (globalScene.currentBattle.double && !Utils.isNullOrUndefined(allyPokemon)) { + if (globalScene.currentBattle.double && !isNullOrUndefined(allyPokemon)) { globalScene.redirectPokemonMoves(switchOutTarget, allyPokemon); } } @@ -6389,7 +6387,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { } getFailedText(_user: Pokemon, target: Pokemon, _move: Move): string | undefined { - const blockedByAbility = new Utils.BooleanHolder(false); + const blockedByAbility = new BooleanHolder(false); applyAbAttrs(ForceSwitchOutImmunityAbAttr, target, blockedByAbility); if (blockedByAbility.value) { return i18next.t("moveTriggers:cannotBeSwitchedOut", { pokemonName: getPokemonNameWithAffix(target) }); @@ -6417,7 +6415,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { return false; } - const blockedByAbility = new Utils.BooleanHolder(false); + const blockedByAbility = new BooleanHolder(false); applyAbAttrs(ForceSwitchOutImmunityAbAttr, target, blockedByAbility); return !blockedByAbility.value; } @@ -6776,7 +6774,7 @@ export class RandomMoveAttr extends CallMoveAttr { * @param args Unused */ override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const moveIds = Utils.getEnumValues(Moves).map(m => !this.invalidMoves.has(m) && !allMoves[m].name.endsWith(" (N)") ? m : Moves.NONE); + const moveIds = getEnumValues(Moves).map(m => !this.invalidMoves.has(m) && !allMoves[m].name.endsWith(" (N)") ? m : Moves.NONE); let moveId: Moves = Moves.NONE; do { moveId = this.getMoveOverride() ?? moveIds[user.randSeedInt(moveIds.length)]; @@ -7047,7 +7045,7 @@ export class RepeatMoveAttr extends MoveEffectAttr { const firstTarget = globalScene.getField()[moveTargets[0]]; if (globalScene.currentBattle.double && moveTargets.length === 1 && firstTarget.isFainted() && firstTarget !== target.getAlly()) { const ally = firstTarget.getAlly(); - if (!Utils.isNullOrUndefined(ally) && ally.isActive()) { // ally exists, is not dead and can sponge the blast + if (!isNullOrUndefined(ally) && ally.isActive()) { // ally exists, is not dead and can sponge the blast moveTargets = [ ally.getBattlerIndex() ]; } } @@ -7423,7 +7421,7 @@ export class AbilityCopyAttr extends MoveEffectAttr { user.setTempAbility(target.getAbility()); const ally = user.getAlly(); - if (this.copyToPartner && globalScene.currentBattle?.double && !Utils.isNullOrUndefined(ally) && ally.hp) { // TODO is this the best way to check that the ally is active? + if (this.copyToPartner && globalScene.currentBattle?.double && !isNullOrUndefined(ally) && ally.hp) { // TODO is this the best way to check that the ally is active? globalScene.queueMessage(i18next.t("moveTriggers:copiedTargetAbility", { pokemonName: getPokemonNameWithAffix(ally), targetName: getPokemonNameWithAffix(target), abilityName: allAbilities[target.getAbility().id].name })); ally.setTempAbility(target.getAbility()); } @@ -7839,7 +7837,7 @@ export class VariableTargetAttr extends MoveAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const targetVal = args[0] as Utils.NumberHolder; + const targetVal = args[0] as NumberHolder; targetVal.value = this.targetChangeFunc(user, target, move); return true; } @@ -7930,7 +7928,7 @@ const failOnBossCondition: MoveConditionFunc = (user, target, move) => !target.i const failIfSingleBattle: MoveConditionFunc = (user, target, move) => globalScene.currentBattle.double; const failIfDampCondition: MoveConditionFunc = (user, target, move) => { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); globalScene.getField(true).map(p=>applyAbAttrs(FieldPreventExplosiveMovesAbAttr, p, cancelled)); // Queue a message if an ability prevented usage of the move if (cancelled.value) { @@ -8065,7 +8063,7 @@ export class UpperHandCondition extends MoveCondition { export class hitsSameTypeAttr extends VariableMoveTypeMultiplierAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const multiplier = args[0] as Utils.NumberHolder; + const multiplier = args[0] as NumberHolder; if (!user.getTypes().some(type => target.getTypes().includes(type))) { multiplier.value = 0; return true; @@ -8116,7 +8114,7 @@ export class ResistLastMoveTypeAttr extends MoveEffectAttr { } const type = validTypes[user.randSeedInt(validTypes.length)]; user.summonData.types = [ type ]; - globalScene.queueMessage(i18next.t("battle:transformedIntoType", { pokemonName: getPokemonNameWithAffix(user), type: Utils.toReadableString(PokemonType[type]) })); + globalScene.queueMessage(i18next.t("battle:transformedIntoType", { pokemonName: getPokemonNameWithAffix(user), type: toReadableString(PokemonType[type]) })); user.updateInfo(); return true; @@ -8190,7 +8188,7 @@ export type MoveTargetSet = { }; export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveTarget): MoveTargetSet { - const variableTarget = new Utils.NumberHolder(0); + const variableTarget = new NumberHolder(0); user.getOpponents().forEach(p => applyMoveAttrs(VariableTargetAttr, user, p, allMoves[move], variableTarget)); let moveTarget: MoveTarget | undefined; @@ -8218,7 +8216,7 @@ export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveT case MoveTarget.OTHER: case MoveTarget.ALL_NEAR_OTHERS: case MoveTarget.ALL_OTHERS: - set = !Utils.isNullOrUndefined(ally) ? (opponents.concat([ ally ])) : opponents; + set = !isNullOrUndefined(ally) ? (opponents.concat([ ally ])) : opponents; multiple = moveTarget === MoveTarget.ALL_NEAR_OTHERS || moveTarget === MoveTarget.ALL_OTHERS; break; case MoveTarget.NEAR_ENEMY: @@ -8235,21 +8233,21 @@ export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveT return { targets: [ -1 as BattlerIndex ], multiple: false }; case MoveTarget.NEAR_ALLY: case MoveTarget.ALLY: - set = !Utils.isNullOrUndefined(ally) ? [ ally ] : []; + set = !isNullOrUndefined(ally) ? [ ally ] : []; break; case MoveTarget.USER_OR_NEAR_ALLY: case MoveTarget.USER_AND_ALLIES: case MoveTarget.USER_SIDE: - set = !Utils.isNullOrUndefined(ally) ? [ user, ally ] : [ user ]; + set = !isNullOrUndefined(ally) ? [ user, ally ] : [ user ]; multiple = moveTarget !== MoveTarget.USER_OR_NEAR_ALLY; break; case MoveTarget.ALL: case MoveTarget.BOTH_SIDES: - set = (!Utils.isNullOrUndefined(ally) ? [ user, ally ] : [ user ]).concat(opponents); + set = (!isNullOrUndefined(ally) ? [ user, ally ] : [ user ]).concat(opponents); multiple = true; break; case MoveTarget.CURSE: - const extraTargets = !Utils.isNullOrUndefined(ally) ? [ ally ] : []; + const extraTargets = !isNullOrUndefined(ally) ? [ ally ] : []; set = user.getTypes(true).includes(PokemonType.GHOST) ? (opponents.concat(extraTargets)) : [ user ]; break; } @@ -8408,7 +8406,7 @@ export function initMoves() { .attr(AddBattlerTagAttr, BattlerTagType.DISABLED, false, true) .condition((user, target, move) => { const lastRealMove = target.getLastXMoves(-1).find(m => !m.virtual); - return !Utils.isNullOrUndefined(lastRealMove) && lastRealMove.move !== Moves.NONE && lastRealMove.move !== Moves.STRUGGLE; + return !isNullOrUndefined(lastRealMove) && lastRealMove.move !== Moves.NONE && lastRealMove.move !== Moves.STRUGGLE; }) .ignoresSubstitute() .reflectable(), @@ -9716,7 +9714,7 @@ export function initMoves() { .condition(failOnGravityCondition) .condition((_user, target, _move) => ![ Species.DIGLETT, Species.DUGTRIO, Species.ALOLA_DIGLETT, Species.ALOLA_DUGTRIO, Species.SANDYGAST, Species.PALOSSAND, Species.WIGLETT, Species.WUGTRIO ].includes(target.species.speciesId)) .condition((_user, target, _move) => !(target.species.speciesId === Species.GENGAR && target.getFormKey() === "mega")) - .condition((_user, target, _move) => Utils.isNullOrUndefined(target.getTag(BattlerTagType.INGRAIN)) && Utils.isNullOrUndefined(target.getTag(BattlerTagType.IGNORE_FLYING))) + .condition((_user, target, _move) => isNullOrUndefined(target.getTag(BattlerTagType.INGRAIN)) && isNullOrUndefined(target.getTag(BattlerTagType.IGNORE_FLYING))) .attr(AddBattlerTagAttr, BattlerTagType.TELEKINESIS, false, true, 3) .attr(AddBattlerTagAttr, BattlerTagType.FLOATING, false, true, 3) .reflectable(), diff --git a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts index 11924f93df4..5f88ca083c0 100644 --- a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts @@ -12,7 +12,7 @@ import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PartyMemberStrength } from "#enums/party-member-strength"; import { globalScene } from "#app/global-scene"; -import * as Utils from "#app/utils"; +import { randSeedInt } from "#app/utils"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; @@ -46,7 +46,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = MysteryEncounter const normalConfig = trainerConfigs[normalTrainerType].clone(); let female = false; if (normalConfig.hasGenders) { - female = !!Utils.randSeedInt(2); + female = !!randSeedInt(2); } const normalSpriteKey = normalConfig.getSpriteKey(female, normalConfig.doubleOnly); encounter.enemyPartyConfigs.push({ @@ -76,7 +76,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = MysteryEncounter hardConfig.setPartyTemplates(hardTemplate); female = false; if (hardConfig.hasGenders) { - female = !!Utils.randSeedInt(2); + female = !!randSeedInt(2); } const hardSpriteKey = hardConfig.getSpriteKey(female, hardConfig.doubleOnly); encounter.enemyPartyConfigs.push({ @@ -96,7 +96,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = MysteryEncounter brutalConfig.partyTemplateFunc = null; // Overrides gym leader party template func female = false; if (brutalConfig.hasGenders) { - female = !!Utils.randSeedInt(2); + female = !!randSeedInt(2); } const brutalSpriteKey = brutalConfig.getSpriteKey(female, brutalConfig.doubleOnly); encounter.enemyPartyConfigs.push({ diff --git a/src/data/mystery-encounters/mystery-encounter.ts b/src/data/mystery-encounters/mystery-encounter.ts index 53e976cda8a..ff098d4d7dd 100644 --- a/src/data/mystery-encounters/mystery-encounter.ts +++ b/src/data/mystery-encounters/mystery-encounter.ts @@ -5,7 +5,7 @@ import { capitalizeFirstLetter, isNullOrUndefined } from "#app/utils"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import type { MysteryEncounterSpriteConfig } from "#app/field/mystery-encounter-intro"; import MysteryEncounterIntroVisuals from "#app/field/mystery-encounter-intro"; -import * as Utils from "#app/utils"; +import { randSeedInt } from "#app/utils"; import type { StatusEffect } from "#enums/status-effect"; import type { OptionTextDisplay } from "./mystery-encounter-dialogue"; import type MysteryEncounterDialogue from "./mystery-encounter-dialogue"; @@ -378,13 +378,13 @@ export default class MysteryEncounter implements IMysteryEncounter { } if (truePrimaryPool.length > 0) { // Always choose from the non-overlapping pokemon first - this.primaryPokemon = truePrimaryPool[Utils.randSeedInt(truePrimaryPool.length, 0)]; + this.primaryPokemon = truePrimaryPool[randSeedInt(truePrimaryPool.length, 0)]; return true; } // If there are multiple overlapping pokemon, we're okay - just choose one and take it out of the primary pokemon pool if (overlap.length > 1 || this.secondaryPokemon.length - overlap.length >= 1) { // is this working? - this.primaryPokemon = overlap[Utils.randSeedInt(overlap.length, 0)]; + this.primaryPokemon = overlap[randSeedInt(overlap.length, 0)]; this.secondaryPokemon = this.secondaryPokemon.filter(supp => supp !== this.primaryPokemon); return true; } @@ -394,7 +394,7 @@ export default class MysteryEncounter implements IMysteryEncounter { return false; } // this means we CAN have the same pokemon be a primary and secondary pokemon, so just choose any qualifying one randomly. - this.primaryPokemon = qualified[Utils.randSeedInt(qualified.length, 0)]; + this.primaryPokemon = qualified[randSeedInt(qualified.length, 0)]; return true; } diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index f3a06242a13..a9f6b787878 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -30,8 +30,7 @@ import type { OptionSelectConfig, OptionSelectItem } from "#app/ui/abstact-optio import type { PartyOption, PokemonSelectFilter } from "#app/ui/party-ui-handler"; import { PartyUiMode } from "#app/ui/party-ui-handler"; import { Mode } from "#app/ui/ui"; -import * as Utils from "#app/utils"; -import { isNullOrUndefined, randSeedInt, randSeedItem } from "#app/utils"; +import { isNullOrUndefined, randSeedInt, randomString, randSeedItem } from "#app/utils"; import type { BattlerTagType } from "#enums/battler-tag-type"; import { Biome } from "#enums/biome"; import type { TrainerType } from "#enums/trainer-type"; @@ -168,7 +167,7 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): const doubleTrainer = trainerConfig.doubleOnly || (trainerConfig.hasDouble && !!partyConfig.doubleBattle); doubleBattle = doubleTrainer; - const trainerFemale = isNullOrUndefined(partyConfig.female) ? !!Utils.randSeedInt(2) : partyConfig.female; + const trainerFemale = isNullOrUndefined(partyConfig.female) ? !!randSeedInt(2) : partyConfig.female; const newTrainer = new Trainer( trainerConfig.trainerType, doubleTrainer ? TrainerVariant.DOUBLE : trainerFemale ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT, @@ -286,7 +285,7 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): // Generate new id, reset status and HP in case using data source if (config.dataSource) { - enemyPokemon.id = Utils.randSeedInt(4294967296); + enemyPokemon.id = randSeedInt(4294967296); } // Set form @@ -1115,7 +1114,7 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { const validMEfloorsByBiome = new Map(biomes.map(b => [b, 0])); let currentBiome = Biome.TOWN; let currentArena = globalScene.newArena(currentBiome); - globalScene.setSeed(Utils.randomString(24)); + globalScene.setSeed(randomString(24)); globalScene.resetSeed(); for (let i = 10; i < 180; i++) { // Boss @@ -1130,16 +1129,16 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { globalScene.executeWithSeedOffset(() => { biomes = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) .filter(b => { - return !Array.isArray(b) || !Utils.randSeedInt(b[1]); + return !Array.isArray(b) || !randSeedInt(b[1]); }) .map(b => (!Array.isArray(b) ? b : b[0])); }, i * 100); if (biomes! && biomes.length > 0) { const specialBiomes = biomes.filter(b => alwaysPickTheseBiomes.includes(b)); if (specialBiomes.length > 0) { - currentBiome = specialBiomes[Utils.randSeedInt(specialBiomes.length)]; + currentBiome = specialBiomes[randSeedInt(specialBiomes.length)]; } else { - currentBiome = biomes[Utils.randSeedInt(biomes.length)]; + currentBiome = biomes[randSeedInt(biomes.length)]; } } } else if (biomeLinks.hasOwnProperty(currentBiome)) { @@ -1167,7 +1166,7 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { // Otherwise, roll encounter - const roll = Utils.randSeedInt(256); + const roll = randSeedInt(256); validMEfloorsByBiome.set(Biome[currentBiome], (validMEfloorsByBiome.get(Biome[currentBiome]) ?? 0) + 1); // If total number of encounters is lower than expected for the run, slightly favor a new encounter @@ -1192,7 +1191,7 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { tierWeights[1] = tierWeights[1] - 4 * numEncounters[1]; const totalWeight = tierWeights.reduce((a, b) => a + b); - const tierValue = Utils.randSeedInt(totalWeight); + const tierValue = randSeedInt(totalWeight); const commonThreshold = totalWeight - tierWeights[0]; // 64 - 32 = 32 const uncommonThreshold = totalWeight - tierWeights[0] - tierWeights[1]; // 64 - 32 - 16 = 16 const rareThreshold = totalWeight - tierWeights[0] - tierWeights[1] - tierWeights[2]; // 64 - 32 - 16 - 10 = 6 @@ -1281,7 +1280,7 @@ export function calculateRareSpawnAggregateStats(luckValue: number) { const calculateNumRareEncounters = (): any[] => { const bossEncountersByRarity = [0, 0, 0, 0]; - globalScene.setSeed(Utils.randomString(24)); + globalScene.setSeed(randomString(24)); globalScene.resetSeed(); // There are 12 wild boss floors for (let i = 0; i < 12; i++) { @@ -1291,7 +1290,7 @@ export function calculateRareSpawnAggregateStats(luckValue: number) { if (!Number.isNaN(luckValue)) { luckModifier = luckValue * 0.5; } - const tierValue = Utils.randSeedInt(64 - luckModifier); + const tierValue = randSeedInt(64 - luckModifier); const tier = tierValue >= 20 ? BiomePoolTier.BOSS diff --git a/src/data/nature.ts b/src/data/nature.ts index e23d92c14b0..2ab4723c10d 100644 --- a/src/data/nature.ts +++ b/src/data/nature.ts @@ -1,4 +1,4 @@ -import * as Utils from "../utils"; +import { toReadableString } from "#app/utils"; import { TextStyle, getBBCodeFrag } from "../ui/text"; import { Nature } from "#enums/nature"; import { UiTheme } from "#enums/ui-theme"; @@ -12,7 +12,7 @@ export function getNatureName( ignoreBBCode = false, uiTheme: UiTheme = UiTheme.DEFAULT, ): string { - let ret = Utils.toReadableString(Nature[nature]); + let ret = toReadableString(Nature[nature]); //Translating nature if (i18next.exists(`nature:${ret}`)) { ret = i18next.t(`nature:${ret}` as any); diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index a8942a39880..a27c00121dc 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -8,7 +8,7 @@ import type { AnySound } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import type { GameMode } from "#app/game-mode"; import { DexAttr, type StarterMoveset } from "#app/system/game-data"; -import * as Utils from "#app/utils"; +import { isNullOrUndefined, capitalizeString, randSeedInt, randSeedGauss, randSeedItem } from "#app/utils"; import { uncatchableSpecies } from "#app/data/balance/biomes"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate } from "#app/data/exp"; @@ -290,7 +290,7 @@ export abstract class PokemonSpeciesForm { * @returns The id of the ability */ getPassiveAbility(formIndex?: number): Abilities { - if (Utils.isNullOrUndefined(formIndex)) { + if (isNullOrUndefined(formIndex)) { formIndex = this.formIndex; } let starterSpeciesId = this.speciesId; @@ -626,7 +626,7 @@ export abstract class PokemonSpeciesForm { const spritePath = this.getSpriteAtlasPath(female, formIndex, shiny, variant, back) .replace("variant/", "") .replace(/_[1-3]$/, ""); - if (!Utils.isNullOrUndefined(variant)) { + if (!isNullOrUndefined(variant)) { loadPokemonVariantAssets(spriteKey, spritePath, variant).then(() => resolve()); } }); @@ -852,8 +852,8 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali */ getFormNameToDisplay(formIndex = 0, append = false): string { const formKey = this.forms?.[formIndex!]?.formKey; - const formText = Utils.capitalizeString(formKey, "-", false, false) || ""; - const speciesName = Utils.capitalizeString(Species[this.speciesId], "_", true, false); + const formText = capitalizeString(formKey, "-", false, false) || ""; + const speciesName = capitalizeString(Species[this.speciesId], "_", true, false); let ret = ""; const region = this.getRegion(); @@ -884,7 +884,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali if (i18next.exists(i18key)) { ret = i18next.t(i18key); } else { - const rootSpeciesName = Utils.capitalizeString(Species[this.getRootSpeciesId()], "_", true, false); + const rootSpeciesName = capitalizeString(Species[this.getRootSpeciesId()], "_", true, false); const i18RootKey = `pokemonForm:${rootSpeciesName}${formText}`; ret = i18next.exists(i18RootKey) ? i18next.t(i18RootKey) : formText; } @@ -1079,7 +1079,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali return this.speciesId; } - const randValue = evolutionPool.size === 1 ? 0 : Utils.randSeedInt(totalWeight); + const randValue = evolutionPool.size === 1 ? 0 : randSeedInt(totalWeight); for (const weight of evolutionPool.keys()) { if (randValue < weight) { @@ -1164,7 +1164,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali Math.min( Math.max( evolution?.level! + - Math.round(Utils.randSeedGauss(0.5, 1 + levelDiff * 0.2) * Math.max(evolution?.wildDelay!, 0.5) * 5) - + Math.round(randSeedGauss(0.5, 1 + levelDiff * 0.2) * Math.max(evolution?.wildDelay!, 0.5) * 5) - 1, 2, evolution?.level!, @@ -1182,7 +1182,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali Math.min( Math.max( lastPrevolutionLevel + - Math.round(Utils.randSeedGauss(0.5, 1 + levelDiff * 0.2) * Math.max(evolution?.wildDelay!, 0.5) * 5), + Math.round(randSeedGauss(0.5, 1 + levelDiff * 0.2) * Math.max(evolution?.wildDelay!, 0.5) * 5), lastPrevolutionLevel + 1, evolution?.level!, ), @@ -1367,7 +1367,7 @@ export function getPokerusStarters(): PokemonSpecies[] { globalScene.executeWithSeedOffset( () => { while (pokerusStarters.length < POKERUS_STARTER_COUNT) { - const randomSpeciesId = Number.parseInt(Utils.randSeedItem(Object.keys(speciesStarterCosts)), 10); + const randomSpeciesId = Number.parseInt(randSeedItem(Object.keys(speciesStarterCosts)), 10); const species = getPokemonSpecies(randomSpeciesId); if (!pokerusStarters.includes(species)) { pokerusStarters.push(species); diff --git a/src/data/trainer-names.ts b/src/data/trainer-names.ts index 26cea19070f..195e5041d28 100644 --- a/src/data/trainer-names.ts +++ b/src/data/trainer-names.ts @@ -1,12 +1,12 @@ import { TrainerType } from "#enums/trainer-type"; -import * as Utils from "../utils"; +import { toReadableString } from "#app/utils"; class TrainerNameConfig { public urls: string[]; public femaleUrls: string[] | null; constructor(type: TrainerType, ...urls: string[]) { - this.urls = urls.length ? urls : [Utils.toReadableString(TrainerType[type]).replace(/ /g, "_")]; + this.urls = urls.length ? urls : [toReadableString(TrainerType[type]).replace(/ /g, "_")]; } hasGenderVariant(...femaleUrls: string[]): TrainerNameConfig { diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index 5fab70971ec..0ab7119dab9 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { modifierTypes } from "#app/modifier/modifier-type"; import { PokemonMove } from "#app/field/pokemon"; -import * as Utils from "#app/utils"; +import { toReadableString, isNullOrUndefined, randSeedItem, randSeedInt } from "#app/utils"; import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { tmSpecies } from "#app/data/balance/tms"; @@ -139,7 +139,7 @@ export class TrainerConfig { constructor(trainerType: TrainerType, allowLegendaries?: boolean) { this.trainerType = trainerType; this.trainerAI = new TrainerAI(); - this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]); + this.name = toReadableString(TrainerType[this.getDerivedType()]); this.battleBgm = "battle_trainer"; this.mixedBattleBgm = "battle_trainer"; this.victoryBgm = "victory_trainer"; @@ -482,10 +482,10 @@ export class TrainerConfig { .fill(null) .map((_, i) => i) .filter(i => shedinjaCanTera || party[i].species.speciesId !== Species.SHEDINJA); // Shedinja can only Tera on Bug specialty type (or no specialty type) - const setPartySlot = !Utils.isNullOrUndefined(slot) ? Phaser.Math.Wrap(slot, 0, party.length) : -1; // If we have a tera slot defined, wrap it to party size. + const setPartySlot = !isNullOrUndefined(slot) ? Phaser.Math.Wrap(slot, 0, party.length) : -1; // If we have a tera slot defined, wrap it to party size. for (let t = 0; t < Math.min(count(), party.length); t++) { const randomIndex = - partyMemberIndexes.indexOf(setPartySlot) > -1 ? setPartySlot : Utils.randSeedItem(partyMemberIndexes); + partyMemberIndexes.indexOf(setPartySlot) > -1 ? setPartySlot : randSeedItem(partyMemberIndexes); partyMemberIndexes.splice(partyMemberIndexes.indexOf(randomIndex), 1); if (this.hasSpecialtyType()) { party[randomIndex].teraType = this.specialtyType; @@ -555,7 +555,7 @@ export class TrainerConfig { initI18n(); } - if (!Utils.isNullOrUndefined(specialtyType)) { + if (!isNullOrUndefined(specialtyType)) { this.setSpecialtyType(specialtyType); } @@ -636,7 +636,7 @@ export class TrainerConfig { } this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); }); - if (!Utils.isNullOrUndefined(specialtyType)) { + if (!isNullOrUndefined(specialtyType)) { this.setSpeciesFilter(p => p.isOfType(specialtyType)); this.setSpecialtyType(specialtyType); } @@ -749,7 +749,7 @@ export class TrainerConfig { }); // Set species filter and specialty type if provided, otherwise filter by base total. - if (!Utils.isNullOrUndefined(specialtyType)) { + if (!isNullOrUndefined(specialtyType)) { this.setSpeciesFilter(p => p.isOfType(specialtyType) && p.baseTotal >= ELITE_FOUR_MINIMUM_BST); this.setSpecialtyType(specialtyType); } else { @@ -927,7 +927,7 @@ export class TrainerConfig { * @returns true if specialtyType is defined and not Type.UNKNOWN */ hasSpecialtyType(): boolean { - return !Utils.isNullOrUndefined(this.specialtyType) && this.specialtyType !== PokemonType.UNKNOWN; + return !isNullOrUndefined(this.specialtyType) && this.specialtyType !== PokemonType.UNKNOWN; } /** @@ -1006,7 +1006,7 @@ export function getRandomPartyMemberFunc( postProcess?: (enemyPokemon: EnemyPokemon) => void, ) { return (level: number, strength: PartyMemberStrength) => { - let species = Utils.randSeedItem(speciesPool); + let species = randSeedItem(speciesPool); if (!ignoreEvolution) { species = getPokemonSpecies(species).getTrainerSpeciesForLevel( level, @@ -3549,7 +3549,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc([Species.URSHIFU], TrainerSlot.TRAINER, true, p => { - p.formIndex = Utils.randSeedInt(2, 2); // Random G-Max Urshifu + p.formIndex = randSeedInt(2, 2); // Random G-Max Urshifu p.generateAndPopulateMoveset(); p.generateName(); p.gender = Gender.MALE; @@ -3659,10 +3659,10 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 4, getRandomPartyMemberFunc([Species.OGERPON], TrainerSlot.TRAINER, true, p => { - p.formIndex = Utils.randSeedInt(4); // Random Ogerpon Tera Mask + p.formIndex = randSeedInt(4); // Random Ogerpon Tera Mask p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - if (!p.moveset.some(move => !Utils.isNullOrUndefined(move) && move.moveId === Moves.IVY_CUDGEL)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.IVY_CUDGEL)) { // Check if Ivy Cudgel is in the moveset, if not, replace the first move with Ivy Cudgel. p.moveset[0] = new PokemonMove(Moves.IVY_CUDGEL); } @@ -4713,10 +4713,10 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 2, getRandomPartyMemberFunc([Species.SILVALLY], TrainerSlot.TRAINER, true, p => { - p.formIndex = Utils.randSeedInt(18); // Random Silvally Form + p.formIndex = randSeedInt(18); // Random Silvally Form p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; - if (!p.moveset.some(move => !Utils.isNullOrUndefined(move) && move.moveId === Moves.MULTI_ATTACK)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.MULTI_ATTACK)) { // Check if Multi Attack is in the moveset, if not, replace the first move with Multi Attack. p.moveset[0] = new PokemonMove(Moves.MULTI_ATTACK); } @@ -4833,8 +4833,8 @@ export const trainerConfigs: TrainerConfigs = { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - p.formIndex = Utils.randSeedInt(4, 1); // Shock, Burn, Chill, or Douse Drive - if (!p.moveset.some(move => !Utils.isNullOrUndefined(move) && move.moveId === Moves.TECHNO_BLAST)) { + p.formIndex = randSeedInt(4, 1); // Shock, Burn, Chill, or Douse Drive + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TECHNO_BLAST)) { // Check if Techno Blast is in the moveset, if not, replace the first move with Techno Blast. p.moveset[2] = new PokemonMove(Moves.TECHNO_BLAST); } @@ -5006,7 +5006,7 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc([Species.ROTOM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - p.formIndex = Utils.randSeedInt(5, 1); // Heat, Wash, Frost, Fan, or Mow + p.formIndex = randSeedInt(5, 1); // Heat, Wash, Frost, Fan, or Mow }), ) .setPartyMemberFunc( @@ -5019,7 +5019,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 3, getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { - p.formIndex = Utils.randSeedInt(5, 1); // Random Starmobile form + p.formIndex = randSeedInt(5, 1); // Random Starmobile form p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), diff --git a/src/data/weather.ts b/src/data/weather.ts index 34978232377..a8dd0a66492 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -5,7 +5,7 @@ import type Pokemon from "../field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; import type Move from "./moves/move"; import { AttackMove } from "./moves/move"; -import * as Utils from "../utils"; +import { randSeedInt } from "#app/utils"; import { SuppressWeatherEffectAbAttr } from "./ability"; import { TerrainType, getTerrainName } from "./terrain"; import i18next from "i18next"; @@ -416,7 +416,7 @@ export function getRandomWeatherType(arena: Arena): WeatherType { totalWeight += w.weight; } - const rand = Utils.randSeedInt(totalWeight); + const rand = randSeedInt(totalWeight); let w = 0; for (const weather of weatherPool) { w += weather.weight; diff --git a/src/field/arena.ts b/src/field/arena.ts index cf48647e45e..adc3123ce81 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -1,8 +1,7 @@ import { globalScene } from "#app/global-scene"; import type { BiomeTierTrainerPools, PokemonPools } from "#app/data/balance/biomes"; import { biomePokemonPools, BiomePoolTier, biomeTrainerPools } from "#app/data/balance/biomes"; -import type { Constructor } from "#app/utils"; -import * as Utils from "#app/utils"; +import { randSeedInt, NumberHolder, isNullOrUndefined, type Constructor } from "#app/utils"; import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { @@ -124,7 +123,7 @@ export class Arena { if (typeof luckValue !== "undefined") { luckModifier = luckValue * (isBossSpecies ? 0.5 : 2); } - const tierValue = Utils.randSeedInt(randVal - luckModifier); + const tierValue = randSeedInt(randVal - luckModifier); let tier = !isBossSpecies ? tierValue >= 156 ? BiomePoolTier.COMMON @@ -153,7 +152,7 @@ export class Arena { if (!tierPool.length) { ret = globalScene.randomSpecies(waveIndex, level); } else { - const entry = tierPool[Utils.randSeedInt(tierPool.length)]; + const entry = tierPool[randSeedInt(tierPool.length)]; let species: Species; if (typeof entry === "number") { species = entry as Species; @@ -164,7 +163,7 @@ export class Arena { if (level >= levelThreshold) { const speciesIds = entry[levelThreshold]; if (speciesIds.length > 1) { - species = speciesIds[Utils.randSeedInt(speciesIds.length)]; + species = speciesIds[randSeedInt(speciesIds.length)]; } else { species = speciesIds[0]; } @@ -211,7 +210,7 @@ export class Arena { !!this.trainerPool[BiomePoolTier.BOSS].length && (globalScene.gameMode.isTrainerBoss(waveIndex, this.biomeType, globalScene.offsetGym) || isBoss); console.log(isBoss, this.trainerPool); - const tierValue = Utils.randSeedInt(!isTrainerBoss ? 512 : 64); + const tierValue = randSeedInt(!isTrainerBoss ? 512 : 64); let tier = !isTrainerBoss ? tierValue >= 156 ? BiomePoolTier.COMMON @@ -235,7 +234,7 @@ export class Arena { tier--; } const tierPool = this.trainerPool[tier] || []; - return !tierPool.length ? TrainerType.BREEDER : tierPool[Utils.randSeedInt(tierPool.length)]; + return !tierPool.length ? TrainerType.BREEDER : tierPool[randSeedInt(tierPool.length)]; } getSpeciesFormIndex(species: PokemonSpecies): number { @@ -336,9 +335,9 @@ export class Arena { return false; } - const weatherDuration = new Utils.NumberHolder(0); + const weatherDuration = new NumberHolder(0); - if (!Utils.isNullOrUndefined(user)) { + if (!isNullOrUndefined(user)) { weatherDuration.value = 5; globalScene.applyModifier(FieldEffectModifier, user.isPlayer(), user, weatherDuration); } @@ -417,9 +416,9 @@ export class Arena { const oldTerrainType = this.terrain?.terrainType || TerrainType.NONE; - const terrainDuration = new Utils.NumberHolder(0); + const terrainDuration = new NumberHolder(0); - if (!Utils.isNullOrUndefined(user)) { + if (!isNullOrUndefined(user)) { terrainDuration.value = 5; globalScene.applyModifier(FieldEffectModifier, user.isPlayer(), user, terrainDuration); } @@ -1013,7 +1012,7 @@ export class ArenaBase extends Phaser.GameObjects.Container { if (!this.player) { globalScene.executeWithSeedOffset( () => { - this.propValue = propValue === undefined ? (hasProps ? Utils.randSeedInt(8) : 0) : propValue; + this.propValue = propValue === undefined ? (hasProps ? randSeedInt(8) : 0) : propValue; this.props.forEach((prop, p) => { const propKey = `${biomeKey}_b${hasProps ? `_${p + 1}` : ""}`; prop.setTexture(propKey); diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index 9e0010a0c10..a527b148fff 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -2,7 +2,7 @@ import { TextStyle, addTextObject } from "../ui/text"; import type { DamageResult } from "./pokemon"; import type Pokemon from "./pokemon"; import { HitResult } from "./pokemon"; -import * as Utils from "../utils"; +import { formatStat, fixedInt } from "#app/utils"; import type { BattlerIndex } from "../battle"; import { globalScene } from "#app/global-scene"; @@ -30,7 +30,7 @@ export default class DamageNumberHandler { const damageNumber = addTextObject( target.x, -(globalScene.game.canvas.height / 6) + target.y - target.getSprite().height / 2, - Utils.formatStat(amount, true), + formatStat(amount, true), TextStyle.SUMMARY, ); damageNumber.setName("text-damage-number"); @@ -86,14 +86,14 @@ export default class DamageNumberHandler { if (globalScene.damageNumbersMode === 1) { globalScene.tweens.add({ targets: damageNumber, - duration: Utils.fixedInt(750), + duration: fixedInt(750), alpha: 1, y: "-=32", }); globalScene.tweens.add({ delay: 375, targets: damageNumber, - duration: Utils.fixedInt(625), + duration: fixedInt(625), alpha: 0, ease: "Sine.easeIn", onComplete: () => { @@ -110,7 +110,7 @@ export default class DamageNumberHandler { targets: damageNumber, tweens: [ { - duration: Utils.fixedInt(250), + duration: fixedInt(250), alpha: 1, scaleX: 0.75 * baseScale, scaleY: 1.25 * baseScale, @@ -118,7 +118,7 @@ export default class DamageNumberHandler { ease: "Cubic.easeOut", }, { - duration: Utils.fixedInt(175), + duration: fixedInt(175), alpha: 1, scaleX: 0.875 * baseScale, scaleY: 1.125 * baseScale, @@ -126,59 +126,59 @@ export default class DamageNumberHandler { ease: "Cubic.easeIn", }, { - duration: Utils.fixedInt(100), + duration: fixedInt(100), scaleX: 1.25 * baseScale, scaleY: 0.75 * baseScale, ease: "Cubic.easeOut", }, { - duration: Utils.fixedInt(175), + duration: fixedInt(175), scaleX: 0.875 * baseScale, scaleY: 1.125 * baseScale, y: "-=8", ease: "Cubic.easeOut", }, { - duration: Utils.fixedInt(50), + duration: fixedInt(50), scaleX: 0.925 * baseScale, scaleY: 1.075 * baseScale, y: "+=8", ease: "Cubic.easeIn", }, { - duration: Utils.fixedInt(100), + duration: fixedInt(100), scaleX: 1.125 * baseScale, scaleY: 0.875 * baseScale, ease: "Cubic.easeOut", }, { - duration: Utils.fixedInt(175), + duration: fixedInt(175), scaleX: 0.925 * baseScale, scaleY: 1.075 * baseScale, y: "-=4", ease: "Cubic.easeOut", }, { - duration: Utils.fixedInt(50), + duration: fixedInt(50), scaleX: 0.975 * baseScale, scaleY: 1.025 * baseScale, y: "+=4", ease: "Cubic.easeIn", }, { - duration: Utils.fixedInt(100), + duration: fixedInt(100), scaleX: 1.075 * baseScale, scaleY: 0.925 * baseScale, ease: "Cubic.easeOut", }, { - duration: Utils.fixedInt(25), + duration: fixedInt(25), scaleX: baseScale, scaleY: baseScale, ease: "Cubic.easeOut", }, { - delay: Utils.fixedInt(500), + delay: fixedInt(500), alpha: 0, onComplete: () => { this.damageNumbers diff --git a/src/field/pokemon-sprite-sparkle-handler.ts b/src/field/pokemon-sprite-sparkle-handler.ts index 0d5dcca7989..d2f69500258 100644 --- a/src/field/pokemon-sprite-sparkle-handler.ts +++ b/src/field/pokemon-sprite-sparkle-handler.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import Pokemon from "./pokemon"; -import * as Utils from "../utils"; +import { fixedInt, randInt } from "#app/utils"; export default class PokemonSpriteSparkleHandler { private sprites: Set; @@ -9,7 +9,7 @@ export default class PokemonSpriteSparkleHandler { this.sprites = new Set(); globalScene.tweens.addCounter({ - duration: Utils.fixedInt(200), + duration: fixedInt(200), from: 0, to: 1, yoyo: true, @@ -36,7 +36,7 @@ export default class PokemonSpriteSparkleHandler { const parent = (pokemon || s).parentContainer; const texture = s.texture; const [width, height] = [texture.source[0].width, texture.source[0].height]; - const [pixelX, pixelY] = [Utils.randInt(width), Utils.randInt(height)]; + const [pixelX, pixelY] = [randInt(width), randInt(height)]; const ratioX = s.width / width; const ratioY = s.height / height; const pixel = texture.manager.getPixel(pixelX, pixelY, texture.key, "__BASE"); @@ -51,7 +51,7 @@ export default class PokemonSpriteSparkleHandler { sparkle.setName("sprite-tera-sparkle"); sparkle.play("tera_sparkle"); parent.add(sparkle); - s.scene.time.delayedCall(Utils.fixedInt(Math.floor((1000 / 12) * 13)), () => sparkle.destroy()); + s.scene.time.delayedCall(fixedInt(Math.floor((1000 / 12) * 13)), () => sparkle.destroy()); } } } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 72da3f1ed6f..8fc75ca657d 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2,7 +2,7 @@ import Phaser from "phaser"; import type { AnySound } from "#app/battle-scene"; import type BattleScene from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; -import type { Variant, VariantSet } from "#app/sprites/variant"; +import type { Variant } from "#app/sprites/variant"; import { populateVariantColors, variantColorCache } from "#app/sprites/variant"; import { variantData } from "#app/sprites/variant"; import BattleInfo, { @@ -55,9 +55,7 @@ import { getStarterValueFriendshipCap, speciesStarterCosts, } from "#app/data/balance/starters"; -import type { Constructor } from "#app/utils"; -import { isNullOrUndefined, randSeedInt, type nil } from "#app/utils"; -import * as Utils from "#app/utils"; +import { NumberHolder, randSeedInt, getIvsFromId, BooleanHolder, randSeedItem, isNullOrUndefined, getEnumValues, toDmgValue, fixedInt, rgbaToInt, rgbHexToRgba, rgbToHsv, deltaRgb, isBetween, type nil, type Constructor } from "#app/utils"; import type { TypeDamageMultiplier } from "#app/data/type"; import { getTypeDamageMultiplier, getTypeRgb } from "#app/data/type"; import { PokemonType } from "#enums/pokemon-type"; @@ -96,7 +94,6 @@ import { } from "#app/modifier/modifier"; import { PokeballType } from "#enums/pokeball"; import { Gender } from "#app/data/gender"; -import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; import { Status, getRandomStatus } from "#app/data/status-effect"; import type { SpeciesFormEvolution, @@ -176,10 +173,7 @@ import { MoveTypeChangeAbAttr, FullHpResistTypeAbAttr, applyCheckTrappedAbAttrs, - CheckTrappedAbAttr, - PostSetStatusAbAttr, - applyPostSetStatusAbAttrs, - InfiltratorAbAttr, + CheckTrappedAbAttr, InfiltratorAbAttr, AlliedFieldDamageReductionAbAttr, PostDamageAbAttr, applyPostDamageAbAttrs, @@ -193,7 +187,7 @@ import { PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr, applyAllyStatMultiplierAbAttrs, AllyStatMultiplierAbAttr, - MoveAbilityBypassAbAttr, + MoveAbilityBypassAbAttr } from "#app/data/ability"; import type PokemonData from "#app/system/pokemon-data"; import { BattlerIndex } from "#app/battle"; @@ -220,8 +214,7 @@ import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeLapseTeraTrigger, SpeciesFormChangeMoveLearnedTrigger, - SpeciesFormChangePostMoveTrigger, - SpeciesFormChangeStatusEffectTrigger, + SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { TerrainType } from "#app/data/terrain"; import type { TrainerSlot } from "#enums/trainer-slot"; @@ -263,7 +256,6 @@ import { Nature } from "#enums/nature"; import { StatusEffect } from "#enums/status-effect"; import { doShinySparkleAnim } from "#app/field/anims"; import { MoveFlags } from "#enums/MoveFlags"; -import { hasExpSprite } from "#app/sprites/sprite-utils"; import { timedEventManager } from "#app/global-event-manager"; import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { ResetStatusPhase } from "#app/phases/reset-status-phase"; @@ -369,7 +361,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { throw `Cannot create a player Pokemon for species '${species.getName(formIndex)}'`; } - const hiddenAbilityChance = new Utils.NumberHolder( + const hiddenAbilityChance = new NumberHolder( BASE_HIDDEN_ABILITY_CHANCE, ); if (!this.hasTrainer()) { @@ -390,8 +382,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.abilityIndex = abilityIndex; // Use the provided ability index if it is defined } else { // If abilityIndex is not provided, determine it based on species and hidden ability - const hasHiddenAbility = !Utils.randSeedInt(hiddenAbilityChance.value); - const randAbilityIndex = Utils.randSeedInt(2); + const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); + const randAbilityIndex = randSeedInt(2); if (species.abilityHidden && hasHiddenAbility) { // If the species has a hidden ability and the hidden ability is present this.abilityIndex = 2; @@ -467,8 +459,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.isTerastallized = dataSource.isTerastallized; this.stellarTypesBoosted = dataSource.stellarTypesBoosted ?? []; } else { - this.id = Utils.randSeedInt(4294967296); - this.ivs = ivs || Utils.getIvsFromId(this.id); + this.id = randSeedInt(4294967296); + this.ivs = ivs || getIvsFromId(this.id); if (this.gender === undefined) { this.generateGender(); @@ -511,7 +503,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.pokerus = false; if (level > 1) { - const fused = new Utils.BooleanHolder( + const fused = new BooleanHolder( globalScene.gameMode.isSplicedOnly, ); if (!fused.value && !this.isPlayer() && !this.hasTrainer()) { @@ -528,7 +520,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { (this.fusionShiny ? this.fusionVariant + 1 : 0); this.fusionLuck = this.luck; - this.teraType = Utils.randSeedItem(this.getTypes(false, false, true)); + this.teraType = randSeedItem(this.getTypes(false, false, true)); this.isTerastallized = false; this.stellarTypesBoosted = []; } @@ -636,7 +628,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns {boolean} `true` if pokemon is allowed in battle */ public isAllowedInChallenge(): boolean { - const challengeAllowed = new Utils.BooleanHolder(true); + const challengeAllowed = new BooleanHolder(true); applyChallenges( ChallengeType.POKEMON_IN_BATTLE, this, @@ -1315,7 +1307,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns the final critical-hit stage value */ getCritStage(source: Pokemon, move: Move): number { - const critStage = new Utils.NumberHolder(0); + const critStage = new NumberHolder(0); applyMoveAttrs(HighCritAttr, source, this, move, critStage); globalScene.applyModifiers( CritBoosterModifier, @@ -1370,7 +1362,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { simulated = true, ignoreHeldItems = false, ): number { - const statValue = new Utils.NumberHolder(this.getStat(stat, false)); + const statValue = new NumberHolder(this.getStat(stat, false)); if (!ignoreHeldItems) { globalScene.applyModifiers( StatBoosterModifier, @@ -1382,7 +1374,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } // The Ruin abilities here are never ignored, but they reveal themselves on summon anyway - const fieldApplied = new Utils.BooleanHolder(false); + const fieldApplied = new BooleanHolder(false); for (const pokemon of globalScene.getField(true)) { applyFieldStatMultiplierAbAttrs( FieldMultiplyStatAbAttr, @@ -1408,7 +1400,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const ally = this.getAlly(); - if (!Utils.isNullOrUndefined(ally)) { + if (!isNullOrUndefined(ally)) { applyAllyStatMultiplierAbAttrs(AllyStatMultiplierAbAttr, ally, stat, statValue, simulated, this, move?.hasFlag(MoveFlags.IGNORE_ABILITIES) || ignoreAllyAbility); } @@ -1495,7 +1487,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const baseStats = this.calculateBaseStats(); // Using base stats, calculate and store stats one by one for (const s of PERMANENT_STATS) { - const statHolder = new Utils.NumberHolder( + const statHolder = new NumberHolder( Math.floor((2 * baseStats[s] + this.ivs[s]) * this.level * 0.01), ); if (s === Stat.HP) { @@ -1520,7 +1512,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } else { statHolder.value += 5; - const natureStatMultiplier = new Utils.NumberHolder( + const natureStatMultiplier = new NumberHolder( getNatureStatMultiplier(this.getNature(), s), ); globalScene.applyModifier( @@ -1622,9 +1614,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { generateNature(naturePool?: Nature[]): void { if (naturePool === undefined) { - naturePool = Utils.getEnumValues(Nature); + naturePool = getEnumValues(Nature); } - const nature = naturePool[Utils.randSeedInt(naturePool.length)]; + const nature = naturePool[randSeedInt(naturePool.length)]; this.setNature(nature); } @@ -1708,7 +1700,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns `true` if the pokemon is the species or is fused with it, `false` otherwise */ hasSpecies(species: Species, formKey?: string): boolean { - if (Utils.isNullOrUndefined(formKey)) { + if (isNullOrUndefined(formKey)) { return ( this.species.speciesId === species || this.fusionSpecies?.speciesId === species @@ -1870,7 +1862,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if ( secondType === PokemonType.UNKNOWN && - Utils.isNullOrUndefined(fusionType2) + isNullOrUndefined(fusionType2) ) { // If second pokemon was monotype and shared its primary type secondType = @@ -2240,11 +2232,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public getWeight(): number { const autotomizedTag = this.getTag(AutotomizedTag); let weightRemoved = 0; - if (!Utils.isNullOrUndefined(autotomizedTag)) { + if (!isNullOrUndefined(autotomizedTag)) { weightRemoved = 100 * autotomizedTag!.autotomizeCount; } const minWeight = 0.1; - const weight = new Utils.NumberHolder(this.species.weight - weightRemoved); + const weight = new NumberHolder(this.species.weight - weightRemoved); // This will trigger the ability overlay so only call this function when necessary applyAbAttrs(WeightMultiplierAbAttr, this, null, false, weight); @@ -2315,7 +2307,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } - const trappedByAbility = new Utils.BooleanHolder(false); + const trappedByAbility = new BooleanHolder(false); /** * Contains opposing Pokemon (Enemy/Player Pokemon) depending on perspective * Afterwards, it filters out Pokemon that have been switched out of the field so trapped abilities/moves do not trigger @@ -2354,7 +2346,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns The {@linkcode PokemonType} of the move after attributes are applied */ public getMoveType(move: Move, simulated = true): PokemonType { - const moveTypeHolder = new Utils.NumberHolder(move.type); + const moveTypeHolder = new NumberHolder(move.type); applyMoveAttrs(VariableMoveTypeAttr, this, null, move, moveTypeHolder); applyPreAttackAbAttrs( @@ -2385,7 +2377,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param move {@linkcode Move} The move being used by the attacking Pokémon. * @param ignoreAbility Whether to ignore abilities that might affect type effectiveness or immunity (defaults to `false`). * @param simulated Whether to apply abilities via simulated calls (defaults to `true`) - * @param cancelled {@linkcode Utils.BooleanHolder} Stores whether the move was cancelled by a non-type-based immunity. + * @param cancelled {@linkcode BooleanHolder} Stores whether the move was cancelled by a non-type-based immunity. * Currently only used by {@linkcode Pokemon.apply} to determine whether a "No effect" message should be shown. * @returns The type damage multiplier, indicating the effectiveness of the move */ @@ -2394,9 +2386,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { move: Move, ignoreAbility = false, simulated = true, - cancelled?: Utils.BooleanHolder, + cancelled?: BooleanHolder, ): TypeDamageMultiplier { - if (!Utils.isNullOrUndefined(this.turnData?.moveEffectiveness)) { + if (!isNullOrUndefined(this.turnData?.moveEffectiveness)) { return this.turnData?.moveEffectiveness; } @@ -2405,7 +2397,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const moveType = source.getMoveType(move); - const typeMultiplier = new Utils.NumberHolder( + const typeMultiplier = new NumberHolder( move.category !== MoveCategory.STATUS || move.hasAttr(RespectAttackTypeImmunityAttr) ? this.getAttackTypeEffectiveness( @@ -2435,7 +2427,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { typeMultiplier.value *= 2; } - const cancelledHolder = cancelled ?? new Utils.BooleanHolder(false); + const cancelledHolder = cancelled ?? new BooleanHolder(false); if (!ignoreAbility) { applyPreDefendAbAttrs( TypeImmunityAbAttr, @@ -2549,7 +2541,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { let multiplier = types .map(defType => { - const multiplier = new Utils.NumberHolder( + const multiplier = new NumberHolder( getTypeDamageMultiplier(moveType, defType), ); applyChallenges( @@ -2567,7 +2559,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); } if (source) { - const ignoreImmunity = new Utils.BooleanHolder(false); + const ignoreImmunity = new BooleanHolder(false); if ( source.isActive(true) && source.hasAbilityWithAttr(IgnoreTypeImmunityAbAttr) @@ -2600,7 +2592,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }) .reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier; - const typeMultiplierAgainstFlying = new Utils.NumberHolder( + const typeMultiplierAgainstFlying = new NumberHolder( getTypeDamageMultiplier(moveType, PokemonType.FLYING), ); applyChallenges( @@ -2943,7 +2935,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const E = globalScene.gameData.trainerId ^ globalScene.gameData.secretId; const F = rand1 ^ rand2; - const shinyThreshold = new Utils.NumberHolder(BASE_SHINY_CHANCE); + const shinyThreshold = new NumberHolder(BASE_SHINY_CHANCE); if (thresholdOverride === undefined) { if (timedEventManager.isEventActive()) { const tchance = timedEventManager.getClassicTrainerShinyChance(); @@ -2986,7 +2978,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { thresholdOverride?: number, applyModifiersToOverride?: boolean, ): boolean { - const shinyThreshold = new Utils.NumberHolder(BASE_SHINY_CHANCE); + const shinyThreshold = new NumberHolder(BASE_SHINY_CHANCE); if (thresholdOverride === undefined || applyModifiersToOverride) { if (thresholdOverride !== undefined && applyModifiersToOverride) { shinyThreshold.value = thresholdOverride; @@ -3041,10 +3033,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ) { return 0; } - const rand = new Utils.NumberHolder(0); + const rand = new NumberHolder(0); globalScene.executeWithSeedOffset( () => { - rand.value = Utils.randSeedInt(10); + rand.value = randSeedInt(10); }, this.id, globalScene.waveSeed, @@ -3074,7 +3066,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (!this.species.abilityHidden) { return false; } - const haThreshold = new Utils.NumberHolder(BASE_HIDDEN_ABILITY_CHANCE); + const haThreshold = new NumberHolder(BASE_HIDDEN_ABILITY_CHANCE); if (thresholdOverride === undefined || applyModifiersToOverride) { if (thresholdOverride !== undefined && applyModifiersToOverride) { haThreshold.value = thresholdOverride; @@ -3098,7 +3090,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } public generateFusionSpecies(forStarter?: boolean): void { - const hiddenAbilityChance = new Utils.NumberHolder( + const hiddenAbilityChance = new NumberHolder( BASE_HIDDEN_ABILITY_CHANCE, ); if (!this.hasTrainer()) { @@ -3109,8 +3101,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); } - const hasHiddenAbility = !Utils.randSeedInt(hiddenAbilityChance.value); - const randAbilityIndex = Utils.randSeedInt(2); + const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); + const randAbilityIndex = randSeedInt(2); const filter = !forStarter ? this.species.getCompatibleFusionSpeciesFilter() @@ -3427,7 +3419,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (stabMovePool.length) { const totalWeight = stabMovePool.reduce((v, m) => v + m[1], 0); - let rand = Utils.randSeedInt(totalWeight); + let rand = randSeedInt(totalWeight); let index = 0; while (rand > stabMovePool[index][1]) { rand -= stabMovePool[index++][1]; @@ -3441,7 +3433,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); if (attackMovePool.length) { const totalWeight = attackMovePool.reduce((v, m) => v + m[1], 0); - let rand = Utils.randSeedInt(totalWeight); + let rand = randSeedInt(totalWeight); let index = 0; while (rand > attackMovePool[index][1]) { rand -= attackMovePool[index++][1]; @@ -3493,7 +3485,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { movePool = baseWeights.filter(m => !this.moveset.some(mo => m[0] === mo.moveId)); } const totalWeight = movePool.reduce((v, m) => v + m[1], 0); - let rand = Utils.randSeedInt(totalWeight); + let rand = randSeedInt(totalWeight); let index = 0; while (rand > movePool[index][1]) { rand -= movePool[index++][1]; @@ -3717,8 +3709,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { simulated = true, ignoreHeldItems = false, ): number { - const statStage = new Utils.NumberHolder(this.getStatStage(stat)); - const ignoreStatStage = new Utils.BooleanHolder(false); + const statStage = new NumberHolder(this.getStatStage(stat)); + const ignoreStatStage = new BooleanHolder(false); if (opponent) { if (isCritical) { @@ -3755,7 +3747,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } if (!ignoreStatStage.value) { - const statStageMultiplier = new Utils.NumberHolder( + const statStageMultiplier = new NumberHolder( Math.max(2, 2 + statStage.value) / Math.max(2, 2 - statStage.value), ); if (!ignoreHeldItems) { @@ -3787,13 +3779,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return 1; } - const userAccStage = new Utils.NumberHolder(this.getStatStage(Stat.ACC)); - const targetEvaStage = new Utils.NumberHolder( + const userAccStage = new NumberHolder(this.getStatStage(Stat.ACC)); + const targetEvaStage = new NumberHolder( target.getStatStage(Stat.EVA), ); - const ignoreAccStatStage = new Utils.BooleanHolder(false); - const ignoreEvaStatStage = new Utils.BooleanHolder(false); + const ignoreAccStatStage = new BooleanHolder(false); + const ignoreEvaStatStage = new BooleanHolder(false); applyAbAttrs( IgnoreOpponentStatStagesAbAttr, @@ -3835,7 +3827,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { targetEvaStage.value = Math.min(0, targetEvaStage.value); } - const accuracyMultiplier = new Utils.NumberHolder(1); + const accuracyMultiplier = new NumberHolder(1); if (userAccStage.value !== targetEvaStage.value) { accuracyMultiplier.value = userAccStage.value > targetEvaStage.value @@ -3852,7 +3844,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sourceMove, ); - const evasionMultiplier = new Utils.NumberHolder(1); + const evasionMultiplier = new NumberHolder(1); applyStatMultiplierAbAttrs( StatMultiplierAbAttr, target, @@ -3907,7 +3899,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * The attacker's offensive stat for the given move's category. * Critical hits cause negative stat stages to be ignored. */ - const sourceAtk = new Utils.NumberHolder( + const sourceAtk = new NumberHolder( source.getEffectiveStat( isPhysical ? Stat.ATK : Stat.SPATK, this, @@ -3925,7 +3917,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * This Pokemon's defensive stat for the given move's category. * Critical hits cause positive stat stages to be ignored. */ - const targetDef = new Utils.NumberHolder( + const targetDef = new NumberHolder( this.getEffectiveStat( isPhysical ? Stat.DEF : Stat.SPDEF, source, @@ -3986,12 +3978,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { isCritical = false, simulated = true, ): DamageCalculationResult { - const damage = new Utils.NumberHolder(0); + const damage = new NumberHolder(0); const defendingSide = this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; - const variableCategory = new Utils.NumberHolder(move.category); + const variableCategory = new NumberHolder(move.category); applyMoveAttrs( VariableMoveCategoryAttr, source, @@ -4005,7 +3997,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const moveType = source.getMoveType(move); /** If `value` is `true`, cancels the move and suppresses "No Effect" messages */ - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); /** * The effectiveness of the move being used. Along with type matchups, this @@ -4025,7 +4017,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const isPhysical = moveCategory === MoveCategory.PHYSICAL; /** Combined damage multiplier from field effects such as weather, terrain, etc. */ - const arenaAttackTypeMultiplier = new Utils.NumberHolder( + const arenaAttackTypeMultiplier = new NumberHolder( globalScene.arena.getAttackTypeMultiplier(moveType, source.isGrounded()), ); applyMoveAttrs( @@ -4048,10 +4040,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } // If the attack deals fixed damage, return a result with that much damage - const fixedDamage = new Utils.NumberHolder(0); + const fixedDamage = new NumberHolder(0); applyMoveAttrs(FixedDamageAttr, source, this, move, fixedDamage); if (fixedDamage.value) { - const multiLensMultiplier = new Utils.NumberHolder(1); + const multiLensMultiplier = new NumberHolder(1); globalScene.applyModifiers( PokemonMultiHitModifier, source.isPlayer(), @@ -4060,7 +4052,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { null, multiLensMultiplier, ); - fixedDamage.value = Utils.toDmgValue( + fixedDamage.value = toDmgValue( fixedDamage.value * multiLensMultiplier.value, ); @@ -4072,7 +4064,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } // If the attack is a one-hit KO move, return a result with damage equal to this Pokemon's HP - const isOneHitKo = new Utils.BooleanHolder(false); + const isOneHitKo = new BooleanHolder(false); applyMoveAttrs(OneHitKOAttr, source, this, move, isOneHitKo); if (isOneHitKo.value) { return { @@ -4104,7 +4096,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const targetMultiplier = numTargets > 1 ? 0.75 : 1; /** Multiplier for moves enhanced by Multi-Lens and/or Parental Bond */ - const multiStrikeEnhancementMultiplier = new Utils.NumberHolder(1); + const multiStrikeEnhancementMultiplier = new NumberHolder(1); globalScene.applyModifiers( PokemonMultiHitModifier, source.isPlayer(), @@ -4126,13 +4118,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** Doubles damage if this Pokemon's last move was Glaive Rush */ - const glaiveRushMultiplier = new Utils.NumberHolder(1); + const glaiveRushMultiplier = new NumberHolder(1); if (this.getTag(BattlerTagType.RECEIVE_DOUBLE_DAMAGE)) { glaiveRushMultiplier.value = 2; } /** The damage multiplier when the given move critically hits */ - const criticalMultiplier = new Utils.NumberHolder(isCritical ? 1.5 : 1); + const criticalMultiplier = new NumberHolder(isCritical ? 1.5 : 1); applyAbAttrs(MultCritAbAttr, source, null, simulated, criticalMultiplier); /** @@ -4147,7 +4139,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const sourceTeraType = source.getTeraType(); const matchesSourceType = sourceTypes.includes(moveType); /** A damage multiplier for when the attack is of the attacker's type and/or Tera type. */ - const stabMultiplier = new Utils.NumberHolder(1); + const stabMultiplier = new NumberHolder(1); if (matchesSourceType && moveType !== PokemonType.STELLAR) { stabMultiplier.value += 0.5; } @@ -4188,14 +4180,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { stabMultiplier.value = Math.min(stabMultiplier.value, 2.25); /** Halves damage if the attacker is using a physical attack while burned */ - const burnMultiplier = new Utils.NumberHolder(1); + const burnMultiplier = new NumberHolder(1); if ( isPhysical && source.status && source.status.effect === StatusEffect.BURN ) { if (!move.hasAttr(BypassBurnDamageReductionAttr)) { - const burnDamageReductionCancelled = new Utils.BooleanHolder(false); + const burnDamageReductionCancelled = new BooleanHolder(false); if (!ignoreSourceAbility) { applyAbAttrs( BypassBurnDamageReductionAbAttr, @@ -4211,7 +4203,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** Reduces damage if this Pokemon has a relevant screen (e.g. Light Screen for special attacks) */ - const screenMultiplier = new Utils.NumberHolder(1); + const screenMultiplier = new NumberHolder(1); // Critical hits should bypass screens if (!isCritical) { @@ -4231,7 +4223,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * AND * The move doubles damage when used against that tag */ - const hitsTagMultiplier = new Utils.NumberHolder(1); + const hitsTagMultiplier = new NumberHolder(1); move .getAttrs(HitsTagAttr) .filter(hta => hta.doubleDamage) @@ -4249,7 +4241,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ? 0.5 : 1; - damage.value = Utils.toDmgValue( + damage.value = toDmgValue( baseDamage * targetMultiplier * multiStrikeEnhancementMultiplier.value * @@ -4358,10 +4350,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const defendingSide = this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; - const moveCategory = new Utils.NumberHolder(move.category); + const moveCategory = new NumberHolder(move.category); applyMoveAttrs(VariableMoveCategoryAttr, source, this, move, moveCategory); if (moveCategory.value === MoveCategory.STATUS) { - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); const typeMultiplier = this.getMoveEffectiveness( source, move, @@ -4381,7 +4373,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** Determines whether the attack critically hits */ let isCritical: boolean; - const critOnly = new Utils.BooleanHolder(false); + const critOnly = new BooleanHolder(false); const critAlways = source.getTag(BattlerTagType.ALWAYS_CRIT); applyMoveAttrs(CritOnlyAttr, source, this, move, critOnly); applyAbAttrs( @@ -4404,7 +4396,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const noCritTag = globalScene.arena.getTagOnSide(NoCritTag, defendingSide); - const blockCrit = new Utils.BooleanHolder(false); + const blockCrit = new BooleanHolder(false); applyAbAttrs(BlockCritAbAttr, this, null, false, blockCrit); if (noCritTag || blockCrit.value || Overrides.NEVER_CRIT_OVERRIDE) { isCritical = false; @@ -4486,7 +4478,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (damage > 0) { if (source.isPlayer()) { - globalScene.validateAchvs(DamageAchv, new Utils.NumberHolder(damage)); + globalScene.validateAchvs(DamageAchv, new NumberHolder(damage)); if (damage > globalScene.gameData.gameStats.highestDamage) { globalScene.gameData.gameStats.highestDamage = damage; } @@ -4510,7 +4502,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { DamageMoneyRewardModifier, true, source, - new Utils.NumberHolder(damage), + new NumberHolder(damage), ); } } @@ -4575,7 +4567,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (this.isFainted()) { return 0; } - const surviveDamage = new Utils.BooleanHolder(false); + const surviveDamage = new BooleanHolder(false); if (!preventEndure && this.hp - damage <= 0) { if (this.hp >= 1 && this.getTag(BattlerTagType.ENDURING)) { @@ -4710,7 +4702,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const stubTag = new BattlerTag(tagType, 0, 0); - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyPreApplyBattlerTagAbAttrs( BattlerTagImmunityAbAttr, this, @@ -4748,7 +4740,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const newTag = getBattlerTag(tagType, turnCount, sourceMove!, sourceId!); // TODO: are the bangs correct? - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyPreApplyBattlerTagAbAttrs( BattlerTagImmunityAbAttr, this, @@ -5081,12 +5073,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { let fusionCry = this.getFusionSpeciesForm().cry(soundConfig, true); duration = Math.min(duration, fusionCry.totalDuration * 1000); fusionCry.destroy(); - scene.time.delayedCall(Utils.fixedInt(Math.ceil(duration * 0.4)), () => { + scene.time.delayedCall(fixedInt(Math.ceil(duration * 0.4)), () => { try { SoundFade.fadeOut( scene, cry, - Utils.fixedInt(Math.ceil(duration * 0.2)), + fixedInt(Math.ceil(duration * 0.2)), ); fusionCry = this.getFusionSpeciesForm().cry( Object.assign( @@ -5097,7 +5089,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { SoundFade.fadeIn( scene, fusionCry, - Utils.fixedInt(Math.ceil(duration * 0.2)), + fixedInt(Math.ceil(duration * 0.2)), scene.masterVolume * scene.fieldVolume, 0, ); @@ -5137,7 +5129,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { let faintCryTimer: Phaser.Time.TimerEvent | null = globalScene.time.addEvent({ - delay: Utils.fixedInt(delay), + delay: fixedInt(delay), repeat: -1, callback: () => { frameThreshold = sprite.anims.msPerFrame / rate; @@ -5163,7 +5155,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); // Failsafe - globalScene.time.delayedCall(Utils.fixedInt(3000), () => { + globalScene.time.delayedCall(fixedInt(3000), () => { if (!faintCryTimer || !globalScene) { return; } @@ -5222,7 +5214,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { let faintCryTimer: Phaser.Time.TimerEvent | null = globalScene.time.addEvent({ - delay: Utils.fixedInt(delay), + delay: fixedInt(delay), repeat: -1, callback: () => { ++i; @@ -5239,7 +5231,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { SoundFade.fadeOut( globalScene, cry, - Utils.fixedInt(Math.ceil((duration / rate) * 0.2)), + fixedInt(Math.ceil((duration / rate) * 0.2)), ); fusionCry = globalScene.playSound( fusionCryKey, @@ -5251,7 +5243,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { SoundFade.fadeIn( globalScene, fusionCry, - Utils.fixedInt(Math.ceil((duration / rate) * 0.2)), + fixedInt(Math.ceil((duration / rate) * 0.2)), globalScene.masterVolume * globalScene.fieldVolume, 0, ); @@ -5277,7 +5269,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); // Failsafe - globalScene.time.delayedCall(Utils.fixedInt(3000), () => { + globalScene.time.delayedCall(fixedInt(3000), () => { if (!faintCryTimer || !globalScene) { return; } @@ -5352,7 +5344,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } // Check if the source Pokemon has an ability that cancels the Poison/Toxic immunity - const cancelImmunity = new Utils.BooleanHolder(false); + const cancelImmunity = new BooleanHolder(false); if (sourcePokemon) { applyAbAttrs( IgnoreTypeStatusEffectImmunityAbAttr, @@ -5408,7 +5400,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { break; } - const cancelled = new Utils.BooleanHolder(false); + const cancelled = new BooleanHolder(false); applyPreSetStatusAbAttrs( StatusEffectImmunityAbAttr, this, @@ -5479,10 +5471,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return true; } - let sleepTurnsRemaining: Utils.NumberHolder; + let sleepTurnsRemaining: NumberHolder; if (effect === StatusEffect.SLEEP) { - sleepTurnsRemaining = new Utils.NumberHolder(this.randSeedIntRange(2, 4)); + sleepTurnsRemaining = new NumberHolder(this.randSeedIntRange(2, 4)); this.setFrameRate(4); @@ -5533,7 +5525,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; if (globalScene.arena.getTagOnSide(ArenaTagType.SAFEGUARD, defendingSide)) { - const bypassed = new Utils.BooleanHolder(false); + const bypassed = new BooleanHolder(false); if (attacker) { applyAbAttrs(InfiltratorAbAttr, attacker, null, false, bypassed); } @@ -5829,9 +5821,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (this.shiny && variantColors && variantColors[this.variant]) { Object.keys(variantColors[this.variant]).forEach(k => { variantColorSet.set( - Utils.rgbaToInt(Array.from(Object.values(Utils.rgbHexToRgba(k)))), + rgbaToInt(Array.from(Object.values(rgbHexToRgba(k)))), Array.from( - Object.values(Utils.rgbHexToRgba(variantColors[this.variant][k])), + Object.values(rgbHexToRgba(variantColors[this.variant][k])), ), ); }); @@ -5842,7 +5834,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const pixel = pixelData[f].slice(i, i + 4); let [r, g, b, a] = pixel; if (variantColors) { - const color = Utils.rgbaToInt([r, g, b, a]); + const color = rgbaToInt([r, g, b, a]); if (variantColorSet.has(color)) { const mappedPixel = variantColorSet.get(color); if (mappedPixel) { @@ -5891,10 +5883,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ) { for (const k of Object.keys(variantColors[this.fusionVariant])) { variantColorSet.set( - Utils.rgbaToInt(Array.from(Object.values(Utils.rgbHexToRgba(k)))), + rgbaToInt(Array.from(Object.values(rgbHexToRgba(k)))), Array.from( Object.values( - Utils.rgbHexToRgba(variantColors[this.fusionVariant][k]), + rgbHexToRgba(variantColors[this.fusionVariant][k]), ), ), ); @@ -5914,7 +5906,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { pixelData[2 + f][i + 3], ]; if (variantColors) { - const color = Utils.rgbaToInt([r, g, b, a]); + const color = rgbaToInt([r, g, b, a]); if (variantColorSet.has(color)) { const mappedPixel = variantColorSet.get(color); if (mappedPixel) { @@ -5972,7 +5964,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { hsvColors = Array.from(rgbaColors.keys()).reduce( (map: Map, k: number) => { const rgb = rgbaColors.get(k)!.slice(0, 3); - map.set(k, Utils.rgbToHsv(rgb[0], rgb[1], rgb[2])); + map.set(k, rgbToHsv(rgb[0], rgb[1], rgb[2])); return map; }, new Map(), @@ -6052,7 +6044,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { spriteColors.forEach((sc: number[], i: number) => { paletteDeltas.push([]); for (let p = 0; p < palette.length; p++) { - paletteDeltas[i].push(Utils.deltaRgb(sc, palette[p])); + paletteDeltas[i].push(deltaRgb(sc, palette[p])); } }); @@ -6097,8 +6089,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * * This calls either {@linkcode BattleScene.randBattleSeedInt}({@linkcode range}, {@linkcode min}) in `src/battle-scene.ts` * which calls {@linkcode Battle.randSeedInt}({@linkcode range}, {@linkcode min}) in `src/battle.ts` - * which calls {@linkcode Utils.randSeedInt randSeedInt}({@linkcode range}, {@linkcode min}) in `src/utils.ts`, - * or it directly calls {@linkcode Utils.randSeedInt randSeedInt}({@linkcode range}, {@linkcode min}) in `src/utils.ts` if there is no current battle + * which calls {@linkcode randSeedInt randSeedInt}({@linkcode range}, {@linkcode min}) in `src/utils.ts`, + * or it directly calls {@linkcode randSeedInt randSeedInt}({@linkcode range}, {@linkcode min}) in `src/utils.ts` if there is no current battle * * @param range How large of a range of random numbers to choose from. If {@linkcode range} <= 1, returns {@linkcode min} * @param min The minimum integer to pick, default `0` @@ -6107,7 +6099,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { randSeedInt(range: number, min = 0): number { return globalScene.currentBattle ? globalScene.randBattleSeedInt(range, min) - : Utils.randSeedInt(range, min); + : randSeedInt(range, min); } /** @@ -6403,7 +6395,7 @@ export class PlayerPokemon extends Pokemon { ? globalScene.gameData.starterData[fusionStarterSpeciesId] : null, ].filter(d => !!d); - const amount = new Utils.NumberHolder(friendship); + const amount = new NumberHolder(friendship); globalScene.applyModifier( PokemonFriendshipBoosterModifier, true, @@ -6418,7 +6410,7 @@ export class PlayerPokemon extends Pokemon { ? 1.5 // Divide candy gain for fusions by 1.5 during events : 2 // 2 for fusions outside events : 1; // 1 for non-fused mons - const starterAmount = new Utils.NumberHolder( + const starterAmount = new NumberHolder( Math.floor( (amount.value * candyFriendshipMultiplier) / fusionReduction, ), @@ -7381,7 +7373,7 @@ export class EnemyPokemon extends Pokemon { //console.log('damage', damage, 'segment', segmentsBypassed + 1, 'segment size', segmentSize, 'damage needed', Math.round(segmentSize * Math.pow(2, segmentsBypassed + 1))); } - damage = Utils.toDmgValue( + damage = toDmgValue( this.hp - hpThreshold + segmentSize * segmentsBypassed, ); clearedBossSegmentIndex = s - segmentsBypassed; @@ -7459,7 +7451,7 @@ export class EnemyPokemon extends Pokemon { } // Pick a random stat from the leftover stats to increase its stages - const randInt = Utils.randSeedInt(totalWeight); + const randInt = randSeedInt(totalWeight); for (const i in statThresholds) { if (randInt < statThresholds[i]) { boostedStat = leftoverStats[i]; @@ -7530,7 +7522,7 @@ export class EnemyPokemon extends Pokemon { this, ); - if (Utils.isBetween(slotIndex, 0, PLAYER_PARTY_MAX_SIZE - 1)) { + if (isBetween(slotIndex, 0, PLAYER_PARTY_MAX_SIZE - 1)) { party.splice(slotIndex, 0, newPokemon); } else { party.push(newPokemon); @@ -7772,7 +7764,7 @@ export class PokemonMove { getMovePp(): number { return ( this.maxPpOverride || - this.getMove().pp + this.ppUp * Utils.toDmgValue(this.getMove().pp / 5) + this.getMove().pp + this.ppUp * toDmgValue(this.getMove().pp / 5) ); } diff --git a/src/field/trainer.ts b/src/field/trainer.ts index ccd8c83e684..30cf43b54a1 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -11,7 +11,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { TrainerPoolTier } from "#enums/trainer-pool-tier"; import { TeraAIMode } from "#enums/tera-ai-mode"; import type { EnemyPokemon } from "#app/field/pokemon"; -import * as Utils from "#app/utils"; +import { randSeedWeightedItem, randSeedItem, randSeedInt } from "#app/utils"; import type { PersistentModifier } from "#app/modifier/modifier"; import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { getIsInitialized, initI18n } from "#app/plugins/i18n"; @@ -58,7 +58,7 @@ export default class Trainer extends Phaser.GameObjects.Container { this.partyTemplateIndex = Math.min( partyTemplateIndex !== undefined ? partyTemplateIndex - : Utils.randSeedWeightedItem(this.config.partyTemplates.map((_, i) => i)), + : randSeedWeightedItem(this.config.partyTemplates.map((_, i) => i)), this.config.partyTemplates.length - 1, ); const classKey = `trainersCommon:${TrainerType[trainerType]}`; @@ -71,9 +71,7 @@ export default class Trainer extends Phaser.GameObjects.Container { ? ".FEMALE" : ".MALE" : ""; - const trainerKey = Utils.randSeedItem( - Object.keys(i18next.t(`${classKey}${genderKey}`, { returnObjects: true })), - ); + const trainerKey = randSeedItem(Object.keys(i18next.t(`${classKey}${genderKey}`, { returnObjects: true }))); this.nameKey = `${classKey}${genderKey}.${trainerKey}`; } this.name = i18next.t(this.nameKey); @@ -87,7 +85,7 @@ export default class Trainer extends Phaser.GameObjects.Container { } } else { const partnerGenderKey = i18next.exists(`${classKey}.FEMALE`) ? ".FEMALE" : ""; - const partnerTrainerKey = Utils.randSeedItem( + const partnerTrainerKey = randSeedItem( Object.keys( i18next.t(`${classKey}${partnerGenderKey}`, { returnObjects: true, @@ -420,7 +418,7 @@ export default class Trainer extends Phaser.GameObjects.Container { // If useNewSpeciesPool is true, we need to generate a new species from the new species pool, otherwise we generate a random species let species = useNewSpeciesPool - ? getPokemonSpecies(newSpeciesPool[Math.floor(Utils.randSeedInt(newSpeciesPool.length))]) + ? getPokemonSpecies(newSpeciesPool[Math.floor(randSeedInt(newSpeciesPool.length))]) : template.isSameSpecies(index) && index > offset ? getPokemonSpecies( battle.enemyParty[offset].species.getTrainerSpeciesForLevel( @@ -461,7 +459,7 @@ export default class Trainer extends Phaser.GameObjects.Container { let baseSpecies: PokemonSpecies; if (this.config.speciesPools) { - const tierValue = Utils.randSeedInt(512); + const tierValue = randSeedInt(512); let tier = tierValue >= 156 ? TrainerPoolTier.COMMON @@ -480,7 +478,7 @@ export default class Trainer extends Phaser.GameObjects.Container { tier--; } const tierPool = this.config.speciesPools[tier]; - baseSpecies = getPokemonSpecies(Utils.randSeedItem(tierPool)); + baseSpecies = getPokemonSpecies(randSeedItem(tierPool)); } else { baseSpecies = globalScene.randomSpecies(battle.waveIndex, level, false, this.config.speciesFilter); } @@ -619,7 +617,7 @@ export default class Trainer extends Phaser.GameObjects.Container { if (maxScorePartyMemberIndexes.length > 1) { let rand: number; globalScene.executeWithSeedOffset( - () => (rand = Utils.randSeedInt(maxScorePartyMemberIndexes.length)), + () => (rand = randSeedInt(maxScorePartyMemberIndexes.length)), globalScene.currentBattle.turn << 2, ); return maxScorePartyMemberIndexes[rand!]; diff --git a/src/game-mode.ts b/src/game-mode.ts index c340768ef77..4779fda50e8 100644 --- a/src/game-mode.ts +++ b/src/game-mode.ts @@ -7,7 +7,7 @@ import type PokemonSpecies from "./data/pokemon-species"; import { allSpecies } from "./data/pokemon-species"; import type { Arena } from "./field/arena"; import Overrides from "#app/overrides"; -import * as Utils from "./utils"; +import { randSeedInt, randSeedItem } from "#app/utils"; import { Biome } from "#enums/biome"; import { Species } from "#enums/species"; import { Challenges } from "./enums/challenges"; @@ -186,7 +186,7 @@ export class GameMode implements GameModeConfig { if (w < waveIndex) { globalScene.executeWithSeedOffset(() => { const waveTrainerChance = arena.getTrainerChance(); - if (!Utils.randSeedInt(waveTrainerChance)) { + if (!randSeedInt(waveTrainerChance)) { allowTrainerBattle = false; } }, w); @@ -196,7 +196,7 @@ export class GameMode implements GameModeConfig { } } } - return Boolean(allowTrainerBattle && trainerChance && !Utils.randSeedInt(trainerChance)); + return Boolean(allowTrainerBattle && trainerChance && !randSeedInt(trainerChance)); } return false; } @@ -222,7 +222,7 @@ export class GameMode implements GameModeConfig { s.speciesId !== Species.ETERNATUS && s.speciesId !== Species.ARCEUS, ); - return Utils.randSeedItem(allFinalBossSpecies); + return randSeedItem(allFinalBossSpecies); } return null; diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts index fb4555084ee..f92ce3957ab 100644 --- a/src/inputs-controller.ts +++ b/src/inputs-controller.ts @@ -1,6 +1,5 @@ import Phaser from "phaser"; -import * as Utils from "./utils"; -import { deepCopy } from "./utils"; +import { deepCopy, getEnumValues } from "#app/utils"; import pad_generic from "./configs/inputs/pad_generic"; import pad_unlicensedSNES from "./configs/inputs/pad_unlicensedSNES"; import pad_xbox360 from "./configs/inputs/pad_xbox360"; @@ -102,7 +101,7 @@ export class InputsController { [Device.KEYBOARD]: "default", }; - for (const b of Utils.getEnumValues(Button)) { + for (const b of getEnumValues(Button)) { this.interactions[b] = { pressTime: false, isPressed: false, diff --git a/src/loading-scene.ts b/src/loading-scene.ts index f99831c53bc..b45cf64ff56 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -4,7 +4,7 @@ import CacheBustedLoaderPlugin from "#app/plugins/cache-busted-loader-plugin"; import { SceneBase } from "#app/scene-base"; import { WindowVariant, getWindowVariantSuffix } from "#app/ui/ui-theme"; import { isMobile } from "#app/touch-controls"; -import * as Utils from "#app/utils"; +import { localPing, getEnumValues, hasAllLocalizedSprites, getEnumKeys } from "#app/utils"; import { initPokemonPrevolutions, initPokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { initBiomes } from "#app/data/balance/biomes"; import { initEggMoves } from "#app/data/balance/egg-moves"; @@ -34,7 +34,7 @@ export class LoadingScene extends SceneBase { } preload() { - Utils.localPing(); + localPing(); this.load["manifest"] = this.game["manifest"]; this.loadImage("loading_bg", "arenas"); @@ -49,7 +49,7 @@ export class LoadingScene extends SceneBase { this.loadImage("friendship_overlay", "ui"); this.loadImage("cursor", "ui"); this.loadImage("cursor_reverse", "ui"); - for (const wv of Utils.getEnumValues(WindowVariant)) { + for (const wv of getEnumValues(WindowVariant)) { for (let w = 1; w <= 5; w++) { this.loadImage(`window_${w}${getWindowVariantSuffix(wv)}`, "ui/windows"); } @@ -177,7 +177,7 @@ export class LoadingScene extends SceneBase { this.loadImage("default_bg", "arenas"); // Load arena images - Utils.getEnumValues(Biome).map(bt => { + getEnumValues(Biome).map(bt => { const btKey = Biome[bt].toLowerCase(); const isBaseAnimated = btKey === "end"; const baseAKey = `${btKey}_a`; @@ -239,7 +239,7 @@ export class LoadingScene extends SceneBase { // Get current lang and load the types atlas for it. English will only load types while all other languages will load types and types_ const lang = i18next.resolvedLanguage; if (lang !== "en") { - if (Utils.hasAllLocalizedSprites(lang)) { + if (hasAllLocalizedSprites(lang)) { this.loadAtlas(`statuses_${lang}`, ""); this.loadAtlas(`types_${lang}`, ""); } else { @@ -268,7 +268,7 @@ export class LoadingScene extends SceneBase { this.loadAtlas("egg_icons", "egg"); this.loadAtlas("egg_shard", "egg"); this.loadAtlas("egg_lightrays", "egg"); - for (const gt of Utils.getEnumKeys(GachaType)) { + for (const gt of getEnumKeys(GachaType)) { const key = gt.toLowerCase(); this.loadImage(`gacha_${key}`, "egg"); this.loadAtlas(`gacha_underlay_${key}`, "egg"); diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 6c46f7ff8c0..acc7ac0f63a 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -297,16 +297,16 @@ export class MoveEffectPhase extends PokemonPhase { ); } - /** Is the target protected by Protect, etc. or a relevant conditional protection effect? */ - const isProtected = - ![MoveTarget.ENEMY_SIDE, MoveTarget.BOTH_SIDES].includes(this.move.getMove().moveTarget) && - (bypassIgnoreProtect.value || - !this.move.getMove().doesFlagEffectApply({ flag: MoveFlags.IGNORE_PROTECT, user, target })) && - (hasConditionalProtectApplied.value || - (!target.findTags(t => t instanceof DamageProtectedTag).length && - target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType))) || - (this.move.getMove().category !== MoveCategory.STATUS && - target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType)))); + /** Is the target protected by Protect, etc. or a relevant conditional protection effect? */ + const isProtected = + ![MoveTarget.ENEMY_SIDE, MoveTarget.BOTH_SIDES].includes(this.move.getMove().moveTarget) && + (bypassIgnoreProtect.value || + !this.move.getMove().doesFlagEffectApply({ flag: MoveFlags.IGNORE_PROTECT, user, target })) && + (hasConditionalProtectApplied.value || + (!target.findTags(t => t instanceof DamageProtectedTag).length && + target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType))) || + (this.move.getMove().category !== MoveCategory.STATUS && + target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType)))); /** Is the target hidden by the effects of its Commander ability? */ const isCommanding = @@ -316,11 +316,11 @@ export class MoveEffectPhase extends PokemonPhase { /** Is the target reflecting status moves from the magic coat move? */ const isReflecting = !!target.getTag(BattlerTagType.MAGIC_COAT); - /** Is the target's magic bounce ability not ignored and able to reflect this move? */ - const canMagicBounce = - !isReflecting && - !move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user, target }) && - target.hasAbilityWithAttr(ReflectStatusMoveAbAttr); + /** Is the target's magic bounce ability not ignored and able to reflect this move? */ + const canMagicBounce = + !isReflecting && + !move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user, target }) && + target.hasAbilityWithAttr(ReflectStatusMoveAbAttr); const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); @@ -333,21 +333,19 @@ export class MoveEffectPhase extends PokemonPhase { (isReflecting || canMagicBounce) && !semiInvulnerableTag; - // If the move will bounce, then queue the bounce and move on to the next target - if (!target.switchOutStatus && willBounce) { - const newTargets = move.isMultiTarget() - ? getMoveTargets(target, move.id).targets - : [user.getBattlerIndex()]; - if (!isReflecting) { - // TODO: Ability displays should be handled by the ability - queuedPhases.push( - new ShowAbilityPhase( - target.getBattlerIndex(), - target.getPassiveAbility().hasAttr(ReflectStatusMoveAbAttr), - ), - ); - queuedPhases.push(new HideAbilityPhase()); - } + // If the move will bounce, then queue the bounce and move on to the next target + if (!target.switchOutStatus && willBounce) { + const newTargets = move.isMultiTarget() ? getMoveTargets(target, move.id).targets : [user.getBattlerIndex()]; + if (!isReflecting) { + // TODO: Ability displays should be handled by the ability + queuedPhases.push( + new ShowAbilityPhase( + target.getBattlerIndex(), + target.getPassiveAbility().hasAttr(ReflectStatusMoveAbAttr), + ), + ); + queuedPhases.push(new HideAbilityPhase()); + } queuedPhases.push(new MovePhase(target, newTargets, new PokemonMove(move.id, 0, 0, true), true, true, true)); continue; diff --git a/src/phases/revival-blessing-phase.ts b/src/phases/revival-blessing-phase.ts index e650d714abc..f6fe4d9a3ee 100644 --- a/src/phases/revival-blessing-phase.ts +++ b/src/phases/revival-blessing-phase.ts @@ -4,7 +4,7 @@ import type { PartyOption } from "#app/ui/party-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; import { Mode } from "#app/ui/ui"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { toDmgValue, isNullOrUndefined } from "#app/utils"; import { BattlePhase } from "#app/phases/battle-phase"; import { SwitchSummonPhase } from "#app/phases/switch-summon-phase"; import { ToggleDoublePositionPhase } from "#app/phases/toggle-double-position-phase"; @@ -33,7 +33,7 @@ export class RevivalBlessingPhase extends BattlePhase { pokemon.resetTurnData(); pokemon.resetStatus(); - pokemon.heal(Math.min(Utils.toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); + pokemon.heal(Math.min(toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); globalScene.queueMessage( i18next.t("moveTriggers:revivalBlessing", { pokemonName: pokemon.name, @@ -46,7 +46,7 @@ export class RevivalBlessingPhase extends BattlePhase { if ( globalScene.currentBattle.double && globalScene.getPlayerParty().length > 1 && - !Utils.isNullOrUndefined(allyPokemon) + !isNullOrUndefined(allyPokemon) ) { if (slotIndex <= 1) { // Revived ally pokemon diff --git a/src/phases/select-starter-phase.ts b/src/phases/select-starter-phase.ts index c6ded6be7af..35511531609 100644 --- a/src/phases/select-starter-phase.ts +++ b/src/phases/select-starter-phase.ts @@ -12,7 +12,7 @@ import type { Starter } from "#app/ui/starter-select-ui-handler"; import { Mode } from "#app/ui/ui"; import type { Species } from "#enums/species"; import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; -import * as Utils from "../utils"; +import { isNullOrUndefined } from "#app/utils"; export class SelectStarterPhase extends Phase { start() { @@ -49,7 +49,7 @@ export class SelectStarterPhase extends Phase { let starterFormIndex = Math.min(starterProps.formIndex, Math.max(starter.species.forms.length - 1, 0)); if ( starter.species.speciesId in Overrides.STARTER_FORM_OVERRIDES && - !Utils.isNullOrUndefined(Overrides.STARTER_FORM_OVERRIDES[starter.species.speciesId]) && + !isNullOrUndefined(Overrides.STARTER_FORM_OVERRIDES[starter.species.speciesId]) && starter.species.forms[Overrides.STARTER_FORM_OVERRIDES[starter.species.speciesId]!] ) { starterFormIndex = Overrides.STARTER_FORM_OVERRIDES[starter.species.speciesId]!; @@ -87,7 +87,7 @@ export class SelectStarterPhase extends Phase { starterPokemon.nickname = starter.nickname; } - if (!Utils.isNullOrUndefined(starter.teraType)) { + if (!isNullOrUndefined(starter.teraType)) { starterPokemon.teraType = starter.teraType; } else { starterPokemon.teraType = starterPokemon.species.type1; diff --git a/src/pipelines/field-sprite.ts b/src/pipelines/field-sprite.ts index 612c9fae052..a55b6a9adb6 100644 --- a/src/pipelines/field-sprite.ts +++ b/src/pipelines/field-sprite.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { TerrainType, getTerrainColor } from "../data/terrain"; -import * as Utils from "../utils"; +import { getCurrentTime } from "#app/utils"; import fieldSpriteFragShader from "./glsl/fieldSpriteFragShader.frag?raw"; import spriteVertShader from "./glsl/spriteShader.vert?raw"; @@ -34,7 +34,7 @@ export default class FieldSpritePipeline extends Phaser.Renderer.WebGL.Pipelines const time = globalScene.currentBattle?.waveIndex ? ((globalScene.currentBattle.waveIndex + globalScene.waveCycleOffset) % 40) / 40 // ((new Date().getSeconds() * 1000 + new Date().getMilliseconds()) % 10000) / 10000 - : Utils.getCurrentTime(); + : getCurrentTime(); this.set1f("time", time); this.set1i("ignoreTimeTint", ignoreTimeTint ? 1 : 0); this.set1i("isOutside", globalScene.arena.isOutside() ? 1 : 0); diff --git a/src/pipelines/sprite.ts b/src/pipelines/sprite.ts index acbaac50476..d97cae1662b 100644 --- a/src/pipelines/sprite.ts +++ b/src/pipelines/sprite.ts @@ -3,7 +3,7 @@ import MysteryEncounterIntroVisuals from "#app/field/mystery-encounter-intro"; import Pokemon from "#app/field/pokemon"; import Trainer from "#app/field/trainer"; import { globalScene } from "#app/global-scene"; -import * as Utils from "#app/utils"; +import { rgbHexToRgba } from "#app/utils"; import FieldSpritePipeline from "./field-sprite"; import spriteFragShader from "./glsl/spriteFragShader.frag?raw"; import spriteVertShader from "./glsl/spriteShader.vert?raw"; @@ -144,8 +144,8 @@ export default class SpritePipeline extends FieldSpritePipeline { const baseColors = Object.keys(variantColors[variant]); for (let c = 0; c < 32; c++) { if (c < baseColors.length) { - const baseColor = Array.from(Object.values(Utils.rgbHexToRgba(baseColors[c]))); - const variantColor = Array.from(Object.values(Utils.rgbHexToRgba(variantColors[variant][baseColors[c]]))); + const baseColor = Array.from(Object.values(rgbHexToRgba(baseColors[c]))); + const variantColor = Array.from(Object.values(rgbHexToRgba(variantColors[variant][baseColors[c]]))); flatBaseColors.splice(flatBaseColors.length, 0, ...baseColor); flatVariantColors.splice(flatVariantColors.length, 0, ...variantColor.map(c => c / 255.0)); } else { diff --git a/src/system/achv.ts b/src/system/achv.ts index bd8595b2f94..62e69e6fbfe 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -2,7 +2,7 @@ import type { Modifier } from "typescript"; import { TurnHeldItemTransferModifier } from "../modifier/modifier"; import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import i18next from "i18next"; -import * as Utils from "../utils"; +import { NumberHolder } from "#app/utils"; import { PlayerGender } from "#enums/player-gender"; import type { Challenge } from "#app/data/challenge"; import { @@ -138,7 +138,7 @@ export class DamageAchv extends Achv { "", iconImage, score, - (args: any[]) => (args[0] instanceof Utils.NumberHolder ? args[0].value : args[0]) >= this.damageAmount, + (args: any[]) => (args[0] instanceof NumberHolder ? args[0].value : args[0]) >= this.damageAmount, ); this.damageAmount = damageAmount; } @@ -154,7 +154,7 @@ export class HealAchv extends Achv { "", iconImage, score, - (args: any[]) => (args[0] instanceof Utils.NumberHolder ? args[0].value : args[0]) >= this.healAmount, + (args: any[]) => (args[0] instanceof NumberHolder ? args[0].value : args[0]) >= this.healAmount, ); this.healAmount = healAmount; } @@ -170,7 +170,7 @@ export class LevelAchv extends Achv { "", iconImage, score, - (args: any[]) => (args[0] instanceof Utils.NumberHolder ? args[0].value : args[0]) >= this.level, + (args: any[]) => (args[0] instanceof NumberHolder ? args[0].value : args[0]) >= this.level, ); this.level = level; } diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 061a6d3a194..63955b02de8 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -8,7 +8,7 @@ import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; -import * as Utils from "#app/utils"; +import { randInt, getEnumKeys, isLocal, executeIf, fixedInt, randSeedItem, NumberHolder } from "#app/utils"; import Overrides from "#app/overrides"; import PokemonData from "#app/system/pokemon-data"; import PersistentModifierData from "#app/system/modifier-data"; @@ -37,6 +37,7 @@ import { setSettingGamepad, SettingGamepad, settingGamepadDefaults } from "#app/ import type { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { setSettingKeyboard } from "#app/system/settings/settings-keyboard"; import { TagAddedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena"; +// biome-ignore lint/style/noNamespaceImport: Something weird is going on here and I don't want to touch it import * as Modifier from "#app/modifier/modifier"; import { StatusEffect } from "#enums/status-effect"; import ChallengeData from "#app/system/challenge-data"; @@ -360,8 +361,8 @@ export class GameData { this.loadSettings(); this.loadGamepadSettings(); this.loadMappingConfigs(); - this.trainerId = Utils.randInt(65536); - this.secretId = Utils.randInt(65536); + this.trainerId = randInt(65536); + this.secretId = randInt(65536); this.starterData = {}; this.gameStats = new GameStats(); this.runHistory = {}; @@ -589,7 +590,7 @@ export class GameData { } if (systemData.voucherCounts) { - Utils.getEnumKeys(VoucherType).forEach(key => { + getEnumKeys(VoucherType).forEach(key => { const index = VoucherType[key]; this.voucherCounts[index] = systemData.voucherCounts[index] || 0; }); @@ -617,7 +618,7 @@ export class GameData { * At the moment, only retrievable from locale cache */ async getRunHistoryData(): Promise { - if (!Utils.isLocal) { + if (!isLocal) { /** * Networking Code DO NOT DELETE! * Note: Might have to be migrated to `pokerogue-api.ts` @@ -1035,6 +1036,7 @@ export class GameData { } getSession(slotId: number): Promise { + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: return new Promise(async (resolve, reject) => { if (slotId < 0) { return resolve(null); @@ -1075,6 +1077,7 @@ export class GameData { } loadSession(slotId: number, sessionData?: SessionSaveData): Promise { + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: return new Promise(async (resolve, reject) => { try { const initSessionFromData = async (sessionData: SessionSaveData) => { @@ -1406,7 +1409,7 @@ export class GameData { saveAll(skipVerification = false, sync = false, useCachedSession = false, useCachedSystem = false): Promise { return new Promise(resolve => { - Utils.executeIf(!skipVerification, updateUserInfo).then(success => { + executeIf(!skipVerification, updateUserInfo).then(success => { if (success !== null && !success) { return resolve(false); } @@ -1586,7 +1589,7 @@ export class GameData { } const displayError = (error: string) => - globalScene.ui.showText(error, null, () => globalScene.ui.showText("", 0), Utils.fixedInt(1500)); + globalScene.ui.showText(error, null, () => globalScene.ui.showText("", 0), fixedInt(1500)); dataName = dataName!; // tell TS compiler that dataName is defined! if (!valid) { @@ -1594,7 +1597,7 @@ export class GameData { `Your ${dataName} data could not be loaded. It may be corrupted.`, null, () => globalScene.ui.showText("", 0), - Utils.fixedInt(1500), + fixedInt(1500), ); } @@ -1687,7 +1690,7 @@ export class GameData { () => { const neutralNatures = [Nature.HARDY, Nature.DOCILE, Nature.SERIOUS, Nature.BASHFUL, Nature.QUIRKY]; for (let s = 0; s < defaultStarterSpecies.length; s++) { - defaultStarterNatures.push(Utils.randSeedItem(neutralNatures)); + defaultStarterNatures.push(randSeedItem(neutralNatures)); } }, 0, @@ -2188,7 +2191,7 @@ export class GameData { value = decrementValue(value); } - const cost = new Utils.NumberHolder(value); + const cost = new NumberHolder(value); applyChallenges(ChallengeType.STARTER_COST, speciesId, cost); return cost.value; @@ -2216,7 +2219,7 @@ export class GameData { entry.hatchedCount = 0; } if (!entry.hasOwnProperty("natureAttr") || (entry.caughtAttr && !entry.natureAttr)) { - entry.natureAttr = this.defaultDexData?.[k].natureAttr || 1 << Utils.randInt(25, 1); + entry.natureAttr = this.defaultDexData?.[k].natureAttr || 1 << randInt(25, 1); } } } diff --git a/src/system/game-speed.ts b/src/system/game-speed.ts index d9c48664f80..3df47fafc6c 100644 --- a/src/system/game-speed.ts +++ b/src/system/game-speed.ts @@ -3,7 +3,7 @@ import type FadeIn from "phaser3-rex-plugins/plugins/audio/fade/FadeIn"; import type FadeOut from "phaser3-rex-plugins/plugins/audio/fade/FadeOut"; import type BattleScene from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; -import * as Utils from "../utils"; +import { FixedInt } from "#app/utils"; type FadeInType = typeof FadeIn; type FadeOutType = typeof FadeOut; @@ -11,9 +11,9 @@ type FadeOutType = typeof FadeOut; export function initGameSpeed() { const thisArg = this as BattleScene; - const transformValue = (value: number | Utils.FixedInt): number => { - if (value instanceof Utils.FixedInt) { - return (value as Utils.FixedInt).value; + const transformValue = (value: number | FixedInt): number => { + if (value instanceof FixedInt) { + return (value as FixedInt).value; } return thisArg.gameSpeed === 1 ? value : Math.ceil((value /= thisArg.gameSpeed)); }; diff --git a/src/system/version_migration/version_converter.ts b/src/system/version_migration/version_converter.ts index 4b712609819..1fdb9e93f88 100644 --- a/src/system/version_migration/version_converter.ts +++ b/src/system/version_migration/version_converter.ts @@ -48,12 +48,15 @@ export const settingsMigrators: Readonly = [settingsMigr // import * as vA_B_C from "./versions/vA_B_C"; // --- v1.0.4 (and below) PATCHES --- // +// biome-ignore lint/style/noNamespaceImport: Convenience (TODO: make this a file-wide ignore when Biome supports those) import * as v1_0_4 from "./versions/v1_0_4"; // --- v1.7.0 PATCHES --- // +// biome-ignore lint/style/noNamespaceImport: Convenience import * as v1_7_0 from "./versions/v1_7_0"; // --- v1.8.3 PATCHES --- // +// biome-ignore lint/style/noNamespaceImport: Convenience import * as v1_8_3 from "./versions/v1_8_3"; /** Current game version */ diff --git a/src/ui/abstact-option-select-ui-handler.ts b/src/ui/abstact-option-select-ui-handler.ts index f605f73e171..b360065f61d 100644 --- a/src/ui/abstact-option-select-ui-handler.ts +++ b/src/ui/abstact-option-select-ui-handler.ts @@ -3,7 +3,7 @@ import { TextStyle, addBBCodeTextObject, getTextColor, getTextStyleOptions } fro import { Mode } from "./ui"; import UiHandler from "./ui-handler"; import { addWindow } from "./ui-theme"; -import * as Utils from "../utils"; +import { rgbHexToRgba, fixedInt } from "#app/utils"; import { argbFromRgba } from "@material/material-color-utilities"; import { Button } from "#enums/buttons"; import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText"; @@ -178,8 +178,8 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { itemOverlayIcon.setPositionRelative(this.optionSelectText, 36 * this.scale, 7 + i * (114 * this.scale - 3)); if (option.itemArgs) { - itemIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(option.itemArgs[0]))); - itemOverlayIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(option.itemArgs[1]))); + itemIcon.setTint(argbFromRgba(rgbHexToRgba(option.itemArgs[0]))); + itemOverlayIcon.setTint(argbFromRgba(rgbHexToRgba(option.itemArgs[1]))); } } } @@ -207,7 +207,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { this.blockInput = true; this.optionSelectTextContainer.setAlpha(0.5); this.cursorObj?.setAlpha(0.8); - globalScene.time.delayedCall(Utils.fixedInt(this.config.delay), () => this.unblockInput()); + globalScene.time.delayedCall(fixedInt(this.config.delay), () => this.unblockInput()); } if (this.config?.supportHover) { diff --git a/src/ui/arena-flyout.ts b/src/ui/arena-flyout.ts index 36a44eb5aa0..1eb18a32f98 100644 --- a/src/ui/arena-flyout.ts +++ b/src/ui/arena-flyout.ts @@ -16,7 +16,7 @@ import type { TurnEndEvent } from "../events/battle-scene"; import { BattleSceneEventType } from "../events/battle-scene"; import { ArenaTagType } from "#enums/arena-tag-type"; import TimeOfDayWidget from "./time-of-day-widget"; -import * as Utils from "../utils"; +import { toCamelCaseString, formatText, fixedInt } from "#app/utils"; import type { ParseKeys } from "i18next"; import i18next from "i18next"; @@ -47,10 +47,10 @@ export function getFieldEffectText(arenaTagType: string): string { if (!arenaTagType || arenaTagType === ArenaTagType.NONE) { return arenaTagType; } - const effectName = Utils.toCamelCaseString(arenaTagType); + const effectName = toCamelCaseString(arenaTagType); const i18nKey = `arenaFlyout:${effectName}` as ParseKeys; const resultName = i18next.t(i18nKey); - return !resultName || resultName === i18nKey ? Utils.formatText(arenaTagType) : resultName; + return !resultName || resultName === i18nKey ? formatText(arenaTagType) : resultName; } export class ArenaFlyout extends Phaser.GameObjects.Container { @@ -411,7 +411,7 @@ export class ArenaFlyout extends Phaser.GameObjects.Container { globalScene.tweens.add({ targets: this.flyoutParent, x: visible ? this.anchorX : this.anchorX - this.translationX, - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 1 : 0, onComplete: () => (this.timeOfDayWidget.parentVisible = visible), diff --git a/src/ui/base-stats-overlay.ts b/src/ui/base-stats-overlay.ts index 5a6c67cae7b..d0b0aff3a9d 100644 --- a/src/ui/base-stats-overlay.ts +++ b/src/ui/base-stats-overlay.ts @@ -1,7 +1,7 @@ import type { InfoToggle } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { addWindow } from "./ui-theme"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; @@ -93,7 +93,7 @@ export class BaseStatsOverlay extends Phaser.GameObjects.Container implements In } globalScene.tweens.add({ targets: this.statsLabels, - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 1 : 0, }); diff --git a/src/ui/battle-flyout.ts b/src/ui/battle-flyout.ts index 206546ad9cb..854f4cc4dd9 100644 --- a/src/ui/battle-flyout.ts +++ b/src/ui/battle-flyout.ts @@ -1,6 +1,6 @@ import type { default as Pokemon } from "../field/pokemon"; import { addTextObject, TextStyle } from "./text"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import { globalScene } from "#app/global-scene"; import type Move from "#app/data/moves/move"; import type { BerryUsedEvent, MoveUsedEvent } from "../events/battle-scene"; @@ -201,7 +201,7 @@ export default class BattleFlyout extends Phaser.GameObjects.Container { globalScene.tweens.add({ targets: this.flyoutParent, x: visible ? this.anchorX : this.anchorX - this.translationX, - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 1 : 0, }); diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index ab006269d4e..2b205329ab8 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -1,6 +1,6 @@ import type { EnemyPokemon, default as Pokemon } from "../field/pokemon"; import { getLevelTotalExp, getLevelRelExp } from "../data/exp"; -import * as Utils from "../utils"; +import { getLocalizedSpriteKey, fixedInt } from "#app/utils"; import { addTextObject, TextStyle } from "./text"; import { getGenderSymbol, getGenderColor, Gender } from "../data/gender"; import { StatusEffect } from "#enums/status-effect"; @@ -163,7 +163,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.splicedIcon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 12, 15), Phaser.Geom.Rectangle.Contains); this.add(this.splicedIcon); - this.statusIndicator = globalScene.add.sprite(0, 0, Utils.getLocalizedSpriteKey("statuses")); + this.statusIndicator = globalScene.add.sprite(0, 0, getLocalizedSpriteKey("statuses")); this.statusIndicator.setName("icon_status"); this.statusIndicator.setVisible(false); this.statusIndicator.setOrigin(0, 0); @@ -536,7 +536,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { toggleStats(visible: boolean): void { globalScene.tweens.add({ targets: this.statsContainer, - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 1 : 0, }); diff --git a/src/ui/bgm-bar.ts b/src/ui/bgm-bar.ts index 45ed766c7fa..d944453ba2c 100644 --- a/src/ui/bgm-bar.ts +++ b/src/ui/bgm-bar.ts @@ -1,6 +1,6 @@ import { addTextObject, TextStyle } from "./text"; import i18next from "i18next"; -import * as Utils from "#app/utils"; +import { formatText } from "#app/utils"; import { globalScene } from "#app/global-scene"; const hiddenX = -150; @@ -100,7 +100,7 @@ export default class BgmBar extends Phaser.GameObjects.Container { getRealBgmName(bgmName: string): string { return i18next.t([`bgmName:${bgmName}`, "bgmName:missing_entries"], { - name: Utils.formatText(bgmName), + name: formatText(bgmName), }); } } diff --git a/src/ui/candy-bar.ts b/src/ui/candy-bar.ts index ba85ed7fef3..0cf3e0c91e9 100644 --- a/src/ui/candy-bar.ts +++ b/src/ui/candy-bar.ts @@ -2,7 +2,7 @@ import { starterColors } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject } from "./text"; import { argbFromRgba } from "@material/material-color-utilities"; -import * as Utils from "../utils"; +import { rgbHexToRgba } from "#app/utils"; import type { Species } from "#enums/species"; export default class CandyBar extends Phaser.GameObjects.Container { @@ -60,8 +60,8 @@ export default class CandyBar extends Phaser.GameObjects.Container { const colorScheme = starterColors[starterSpeciesId]; - this.candyIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[0]))); - this.candyOverlayIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[1]))); + this.candyIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[0]))); + this.candyOverlayIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[1]))); this.countText.setText( `${globalScene.gameData.starterData[starterSpeciesId].candyCount + count} (+${count.toString()})`, diff --git a/src/ui/challenges-select-ui-handler.ts b/src/ui/challenges-select-ui-handler.ts index 61989cd594e..caffede2487 100644 --- a/src/ui/challenges-select-ui-handler.ts +++ b/src/ui/challenges-select-ui-handler.ts @@ -5,7 +5,7 @@ import { addWindow } from "./ui-theme"; import { Button } from "#enums/buttons"; import i18next from "i18next"; import type { Challenge } from "#app/data/challenge"; -import * as Utils from "../utils"; +import { getLocalizedSpriteKey } from "#app/utils"; import { Challenges } from "#app/enums/challenges"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { Color, ShadowColor } from "#app/enums/color"; @@ -193,7 +193,7 @@ export default class GameChallengesUiHandler extends UiHandler { }; } - this.monoTypeValue = globalScene.add.sprite(8, 98, Utils.getLocalizedSpriteKey("types")); + this.monoTypeValue = globalScene.add.sprite(8, 98, getLocalizedSpriteKey("types")); this.monoTypeValue.setName("challenge-value-monotype-sprite"); this.monoTypeValue.setScale(0.86); this.monoTypeValue.setVisible(false); diff --git a/src/ui/char-sprite.ts b/src/ui/char-sprite.ts index 74c021a65b8..f717927c107 100644 --- a/src/ui/char-sprite.ts +++ b/src/ui/char-sprite.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import * as Utils from "../utils"; +import { MissingTextureKey } from "#app/utils"; export default class CharSprite extends Phaser.GameObjects.Container { private sprite: Phaser.GameObjects.Sprite; @@ -57,7 +57,7 @@ export default class CharSprite extends Phaser.GameObjects.Container { }, }); - this.setVisible(globalScene.textures.get(key).key !== Utils.MissingTextureKey); + this.setVisible(globalScene.textures.get(key).key !== MissingTextureKey); this.shown = true; this.key = key; diff --git a/src/ui/daily-run-scoreboard.ts b/src/ui/daily-run-scoreboard.ts index 53c737898e7..896f2171676 100644 --- a/src/ui/daily-run-scoreboard.ts +++ b/src/ui/daily-run-scoreboard.ts @@ -1,6 +1,6 @@ import i18next from "i18next"; import { globalScene } from "#app/global-scene"; -import * as Utils from "../utils"; +import { getEnumKeys, executeIf } from "#app/utils"; import { TextStyle, addTextObject } from "./text"; import { WindowVariant, addWindow } from "./ui-theme"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; @@ -89,7 +89,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container { this.prevCategoryButton.setInteractive(new Phaser.Geom.Rectangle(0, 0, 6, 10), Phaser.Geom.Rectangle.Contains); this.prevCategoryButton.on("pointerup", () => { - this.update(this.category ? this.category - 1 : Utils.getEnumKeys(ScoreboardCategory).length - 1); + this.update(this.category ? this.category - 1 : getEnumKeys(ScoreboardCategory).length - 1); }); this.nextCategoryButton = globalScene.add.sprite(window.displayWidth - 4, 4, "cursor"); @@ -98,7 +98,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container { this.nextCategoryButton.setInteractive(new Phaser.Geom.Rectangle(0, 0, 6, 10), Phaser.Geom.Rectangle.Contains); this.nextCategoryButton.on("pointerup", () => { - this.update(this.category < Utils.getEnumKeys(ScoreboardCategory).length - 1 ? this.category + 1 : 0); + this.update(this.category < getEnumKeys(ScoreboardCategory).length - 1 ? this.category + 1 : 0); }); this.prevPageButton = globalScene.add.sprite( @@ -226,7 +226,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container { this.page = page = 1; } - Utils.executeIf(category !== this.category || this.pageCount === undefined, () => + executeIf(category !== this.category || this.pageCount === undefined, () => pokerogueApi.daily.getRankingsPageCount({ category }).then(count => (this.pageCount = count)), ) .then(() => { diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts index cb6a474f01d..956a308448b 100644 --- a/src/ui/egg-gacha-ui-handler.ts +++ b/src/ui/egg-gacha-ui-handler.ts @@ -1,7 +1,7 @@ import { Mode } from "./ui"; import { TextStyle, addTextObject, getEggTierTextTint, getTextStyleOptions } from "./text"; import MessageUiHandler from "./message-ui-handler"; -import * as Utils from "../utils"; +import { getEnumValues, getEnumKeys, fixedInt, randSeedShuffle } from "#app/utils"; import type { IEggOptions } from "../data/egg"; import { Egg, getLegendaryGachaSpeciesForTimestamp } from "../data/egg"; import { VoucherType, getVoucherTypeIcon } from "../system/voucher"; @@ -83,7 +83,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { }); } - Utils.getEnumValues(GachaType).forEach((gachaType, g) => { + getEnumValues(GachaType).forEach((gachaType, g) => { const gachaTypeKey = GachaType[gachaType].toString().toLowerCase(); const gachaContainer = globalScene.add.container(180 * g, 18); @@ -272,7 +272,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { this.eggGachaContainer.add(this.eggGachaOptionsContainer); - new Array(Utils.getEnumKeys(VoucherType).length).fill(null).map((_, i) => { + new Array(getEnumKeys(VoucherType).length).fill(null).map((_, i) => { const container = globalScene.add.container(globalScene.game.canvas.width / 6 - 56 * i, 0); const bg = addWindow(0, 0, 56, 22); @@ -355,7 +355,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { if (this.transitioning && this.transitionCancelled) { delay = Math.ceil(delay / 5); } - return Utils.fixedInt(delay); + return fixedInt(delay); } pull(pullCount = 0, count = 0, eggs?: Egg[]): void { @@ -476,7 +476,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { eggs.push(egg); } // Shuffle the eggs in case the guaranteed one got added as last egg - eggs = Utils.randSeedShuffle(eggs); + eggs = randSeedShuffle(eggs); (globalScene.currentBattle ? globalScene.gameData.saveAll(true, true, true) @@ -643,7 +643,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { } showError(text: string): void { - this.showText(text, undefined, () => this.showText(this.defaultText), Utils.fixedInt(1500)); + this.showText(text, undefined, () => this.showText(this.defaultText), fixedInt(1500)); } setTransitioning(transitioning: boolean): void { @@ -783,7 +783,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { } break; case Button.RIGHT: - if (this.gachaCursor < Utils.getEnumKeys(GachaType).length - 1) { + if (this.gachaCursor < getEnumKeys(GachaType).length - 1) { success = this.setGachaCursor(this.gachaCursor + 1); } break; diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 9f76e85f228..3775dbc2228 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -6,7 +6,7 @@ import { PokemonType } from "#enums/pokemon-type"; import { Command } from "./command-ui-handler"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import * as Utils from "../utils"; +import { getLocalizedSpriteKey, fixedInt, padInt } from "#app/utils"; import { MoveCategory } from "#enums/MoveCategory"; import i18next from "i18next"; import { Button } from "#enums/buttons"; @@ -54,7 +54,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { this.typeIcon = globalScene.add.sprite( globalScene.scaledCanvas.width - 57, -36, - Utils.getLocalizedSpriteKey("types"), + getLocalizedSpriteKey("types"), "unknown", ); this.typeIcon.setVisible(false); @@ -199,7 +199,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { } globalScene.tweens.add({ targets: [this.movesContainer, this.cursorObj], - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 0 : 1, }); @@ -245,7 +245,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { if (hasMove) { const pokemonMove = moveset[cursor]; const moveType = pokemon.getMoveType(pokemonMove.getMove()); - const textureKey = Utils.getLocalizedSpriteKey("types"); + const textureKey = getLocalizedSpriteKey("types"); this.typeIcon.setTexture(textureKey, PokemonType[moveType].toLowerCase()).setScale(0.8); const moveCategory = pokemonMove.getMove().category; @@ -255,8 +255,8 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { const maxPP = pokemonMove.getMovePp(); const pp = maxPP - pokemonMove.ppUsed; - const ppLeftStr = Utils.padInt(pp, 2, " "); - const ppMaxStr = Utils.padInt(maxPP, 2, " "); + const ppLeftStr = padInt(pp, 2, " "); + const ppMaxStr = padInt(maxPP, 2, " "); this.ppText.setText(`${ppLeftStr}/${ppMaxStr}`); this.powerText.setText(`${power >= 0 ? power : "---"}`); this.accuracyText.setText(`${accuracy >= 0 ? accuracy : "---"}`); diff --git a/src/ui/form-modal-ui-handler.ts b/src/ui/form-modal-ui-handler.ts index 8784145acd6..e27b2e9ed89 100644 --- a/src/ui/form-modal-ui-handler.ts +++ b/src/ui/form-modal-ui-handler.ts @@ -4,7 +4,7 @@ import type { Mode } from "./ui"; import { TextStyle, addTextInputObject, addTextObject } from "./text"; import { WindowVariant, addWindow } from "./ui-theme"; import type InputText from "phaser3-rex-plugins/plugins/inputtext"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import { Button } from "#enums/buttons"; import { globalScene } from "#app/global-scene"; @@ -135,7 +135,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler { this.tween = globalScene.tweens.add({ targets: this.modalContainer, - duration: Utils.fixedInt(1000), + duration: fixedInt(1000), ease: "Sine.easeInOut", y: "-=24", alpha: 1, diff --git a/src/ui/game-stats-ui-handler.ts b/src/ui/game-stats-ui-handler.ts index 7d3decf0c4c..2e2112dfda4 100644 --- a/src/ui/game-stats-ui-handler.ts +++ b/src/ui/game-stats-ui-handler.ts @@ -3,7 +3,7 @@ import { TextStyle, addTextObject } from "#app/ui/text"; import type { Mode } from "#app/ui/ui"; import UiHandler from "#app/ui/ui-handler"; import { addWindow } from "#app/ui/ui-theme"; -import * as Utils from "#app/utils"; +import { getPlayTimeString, formatFancyLargeNumber, toReadableString } from "#app/utils"; import type { GameData } from "#app/system/game-data"; import { DexAttr } from "#app/system/game-data"; import { speciesStarterCosts } from "#app/data/balance/starters"; @@ -25,7 +25,7 @@ interface DisplayStats { const displayStats: DisplayStats = { playTime: { label_key: "playTime", - sourceFunc: gameData => Utils.getPlayTimeString(gameData.gameStats.playTime), + sourceFunc: gameData => getPlayTimeString(gameData.gameStats.playTime), }, battles: { label_key: "totalBattles", @@ -91,7 +91,7 @@ const displayStats: DisplayStats = { }, highestMoney: { label_key: "highestMoney", - sourceFunc: gameData => Utils.formatFancyLargeNumber(gameData.gameStats.highestMoney), + sourceFunc: gameData => formatFancyLargeNumber(gameData.gameStats.highestMoney), }, highestDamage: { label_key: "highestDamage", @@ -435,7 +435,7 @@ export function initStatsKeys() { } if (!(displayStats[key] as DisplayStat).label_key) { const splittableKey = key.replace(/([a-z]{2,})([A-Z]{1}(?:[^A-Z]|$))/g, "$1_$2"); - (displayStats[key] as DisplayStat).label_key = Utils.toReadableString( + (displayStats[key] as DisplayStat).label_key = toReadableString( `${splittableKey[0].toUpperCase()}${splittableKey.slice(1)}`, ); } diff --git a/src/ui/login-form-ui-handler.ts b/src/ui/login-form-ui-handler.ts index 1087ffa3fd1..5c009357443 100644 --- a/src/ui/login-form-ui-handler.ts +++ b/src/ui/login-form-ui-handler.ts @@ -1,7 +1,7 @@ import type { InputFieldConfig } from "./form-modal-ui-handler"; import { FormModalUiHandler } from "./form-modal-ui-handler"; import type { ModalConfig } from "./modal-ui-handler"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import { Mode } from "./ui"; import i18next from "i18next"; import { addTextObject, TextStyle } from "./text"; @@ -283,7 +283,7 @@ export default class LoginFormUiHandler extends FormModalUiHandler { this.externalPartyContainer.setAlpha(0); globalScene.tweens.add({ targets: this.externalPartyContainer, - duration: Utils.fixedInt(1000), + duration: fixedInt(1000), ease: "Sine.easeInOut", y: "-=24", alpha: 1, @@ -292,7 +292,7 @@ export default class LoginFormUiHandler extends FormModalUiHandler { this.infoContainer.setAlpha(0); globalScene.tweens.add({ targets: this.infoContainer, - duration: Utils.fixedInt(1000), + duration: fixedInt(1000), ease: "Sine.easeInOut", y: "-=24", alpha: 1, diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index b83ae24c9e0..241ddbb91a8 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -2,7 +2,7 @@ import { bypassLogin } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject, getTextStyleOptions } from "./text"; import { Mode } from "./ui"; -import * as Utils from "../utils"; +import { getEnumKeys, isLocal, isBeta, fixedInt, getCookie, sessionIdKey } from "#app/utils"; import { addWindow, WindowVariant } from "./ui-theme"; import MessageUiHandler from "./message-ui-handler"; import type { OptionSelectConfig, OptionSelectItem } from "./abstact-option-select-ui-handler"; @@ -75,7 +75,7 @@ export default class MenuUiHandler extends MessageUiHandler { { condition: bypassLogin, options: [MenuOptions.LOG_OUT] }, ]; - this.menuOptions = Utils.getEnumKeys(MenuOptions) + this.menuOptions = getEnumKeys(MenuOptions) .map(m => Number.parseInt(MenuOptions[m]) as MenuOptions) .filter(m => { return !this.excludedMenus().some(exclusion => exclusion.condition && exclusion.options.includes(m)); @@ -130,7 +130,7 @@ export default class MenuUiHandler extends MessageUiHandler { { condition: bypassLogin, options: [MenuOptions.LOG_OUT] }, ]; - this.menuOptions = Utils.getEnumKeys(MenuOptions) + this.menuOptions = getEnumKeys(MenuOptions) .map(m => Number.parseInt(MenuOptions[m]) as MenuOptions) .filter(m => { return !this.excludedMenus().some(exclusion => exclusion.condition && exclusion.options.includes(m)); @@ -238,7 +238,7 @@ export default class MenuUiHandler extends MessageUiHandler { }); }; - if (Utils.isLocal || Utils.isBeta) { + if (isLocal || isBeta) { manageDataOptions.push({ label: i18next.t("menuUiHandler:importSession"), handler: () => { @@ -292,7 +292,7 @@ export default class MenuUiHandler extends MessageUiHandler { }, keepOpen: true, }); - if (Utils.isLocal || Utils.isBeta) { + if (isLocal || isBeta) { manageDataOptions.push({ label: i18next.t("menuUiHandler:importData"), handler: () => { @@ -328,7 +328,7 @@ export default class MenuUiHandler extends MessageUiHandler { keepOpen: true, }, ); - if (Utils.isLocal || Utils.isBeta) { + if (isLocal || isBeta) { // this should make sure we don't have this option in live manageDataOptions.push({ label: "Test Dialogue", @@ -510,7 +510,7 @@ export default class MenuUiHandler extends MessageUiHandler { this.render(); super.show(args); - this.menuOptions = Utils.getEnumKeys(MenuOptions) + this.menuOptions = getEnumKeys(MenuOptions) .map(m => Number.parseInt(MenuOptions[m]) as MenuOptions) .filter(m => { return !this.excludedMenus().some(exclusion => exclusion.condition && exclusion.options.includes(m)); @@ -574,7 +574,7 @@ export default class MenuUiHandler extends MessageUiHandler { ui.setOverlayMode(Mode.EGG_LIST); success = true; } else { - ui.showText(i18next.t("menuUiHandler:noEggs"), null, () => ui.showText(""), Utils.fixedInt(1500)); + ui.showText(i18next.t("menuUiHandler:noEggs"), null, () => ui.showText(""), fixedInt(1500)); error = true; } break; @@ -607,7 +607,7 @@ export default class MenuUiHandler extends MessageUiHandler { : i18next.t("menuUiHandler:unlinkDiscord"), handler: () => { if (loggedInUser?.discordId === "") { - const token = Utils.getCookie(Utils.sessionIdKey); + const token = getCookie(sessionIdKey); const redirectUri = encodeURIComponent(`${import.meta.env.VITE_SERVER_URL}/auth/discord/callback`); const discordId = import.meta.env.VITE_DISCORD_CLIENT_ID; const discordUrl = `https://discord.com/api/oauth2/authorize?client_id=${discordId}&redirect_uri=${redirectUri}&response_type=code&scope=identify&state=${token}&prompt=none`; @@ -627,7 +627,7 @@ export default class MenuUiHandler extends MessageUiHandler { : i18next.t("menuUiHandler:unlinkGoogle"), handler: () => { if (loggedInUser?.googleId === "") { - const token = Utils.getCookie(Utils.sessionIdKey); + const token = getCookie(sessionIdKey); const redirectUri = encodeURIComponent(`${import.meta.env.VITE_SERVER_URL}/auth/google/callback`); const googleId = import.meta.env.VITE_GOOGLE_CLIENT_ID; const googleUrl = `https://accounts.google.com/o/oauth2/auth?client_id=${googleId}&response_type=code&redirect_uri=${redirectUri}&scope=openid&state=${token}`; diff --git a/src/ui/message-ui-handler.ts b/src/ui/message-ui-handler.ts index e927793e0ab..b57b236531c 100644 --- a/src/ui/message-ui-handler.ts +++ b/src/ui/message-ui-handler.ts @@ -1,6 +1,6 @@ import AwaitableUiHandler from "./awaitable-ui-handler"; import type { Mode } from "./ui"; -import * as Utils from "../utils"; +import { getFrameMs } from "#app/utils"; import { globalScene } from "#app/global-scene"; export default abstract class MessageUiHandler extends AwaitableUiHandler { @@ -183,7 +183,7 @@ export default abstract class MessageUiHandler extends AwaitableUiHandler { if (charDelay) { this.textTimer!.paused = true; // TODO: is the bang correct? globalScene.tweens.addCounter({ - duration: Utils.getFrameMs(charDelay), + duration: getFrameMs(charDelay), onComplete: () => { this.textTimer!.paused = false; // TODO: is the bang correct? advance(); @@ -193,7 +193,7 @@ export default abstract class MessageUiHandler extends AwaitableUiHandler { this.textTimer!.paused = true; globalScene.time.delayedCall(150, () => { globalScene.ui.fadeOut(750).then(() => { - const delay = Utils.getFrameMs(charFade); + const delay = getFrameMs(charFade); globalScene.time.delayedCall(delay, () => { globalScene.ui.fadeIn(500).then(() => { this.textTimer!.paused = false; diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index e5d8f858782..26351d4dbf1 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -10,11 +10,10 @@ import { handleTutorial, Tutorial } from "../tutorial"; import { Button } from "#enums/buttons"; import MoveInfoOverlay from "./move-info-overlay"; import { allMoves } from "../data/moves/move"; -import * as Utils from "./../utils"; +import { formatMoney, NumberHolder } from "#app/utils"; import Overrides from "#app/overrides"; import i18next from "i18next"; import { ShopCursorTarget } from "#app/enums/shop-cursor-target"; -import { NumberHolder } from "./../utils"; import Phaser from "phaser"; import type { PokeballType } from "#enums/pokeball"; @@ -645,7 +644,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler { this.rerollCostText.setVisible(true); const canReroll = globalScene.money >= this.rerollCost; - const formattedMoney = Utils.formatMoney(globalScene.moneyFormat, this.rerollCost); + const formattedMoney = formatMoney(globalScene.moneyFormat, this.rerollCost); this.rerollCostText.setText(i18next.t("modifierSelectUiHandler:rerollCost", { formattedMoney })); this.rerollCostText.setColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED)); @@ -933,7 +932,7 @@ class ModifierOption extends Phaser.GameObjects.Container { const cost = Overrides.WAIVE_ROLL_FEE_OVERRIDE ? 0 : this.modifierTypeOption.cost; const textStyle = cost <= globalScene.money ? TextStyle.MONEY : TextStyle.PARTY_RED; - const formattedMoney = Utils.formatMoney(globalScene.moneyFormat, cost); + const formattedMoney = formatMoney(globalScene.moneyFormat, cost); this.itemCostText.setText(i18next.t("modifierSelectUiHandler:itemCost", { formattedMoney })); this.itemCostText.setColor(getTextColor(textStyle, false, globalScene.uiTheme)); diff --git a/src/ui/move-info-overlay.ts b/src/ui/move-info-overlay.ts index 6fc99beb0ae..bd9fdf00c72 100644 --- a/src/ui/move-info-overlay.ts +++ b/src/ui/move-info-overlay.ts @@ -2,7 +2,7 @@ import type { InfoToggle } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject } from "./text"; import { addWindow } from "./ui-theme"; -import * as Utils from "../utils"; +import { getLocalizedSpriteKey, fixedInt } from "#app/utils"; import type Move from "../data/moves/move"; import { MoveCategory } from "#enums/MoveCategory"; import { PokemonType } from "#enums/pokemon-type"; @@ -120,7 +120,7 @@ export default class MoveInfoOverlay extends Phaser.GameObjects.Container implem valuesBg.setOrigin(0, 0); this.val.add(valuesBg); - this.typ = globalScene.add.sprite(25, EFF_HEIGHT - 35, Utils.getLocalizedSpriteKey("types"), "unknown"); + this.typ = globalScene.add.sprite(25, EFF_HEIGHT - 35, getLocalizedSpriteKey("types"), "unknown"); this.typ.setScale(0.8); this.val.add(this.typ); @@ -175,7 +175,7 @@ export default class MoveInfoOverlay extends Phaser.GameObjects.Container implem this.pow.setText(move.power >= 0 ? move.power.toString() : "---"); this.acc.setText(move.accuracy >= 0 ? move.accuracy.toString() : "---"); this.pp.setText(move.pp >= 0 ? move.pp.toString() : "---"); - this.typ.setTexture(Utils.getLocalizedSpriteKey("types"), PokemonType[move.type].toLowerCase()); + this.typ.setTexture(getLocalizedSpriteKey("types"), PokemonType[move.type].toLowerCase()); this.cat.setFrame(MoveCategory[move.category].toLowerCase()); this.desc.setText(move?.effect || ""); @@ -193,10 +193,10 @@ export default class MoveInfoOverlay extends Phaser.GameObjects.Container implem // generate scrolling effects this.descScroll = globalScene.tweens.add({ targets: this.desc, - delay: Utils.fixedInt(2000), + delay: fixedInt(2000), loop: -1, - hold: Utils.fixedInt(2000), - duration: Utils.fixedInt((moveDescriptionLineCount - 3) * 2000), + hold: fixedInt(2000), + duration: fixedInt((moveDescriptionLineCount - 3) * 2000), y: `-=${14.83 * (72 / 96) * (moveDescriptionLineCount - 3)}`, }); } @@ -219,7 +219,7 @@ export default class MoveInfoOverlay extends Phaser.GameObjects.Container implem } globalScene.tweens.add({ targets: this.desc, - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 1 : 0, }); diff --git a/src/ui/mystery-encounter-ui-handler.ts b/src/ui/mystery-encounter-ui-handler.ts index 87d2e2ba28c..2bf05302c55 100644 --- a/src/ui/mystery-encounter-ui-handler.ts +++ b/src/ui/mystery-encounter-ui-handler.ts @@ -6,8 +6,7 @@ import { addWindow, WindowVariant } from "./ui-theme"; import type { MysteryEncounterPhase } from "../phases/mystery-encounter-phases"; import { PartyUiMode } from "./party-ui-handler"; import type MysteryEncounterOption from "#app/data/mystery-encounters/mystery-encounter-option"; -import * as Utils from "../utils"; -import { isNullOrUndefined } from "../utils"; +import { fixedInt, isNullOrUndefined } from "#app/utils"; import { getPokeballAtlasKey } from "../data/pokeball"; import type { OptionSelectSettings } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; @@ -456,10 +455,10 @@ export default class MysteryEncounterUiHandler extends UiHandler { if (optionTextWidth > nonScrollWidth) { this.optionScrollTweens[i] = globalScene.tweens.add({ targets: optionText, - delay: Utils.fixedInt(2000), + delay: fixedInt(2000), loop: -1, - hold: Utils.fixedInt(2000), - duration: Utils.fixedInt(((optionTextWidth - nonScrollWidth) / 15) * 2000), + hold: fixedInt(2000), + duration: fixedInt(((optionTextWidth - nonScrollWidth) / 15) * 2000), x: `-=${optionTextWidth - nonScrollWidth}`, }); } @@ -527,10 +526,10 @@ export default class MysteryEncounterUiHandler extends UiHandler { if (descriptionLineCount > 6) { this.descriptionScrollTween = globalScene.tweens.add({ targets: descriptionTextObject, - delay: Utils.fixedInt(2000), + delay: fixedInt(2000), loop: -1, - hold: Utils.fixedInt(2000), - duration: Utils.fixedInt((descriptionLineCount - 6) * 2000), + hold: fixedInt(2000), + duration: fixedInt((descriptionLineCount - 6) * 2000), y: `-=${10 * (descriptionLineCount - 6)}`, }); } @@ -637,10 +636,10 @@ export default class MysteryEncounterUiHandler extends UiHandler { if (tooltipLineCount > 3) { this.tooltipScrollTween = globalScene.tweens.add({ targets: tooltipTextObject, - delay: Utils.fixedInt(1200), + delay: fixedInt(1200), loop: -1, - hold: Utils.fixedInt(1200), - duration: Utils.fixedInt((tooltipLineCount - 3) * 1200), + hold: fixedInt(1200), + duration: fixedInt((tooltipLineCount - 3) * 1200), y: `-=${11.2 * (tooltipLineCount - 3)}`, }); } diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index ebaccc515c1..61a98d79fbb 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -5,7 +5,7 @@ import { addBBCodeTextObject, addTextObject, getTextColor, TextStyle } from "#ap import { Command } from "#app/ui/command-ui-handler"; import MessageUiHandler from "#app/ui/message-ui-handler"; import { Mode } from "#app/ui/ui"; -import * as Utils from "#app/utils"; +import { BooleanHolder, toReadableString, randInt, getLocalizedSpriteKey } from "#app/utils"; import { PokemonFormChangeItemModifier, PokemonHeldItemModifier, @@ -215,7 +215,7 @@ export default class PartyUiHandler extends MessageUiHandler { * @returns */ private FilterChallengeLegal = (pokemon: PlayerPokemon) => { - const challengeAllowed = new Utils.BooleanHolder(true); + const challengeAllowed = new BooleanHolder(true); applyChallenges(ChallengeType.POKEMON_IN_BATTLE, pokemon, challengeAllowed); if (!challengeAllowed.value) { return i18next.t("partyUiHandler:cantBeUsed", { @@ -1201,7 +1201,7 @@ export default class PartyUiHandler extends MessageUiHandler { if (this.localizedOptions.includes(option)) { optionName = i18next.t(`partyUiHandler:${PartyOption[option]}`); } else { - optionName = Utils.toReadableString(PartyOption[option]); + optionName = toReadableString(PartyOption[option]); } } break; @@ -1309,7 +1309,7 @@ export default class PartyUiHandler extends MessageUiHandler { } getReleaseMessage(pokemonName: string): string { - const rand = Utils.randInt(128); + const rand = randInt(128); if (rand < 20) { return i18next.t("partyUiHandler:goodbye", { pokemonName: pokemonName }); } @@ -1566,7 +1566,7 @@ class PartySlot extends Phaser.GameObjects.Container { } if (this.pokemon.status) { - const statusIndicator = globalScene.add.sprite(0, 0, Utils.getLocalizedSpriteKey("statuses")); + const statusIndicator = globalScene.add.sprite(0, 0, getLocalizedSpriteKey("statuses")); statusIndicator.setFrame(StatusEffect[this.pokemon.status?.effect].toLowerCase()); statusIndicator.setOrigin(0, 0); statusIndicator.setPositionRelative(slotLevelLabel, this.slotIndex >= battlerCount ? 43 : 55, 0); diff --git a/src/ui/pokedex-info-overlay.ts b/src/ui/pokedex-info-overlay.ts index 7dfa3745cb7..43e9bbc1a65 100644 --- a/src/ui/pokedex-info-overlay.ts +++ b/src/ui/pokedex-info-overlay.ts @@ -1,7 +1,7 @@ import type { InfoToggle } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { addWindow } from "./ui-theme"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; @@ -128,10 +128,10 @@ export default class PokedexInfoOverlay extends Phaser.GameObjects.Container imp // generate scrolling effects this.descScroll = globalScene.tweens.add({ targets: this.desc, - delay: Utils.fixedInt(2000), + delay: fixedInt(2000), loop: -1, - hold: Utils.fixedInt(2000), - duration: Utils.fixedInt((lineCount - 3) * 2000), + hold: fixedInt(2000), + duration: fixedInt((lineCount - 3) * 2000), y: `-=${14.83 * (72 / 96) * (lineCount - 3)}`, }); } @@ -154,7 +154,7 @@ export default class PokedexInfoOverlay extends Phaser.GameObjects.Container imp } globalScene.tweens.add({ targets: this.desc, - duration: Utils.fixedInt(125), + duration: fixedInt(125), ease: "Sine.easeInOut", alpha: visible ? 1 : 0, }); diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index eede346f052..407ebfcd843 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -54,7 +54,7 @@ import { toReadableString, } from "#app/utils"; import type { Nature } from "#enums/nature"; -import * as Utils from "../utils"; +import { getEnumKeys } from "#app/utils"; import { speciesTmMoves } from "#app/data/balance/tms"; import type { BiomeTierTod } from "#app/data/balance/biomes"; import { BiomePoolTier, catchableSpecies } from "#app/data/balance/biomes"; @@ -592,7 +592,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.menuContainer.setVisible(false); - this.menuOptions = Utils.getEnumKeys(MenuOptions).map(m => Number.parseInt(MenuOptions[m]) as MenuOptions); + this.menuOptions = getEnumKeys(MenuOptions).map(m => Number.parseInt(MenuOptions[m]) as MenuOptions); this.optionSelectText = addBBCodeTextObject( 0, @@ -696,7 +696,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.starterAttributes = this.initStarterPrefs(); - this.menuOptions = Utils.getEnumKeys(MenuOptions).map(m => Number.parseInt(MenuOptions[m]) as MenuOptions); + this.menuOptions = getEnumKeys(MenuOptions).map(m => Number.parseInt(MenuOptions[m]) as MenuOptions); this.menuContainer.setVisible(true); diff --git a/src/ui/pokemon-hatch-info-container.ts b/src/ui/pokemon-hatch-info-container.ts index 99940b92351..692f0f1d374 100644 --- a/src/ui/pokemon-hatch-info-container.ts +++ b/src/ui/pokemon-hatch-info-container.ts @@ -1,7 +1,7 @@ import PokemonInfoContainer from "#app/ui/pokemon-info-container"; import { Gender } from "#app/data/gender"; import { PokemonType } from "#enums/pokemon-type"; -import * as Utils from "#app/utils"; +import { rgbHexToRgba, padInt } from "#app/utils"; import { TextStyle, addTextObject } from "#app/ui/text"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { allMoves } from "#app/data/moves/move"; @@ -154,14 +154,14 @@ export default class PokemonHatchInfoContainer extends PokemonInfoContainer { super.show(pokemon, false, 1, hatchInfo.getDex(), hatchInfo.getStarterEntry(), true); const colorScheme = starterColors[species.speciesId]; - this.pokemonCandyIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[0]))); + this.pokemonCandyIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[0]))); this.pokemonCandyIcon.setVisible(true); - this.pokemonCandyOverlayIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[1]))); + this.pokemonCandyOverlayIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[1]))); this.pokemonCandyOverlayIcon.setVisible(true); this.pokemonCandyCountText.setText(`x${globalScene.gameData.starterData[species.speciesId].candyCount}`); this.pokemonCandyCountText.setVisible(true); - this.pokemonNumberText.setText(Utils.padInt(species.speciesId, 4)); + this.pokemonNumberText.setText(padInt(species.speciesId, 4)); this.pokemonNameText.setText(species.name); const hasEggMoves = species && speciesEggMoves.hasOwnProperty(species.speciesId); diff --git a/src/ui/pokemon-icon-anim-handler.ts b/src/ui/pokemon-icon-anim-handler.ts index c84ee2a0f9a..b6944c0fd84 100644 --- a/src/ui/pokemon-icon-anim-handler.ts +++ b/src/ui/pokemon-icon-anim-handler.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; export enum PokemonIconAnimMode { NONE, @@ -27,7 +27,7 @@ export default class PokemonIconAnimHandler { } }; globalScene.tweens.addCounter({ - duration: Utils.fixedInt(200), + duration: fixedInt(200), from: 0, to: 1, yoyo: true, diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 1c880f6aec9..0ccece46ab9 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -8,7 +8,7 @@ import type Pokemon from "../field/pokemon"; import i18next from "i18next"; import type { DexEntry, StarterDataEntry } from "../system/game-data"; import { DexAttr } from "../system/game-data"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import ConfirmUiHandler from "./confirm-ui-handler"; import { StatsContainer } from "./stats-container"; import { TextStyle, addBBCodeTextObject, addTextObject, getTextColor } from "./text"; @@ -393,7 +393,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { if (!eggInfo) { globalScene.tweens.add({ targets: this, - duration: Utils.fixedInt(Math.floor(750 / speedMultiplier)), + duration: fixedInt(Math.floor(750 / speedMultiplier)), ease: "Cubic.easeInOut", x: this.initialX - this.infoWindowWidth, onComplete: () => { @@ -403,9 +403,9 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { if (showMoves) { globalScene.tweens.add({ - delay: Utils.fixedInt(Math.floor(325 / speedMultiplier)), + delay: fixedInt(Math.floor(325 / speedMultiplier)), targets: this.pokemonMovesContainer, - duration: Utils.fixedInt(Math.floor(325 / speedMultiplier)), + duration: fixedInt(Math.floor(325 / speedMultiplier)), ease: "Cubic.easeInOut", x: this.movesContainerInitialX - 57, onComplete: () => resolve(), @@ -463,7 +463,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { return new Promise(resolve => { globalScene.tweens.add({ targets: this, - duration: Utils.fixedInt(Math.floor(150 / speedMultiplier)), + duration: fixedInt(Math.floor(150 / speedMultiplier)), ease: "Cubic.easeInOut", x: xPosition, onComplete: () => { @@ -482,14 +482,14 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { globalScene.tweens.add({ targets: this.pokemonMovesContainer, - duration: Utils.fixedInt(Math.floor(750 / speedMultiplier)), + duration: fixedInt(Math.floor(750 / speedMultiplier)), ease: "Cubic.easeInOut", x: this.movesContainerInitialX, }); globalScene.tweens.add({ targets: this, - duration: Utils.fixedInt(Math.floor(750 / speedMultiplier)), + duration: fixedInt(Math.floor(750 / speedMultiplier)), ease: "Cubic.easeInOut", x: this.initialX, onComplete: () => { diff --git a/src/ui/run-history-ui-handler.ts b/src/ui/run-history-ui-handler.ts index 85ea1e93e8d..ffc9d378d18 100644 --- a/src/ui/run-history-ui-handler.ts +++ b/src/ui/run-history-ui-handler.ts @@ -3,7 +3,7 @@ import { GameModes } from "../game-mode"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; import { addWindow } from "./ui-theme"; -import * as Utils from "../utils"; +import { fixedInt, formatLargeNumber } from "#app/utils"; import type PokemonData from "../system/pokemon-data"; import MessageUiHandler from "./message-ui-handler"; import i18next from "i18next"; @@ -218,7 +218,7 @@ export default class RunHistoryUiHandler extends MessageUiHandler { globalScene.tweens.add({ targets: this.runsContainer, y: this.runContainerInitialY - 56 * scrollCursor, - duration: Utils.fixedInt(325), + duration: fixedInt(325), ease: "Sine.easeInOut", }); } @@ -314,7 +314,7 @@ class RunEntryContainer extends Phaser.GameObjects.Container { const enemyLevel = addTextObject( 32, 20, - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(enemy.level, 1000)}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatLargeNumber(enemy.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" }, ); @@ -408,7 +408,7 @@ class RunEntryContainer extends Phaser.GameObjects.Container { const text = addTextObject( 32, 20, - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(pokemon.level, 1000)}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatLargeNumber(pokemon.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" }, ); diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 8719950381a..47de6a1a64d 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -5,7 +5,7 @@ import { TextStyle, addTextObject, addBBCodeTextObject, getTextColor } from "./t import { Mode } from "./ui"; import { addWindow } from "./ui-theme"; import { getPokeballAtlasKey } from "#app/data/pokeball"; -import * as Utils from "../utils"; +import { formatLargeNumber, getPlayTimeString, formatMoney, formatFancyLargeNumber } from "#app/utils"; import type PokemonData from "../system/pokemon-data"; import i18next from "i18next"; import { Button } from "../enums/buttons"; @@ -19,7 +19,8 @@ import { PokemonType } from "#enums/pokemon-type"; import { TypeColor, TypeShadow } from "#app/enums/color"; import { getNatureStatMultiplier, getNatureName } from "../data/nature"; import { getVariantTint } from "#app/sprites/variant"; -import * as Modifier from "../modifier/modifier"; +// biome-ignore lint/style/noNamespaceImport: See `src/system/game-data.ts` +import * as Modifier from "#app/modifier/modifier"; import type { Species } from "#enums/species"; import { PlayerGender } from "#enums/player-gender"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; @@ -411,7 +412,7 @@ export default class RunInfoUiHandler extends UiHandler { const enemyLevel = addTextObject( 36, 26, - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(enemy.level, 1000)}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatLargeNumber(enemy.level, 1000)}`, enemyLevelStyle, { fontSize: "44px", color: "#f8f8f8" }, ); @@ -441,7 +442,7 @@ export default class RunInfoUiHandler extends UiHandler { const enemyLevel = addTextObject( 36, 26, - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(enemy.level, 1000)}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatLargeNumber(enemy.level, 1000)}`, bossStatus ? TextStyle.PARTY_RED : TextStyle.PARTY, { fontSize: "44px", color: "#f8f8f8" }, ); @@ -527,7 +528,7 @@ export default class RunInfoUiHandler extends UiHandler { const enemyLevel = addTextObject( 43 * (e % 3), 27 * (pokemonRowHeight + 1), - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(enemy.level, 1000)}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatLargeNumber(enemy.level, 1000)}`, isBoss ? TextStyle.PARTY_RED : TextStyle.PARTY, { fontSize: "54px" }, ); @@ -606,9 +607,9 @@ export default class RunInfoUiHandler extends UiHandler { fontSize: "50px", lineSpacing: lineSpacing, }); - const runTime = Utils.getPlayTimeString(this.runInfo.playTime); + const runTime = getPlayTimeString(this.runInfo.playTime); runInfoText.appendText(`${i18next.t("runHistory:runLength")}: ${runTime}`, false); - const runMoney = Utils.formatMoney(globalScene.moneyFormat, this.runInfo.money); + const runMoney = formatMoney(globalScene.moneyFormat, this.runInfo.money); const moneyTextColor = getTextColor(TextStyle.MONEY_WINDOW, false, globalScene.uiTheme); runInfoText.appendText( `[color=${moneyTextColor}]${i18next.t("battleScene:moneyOwned", { formattedMoney: runMoney })}[/color]`, @@ -770,7 +771,7 @@ export default class RunInfoUiHandler extends UiHandler { lineSpacing: lineSpacing, }); pokeInfoText.appendText( - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatFancyLargeNumber(pokemon.level, 1)} - ${pNatureName}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatFancyLargeNumber(pokemon.level, 1)} - ${pNatureName}`, ); pokeInfoText.appendText(pAbilityInfo); pokeInfoText.appendText(pPassiveInfo); @@ -780,7 +781,7 @@ export default class RunInfoUiHandler extends UiHandler { // Colored Arrows (Red/Blue) are placed by stats that are boosted from natures const pokeStatTextContainer = globalScene.add.container(-35, 6); const pStats: string[] = []; - pokemon.stats.forEach(element => pStats.push(Utils.formatFancyLargeNumber(element, 1))); + pokemon.stats.forEach(element => pStats.push(formatFancyLargeNumber(element, 1))); for (let i = 0; i < pStats.length; i++) { const isMult = getNatureStatMultiplier(pNature, i); pStats[i] = isMult < 1 ? pStats[i] + "[color=#40c8f8]↓[/color]" : pStats[i]; diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts index a1e9e5219b4..0c16e41bbef 100644 --- a/src/ui/save-slot-select-ui-handler.ts +++ b/src/ui/save-slot-select-ui-handler.ts @@ -2,10 +2,11 @@ import i18next from "i18next"; import { globalScene } from "#app/global-scene"; import { Button } from "#enums/buttons"; import { GameMode } from "../game-mode"; -import * as Modifier from "../modifier/modifier"; +// biome-ignore lint/style/noNamespaceImport: See `src/system/game-data.ts` +import * as Modifier from "#app/modifier/modifier"; import type { SessionSaveData } from "../system/game-data"; import type PokemonData from "../system/pokemon-data"; -import * as Utils from "../utils"; +import { isNullOrUndefined, fixedInt, getPlayTimeString, formatLargeNumber } from "#app/utils"; import MessageUiHandler from "./message-ui-handler"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; @@ -296,7 +297,7 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { } this.setArrowVisibility(hasData); } - if (!Utils.isNullOrUndefined(prevSlotIndex)) { + if (!isNullOrUndefined(prevSlotIndex)) { this.revertSessionSlot(prevSlotIndex); } @@ -339,7 +340,7 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { globalScene.tweens.add({ targets: this.sessionSlotsContainer, y: this.sessionSlotsContainerInitialY - 56 * scrollCursor, - duration: Utils.fixedInt(325), + duration: fixedInt(325), ease: "Sine.easeInOut", }); } @@ -407,7 +408,7 @@ class SessionSlot extends Phaser.GameObjects.Container { const timestampLabel = addTextObject(8, 19, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW); this.add(timestampLabel); - const playTimeLabel = addTextObject(8, 33, Utils.getPlayTimeString(data.playTime), TextStyle.WINDOW); + const playTimeLabel = addTextObject(8, 33, getPlayTimeString(data.playTime), TextStyle.WINDOW); this.add(playTimeLabel); const pokemonIconsContainer = globalScene.add.container(144, 4); @@ -421,7 +422,7 @@ class SessionSlot extends Phaser.GameObjects.Container { const text = addTextObject( 32, 20, - `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(pokemon.level, 1000)}`, + `${i18next.t("saveSlotSelectUiHandler:lv")}${formatLargeNumber(pokemon.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" }, ); diff --git a/src/ui/saving-icon-handler.ts b/src/ui/saving-icon-handler.ts index 4404ea423b1..3db84f128a1 100644 --- a/src/ui/saving-icon-handler.ts +++ b/src/ui/saving-icon-handler.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; export default class SavingIconHandler extends Phaser.GameObjects.Container { private icon: Phaser.GameObjects.Sprite; @@ -36,10 +36,10 @@ export default class SavingIconHandler extends Phaser.GameObjects.Container { globalScene.tweens.add({ targets: this, alpha: 1, - duration: Utils.fixedInt(250), + duration: fixedInt(250), ease: "Sine.easeInOut", onComplete: () => { - globalScene.time.delayedCall(Utils.fixedInt(500), () => { + globalScene.time.delayedCall(fixedInt(500), () => { this.animActive = false; if (!this.shown) { this.hide(); @@ -64,7 +64,7 @@ export default class SavingIconHandler extends Phaser.GameObjects.Container { globalScene.tweens.add({ targets: this, alpha: 0, - duration: Utils.fixedInt(250), + duration: fixedInt(250), ease: "Sine.easeInOut", onComplete: () => { this.animActive = false; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 3876f2585db..3e2940f45b9 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -43,7 +43,7 @@ import { Egg } from "#app/data/egg"; import Overrides from "#app/overrides"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { Passive as PassiveAttr } from "#enums/passive"; -import * as Challenge from "#app/data/challenge"; +import { applyChallenges, ChallengeType } from "#app/data/challenge"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; import { getEggTierForSpecies } from "#app/data/egg"; import { Device } from "#enums/devices"; @@ -78,7 +78,6 @@ import { import type { Nature } from "#enums/nature"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { achvs } from "#app/system/achv"; -import * as Utils from "../utils"; import type { GameObjects } from "phaser"; import { checkStarterValidForChallenge } from "#app/data/challenge"; @@ -2518,7 +2517,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { case Button.CYCLE_TERA: if (this.canCycleTera) { const speciesForm = getPokemonSpeciesForm(this.lastSpecies.speciesId, starterAttributes.form ?? 0); - if (speciesForm.type1 === this.teraCursor && !Utils.isNullOrUndefined(speciesForm.type2)) { + if (speciesForm.type1 === this.teraCursor && !isNullOrUndefined(speciesForm.type2)) { starterAttributes.tera = speciesForm.type2!; this.setSpeciesDetails(this.lastSpecies, { teraType: speciesForm.type2!, @@ -2960,7 +2959,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { valueLimit.value = 10; } - Challenge.applyChallenges(Challenge.ChallengeType.STARTER_POINTS, valueLimit); + applyChallenges(ChallengeType.STARTER_POINTS, valueLimit); return valueLimit.value; } @@ -3748,7 +3747,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { ); // TODO: is this bang correct? this.abilityCursor = abilityIndex !== undefined ? abilityIndex : (abilityIndex = oldAbilityIndex); this.natureCursor = natureIndex !== undefined ? natureIndex : (natureIndex = oldNatureIndex); - this.teraCursor = !Utils.isNullOrUndefined(teraType) ? teraType : (teraType = species.type1); + this.teraCursor = !isNullOrUndefined(teraType) ? teraType : (teraType = species.type1); const [isInParty, partyIndex]: [boolean, number] = this.isInParty(species); // we use this to firstly check if the pokemon is in the party, and if so, to get the party index in order to update the icon image if (isInParty) { this.updatePartyIcon(species, partyIndex); @@ -3886,7 +3885,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.canCycleTera = !this.statsMode && globalScene.gameData.achvUnlocks.hasOwnProperty(achvs.TERASTALLIZE.id) && - !Utils.isNullOrUndefined(getPokemonSpeciesForm(species.speciesId, formIndex ?? 0).type2); + !isNullOrUndefined(getPokemonSpeciesForm(species.speciesId, formIndex ?? 0).type2); } if (dexEntry.caughtAttr && species.malePercent !== null) { @@ -4483,7 +4482,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.canCycleTera = !this.statsMode && globalScene.gameData.achvUnlocks.hasOwnProperty(achvs.TERASTALLIZE.id) && - !Utils.isNullOrUndefined(getPokemonSpeciesForm(this.lastSpecies.speciesId, formIndex ?? 0).type2); + !isNullOrUndefined(getPokemonSpeciesForm(this.lastSpecies.speciesId, formIndex ?? 0).type2); this.updateInstructions(); } } diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index aa3d014bd95..1e0924aa2c5 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -2,7 +2,16 @@ import { starterColors } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import { Mode } from "#app/ui/ui"; import UiHandler from "#app/ui/ui-handler"; -import * as Utils from "#app/utils"; +import { + getLocalizedSpriteKey, + rgbHexToRgba, + padInt, + getEnumValues, + fixedInt, + isNullOrUndefined, + toReadableString, + formatStat, +} from "#app/utils"; import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters"; import { argbFromRgba } from "@material/material-color-utilities"; @@ -255,7 +264,7 @@ export default class SummaryUiHandler extends UiHandler { this.statusContainer.add(statusLabel); - this.status = globalScene.add.sprite(91, 4, Utils.getLocalizedSpriteKey("statuses")); + this.status = globalScene.add.sprite(91, 4, getLocalizedSpriteKey("statuses")); this.status.setOrigin(0.5, 0); this.statusContainer.add(this.status); @@ -330,10 +339,10 @@ export default class SummaryUiHandler extends UiHandler { this.shinyOverlay.setVisible(this.pokemon.isShiny()); const colorScheme = starterColors[this.pokemon.species.getRootSpeciesId()]; - this.candyIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[0]))); - this.candyOverlay.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[1]))); + this.candyIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[0]))); + this.candyOverlay.setTint(argbFromRgba(rgbHexToRgba(colorScheme[1]))); - this.numberText.setText(Utils.padInt(this.pokemon.species.speciesId, 4)); + this.numberText.setText(padInt(this.pokemon.species.speciesId, 4)); this.numberText.setColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD)); this.numberText.setShadowColor( this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD, true), @@ -600,7 +609,7 @@ export default class SummaryUiHandler extends UiHandler { } success = true; } else { - const pages = Utils.getEnumValues(Page); + const pages = getEnumValues(Page); switch (button) { case Button.UP: case Button.DOWN: { @@ -675,10 +684,10 @@ export default class SummaryUiHandler extends UiHandler { if (moveDescriptionLineCount > 3) { this.descriptionScrollTween = globalScene.tweens.add({ targets: this.moveDescriptionText, - delay: Utils.fixedInt(2000), + delay: fixedInt(2000), loop: -1, - hold: Utils.fixedInt(2000), - duration: Utils.fixedInt((moveDescriptionLineCount - 3) * 2000), + hold: fixedInt(2000), + duration: fixedInt((moveDescriptionLineCount - 3) * 2000), y: `-=${14.83 * (moveDescriptionLineCount - 3)}`, }); } @@ -697,10 +706,10 @@ export default class SummaryUiHandler extends UiHandler { this.moveCursorObj.setVisible(true); this.moveCursorBlinkTimer = globalScene.time.addEvent({ loop: true, - delay: Utils.fixedInt(600), + delay: fixedInt(600), callback: () => { this.moveCursorObj?.setVisible(false); - globalScene.time.delayedCall(Utils.fixedInt(100), () => { + globalScene.time.delayedCall(fixedInt(100), () => { if (!this.moveCursorObj) { return; } @@ -818,7 +827,7 @@ export default class SummaryUiHandler extends UiHandler { const getTypeIcon = (index: number, type: PokemonType, tera = false) => { const xCoord = typeLabel.width * typeLabel.scale + 9 + 34 * index; const typeIcon = !tera - ? globalScene.add.sprite(xCoord, 42, Utils.getLocalizedSpriteKey("types"), PokemonType[type].toLowerCase()) + ? globalScene.add.sprite(xCoord, 42, getLocalizedSpriteKey("types"), PokemonType[type].toLowerCase()) : globalScene.add.sprite(xCoord, 42, "type_tera"); if (tera) { typeIcon.setScale(0.5); @@ -853,7 +862,7 @@ export default class SummaryUiHandler extends UiHandler { if ( globalScene.gameData.achvUnlocks.hasOwnProperty(achvs.TERASTALLIZE.id) && - !Utils.isNullOrUndefined(this.pokemon) + !isNullOrUndefined(this.pokemon) ) { const teraIcon = globalScene.add.sprite(123, 26, "button_tera"); teraIcon.setName("terrastallize-icon"); @@ -925,10 +934,10 @@ export default class SummaryUiHandler extends UiHandler { abilityInfo.descriptionText.setY(69); this.descriptionScrollTween = globalScene.tweens.add({ targets: abilityInfo.descriptionText, - delay: Utils.fixedInt(2000), + delay: fixedInt(2000), loop: -1, - hold: Utils.fixedInt(2000), - duration: Utils.fixedInt((abilityDescriptionLineCount - 2) * 2000), + hold: fixedInt(2000), + duration: fixedInt((abilityDescriptionLineCount - 2) * 2000), y: `-=${14.83 * (abilityDescriptionLineCount - 2)}`, }); } @@ -939,8 +948,8 @@ export default class SummaryUiHandler extends UiHandler { this.passiveContainer?.descriptionText?.setVisible(false); const closeFragment = getBBCodeFrag("", TextStyle.WINDOW_ALT); - const rawNature = Utils.toReadableString(Nature[this.pokemon?.getNature()!]); // TODO: is this bang correct? - const nature = `${getBBCodeFrag(Utils.toReadableString(getNatureName(this.pokemon?.getNature()!)), TextStyle.SUMMARY_RED)}${closeFragment}`; // TODO: is this bang correct? + const rawNature = toReadableString(Nature[this.pokemon?.getNature()!]); // TODO: is this bang correct? + const nature = `${getBBCodeFrag(toReadableString(getNatureName(this.pokemon?.getNature()!)), TextStyle.SUMMARY_RED)}${closeFragment}`; // TODO: is this bang correct? const memoString = i18next.t("pokemonSummary:memoString", { metFragment: i18next.t( @@ -999,8 +1008,8 @@ export default class SummaryUiHandler extends UiHandler { const statValueText = stat !== Stat.HP - ? Utils.formatStat(this.pokemon?.getStat(stat)!) // TODO: is this bang correct? - : `${Utils.formatStat(this.pokemon?.hp!, true)}/${Utils.formatStat(this.pokemon?.getMaxHp()!, true)}`; // TODO: are those bangs correct? + ? formatStat(this.pokemon?.getStat(stat)!) // TODO: is this bang correct? + : `${formatStat(this.pokemon?.hp!, true)}/${formatStat(this.pokemon?.getMaxHp()!, true)}`; // TODO: are those bangs correct? const ivText = `${this.pokemon?.ivs[stat]}/31`; const statValue = addTextObject(93 + 88 * colIndex, 16 * rowIndex, statValueText, TextStyle.WINDOW_ALT); @@ -1106,7 +1115,7 @@ export default class SummaryUiHandler extends UiHandler { this.extraMoveRowContainer.setVisible(true); if (this.newMove && this.pokemon) { - const spriteKey = Utils.getLocalizedSpriteKey("types"); + const spriteKey = getLocalizedSpriteKey("types"); const moveType = this.pokemon.getMoveType(this.newMove); const newMoveTypeIcon = globalScene.add.sprite(0, 0, spriteKey, PokemonType[moveType].toLowerCase()); newMoveTypeIcon.setOrigin(0, 1); @@ -1116,7 +1125,7 @@ export default class SummaryUiHandler extends UiHandler { ppOverlay.setOrigin(0, 1); this.extraMoveRowContainer.add(ppOverlay); - const pp = Utils.padInt(this.newMove?.pp!, 2, " "); // TODO: is this bang correct? + const pp = padInt(this.newMove?.pp!, 2, " "); // TODO: is this bang correct? const ppText = addTextObject(173, 1, `${pp}/${pp}`, TextStyle.WINDOW); ppText.setOrigin(0, 1); this.extraMoveRowContainer.add(ppText); @@ -1132,7 +1141,7 @@ export default class SummaryUiHandler extends UiHandler { this.moveRowsContainer.add(moveRowContainer); if (move && this.pokemon) { - const spriteKey = Utils.getLocalizedSpriteKey("types"); + const spriteKey = getLocalizedSpriteKey("types"); const moveType = this.pokemon.getMoveType(move.getMove()); const typeIcon = globalScene.add.sprite(0, 0, spriteKey, PokemonType[moveType].toLowerCase()); typeIcon.setOrigin(0, 1); @@ -1153,7 +1162,7 @@ export default class SummaryUiHandler extends UiHandler { if (move) { const maxPP = move.getMovePp(); const pp = maxPP - move.ppUsed; - ppText.setText(`${Utils.padInt(pp, 2, " ")}/${Utils.padInt(maxPP, 2, " ")}`); + ppText.setText(`${padInt(pp, 2, " ")}/${padInt(maxPP, 2, " ")}`); } moveRowContainer.add(ppText); diff --git a/src/ui/target-select-ui-handler.ts b/src/ui/target-select-ui-handler.ts index d2f72ef4a4c..a9f88b337f3 100644 --- a/src/ui/target-select-ui-handler.ts +++ b/src/ui/target-select-ui-handler.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "../battle"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import * as Utils from "../utils"; +import { isNullOrUndefined, fixedInt } from "#app/utils"; import { getMoveTargets } from "../data/moves/move"; import { Button } from "#enums/buttons"; import type { Moves } from "#enums/moves"; @@ -70,7 +70,7 @@ export default class TargetSelectUiHandler extends UiHandler { * @param user the Pokemon using the move */ resetCursor(cursorN: number, user: Pokemon): void { - if (!Utils.isNullOrUndefined(cursorN)) { + if (!isNullOrUndefined(cursorN)) { if ([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2].includes(cursorN) || user.battleSummonData.waveTurnCount === 1) { // Reset cursor on the first turn of a fight or if an ally was targeted last turn cursorN = -1; @@ -89,11 +89,11 @@ export default class TargetSelectUiHandler extends UiHandler { this.targetSelectCallback(button === Button.ACTION ? targetIndexes : []); success = true; if (this.fieldIndex === BattlerIndex.PLAYER) { - if (Utils.isNullOrUndefined(this.cursor0) || this.cursor0 !== this.cursor) { + if (isNullOrUndefined(this.cursor0) || this.cursor0 !== this.cursor) { this.cursor0 = this.cursor; } } else if (this.fieldIndex === BattlerIndex.PLAYER_2) { - if (Utils.isNullOrUndefined(this.cursor1) || this.cursor1 !== this.cursor) { + if (isNullOrUndefined(this.cursor1) || this.cursor1 !== this.cursor) { this.cursor1 = this.cursor; } } @@ -152,7 +152,7 @@ export default class TargetSelectUiHandler extends UiHandler { key: { start: 1, to: 0.25 }, loop: -1, loopDelay: 150, - duration: Utils.fixedInt(450), + duration: fixedInt(450), ease: "Sine.easeInOut", yoyo: true, onUpdate: t => { @@ -178,7 +178,7 @@ export default class TargetSelectUiHandler extends UiHandler { targets: [info], y: { start: info.getBaseY(), to: info.getBaseY() + 1 }, loop: -1, - duration: Utils.fixedInt(250), + duration: fixedInt(250), ease: "Linear", yoyo: true, }), diff --git a/src/ui/time-of-day-widget.ts b/src/ui/time-of-day-widget.ts index bda1f750cb1..5e42e6215f8 100644 --- a/src/ui/time-of-day-widget.ts +++ b/src/ui/time-of-day-widget.ts @@ -1,4 +1,4 @@ -import * as Utils from "../utils"; +import { fixedInt } from "#app/utils"; import { globalScene } from "#app/global-scene"; import { BattleSceneEventType } from "../events/battle-scene"; import { EaseType } from "#enums/ease-type"; @@ -75,14 +75,14 @@ export default class TimeOfDayWidget extends Phaser.GameObjects.Container { const rotate = { targets: [this.timeOfDayIconMgs[0], this.timeOfDayIconMgs[1]], angle: "+=90", - duration: Utils.fixedInt(1500), + duration: fixedInt(1500), ease: "Back.easeOut", paused: !this.parentVisible, }; const fade = { targets: [this.timeOfDayIconBgs[1], this.timeOfDayIconMgs[1], this.timeOfDayIconFgs[1]], alpha: 0, - duration: Utils.fixedInt(500), + duration: fixedInt(500), ease: "Linear", paused: !this.parentVisible, }; @@ -98,14 +98,14 @@ export default class TimeOfDayWidget extends Phaser.GameObjects.Container { const bounce = { targets: [this.timeOfDayIconMgs[0], this.timeOfDayIconMgs[1]], angle: "+=90", - duration: Utils.fixedInt(2000), + duration: fixedInt(2000), ease: "Bounce.easeOut", paused: !this.parentVisible, }; const fade = { targets: [this.timeOfDayIconBgs[1], this.timeOfDayIconMgs[1], this.timeOfDayIconFgs[1]], alpha: 0, - duration: Utils.fixedInt(800), + duration: fixedInt(800), ease: "Linear", paused: !this.parentVisible, }; diff --git a/src/ui/title-ui-handler.ts b/src/ui/title-ui-handler.ts index d87d4e5ca79..405e3cc4a27 100644 --- a/src/ui/title-ui-handler.ts +++ b/src/ui/title-ui-handler.ts @@ -1,6 +1,6 @@ import OptionSelectUiHandler from "./settings/option-select-ui-handler"; import { Mode } from "./ui"; -import * as Utils from "../utils"; +import { fixedInt, randInt, randItem } from "#app/utils"; import { TextStyle, addTextObject } from "./text"; import { getSplashMessages } from "../data/splash-messages"; import i18next from "i18next"; @@ -72,7 +72,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { globalScene.tweens.add({ targets: this.splashMessageText, - duration: Utils.fixedInt(350), + duration: fixedInt(350), scale: originalSplashMessageScale * 1.25, loop: -1, yoyo: true, @@ -104,7 +104,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { /** Used solely to display a random Pokémon name in a splash message. */ randomPokemon(): void { - const rand = Utils.randInt(1025, 1); + const rand = randInt(1025, 1); const pokemon = getPokemonSpecies(rand as Species); if ( this.splashMessage === "splashMessages:underratedPokemon" || @@ -132,7 +132,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { // Moving player count to top of the menu this.playerCountLabel.setY(globalScene.game.canvas.height / 6 - 13 - this.getWindowHeight()); - this.splashMessage = Utils.randItem(getSplashMessages()); + this.splashMessage = randItem(getSplashMessages()); this.splashMessageText.setText( i18next.t(this.splashMessage, { count: TitleUiHandler.BATTLES_WON_FALLBACK, @@ -159,7 +159,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { globalScene.tweens.add({ targets: [this.titleContainer, ui.getMessageHandler().bg], - duration: Utils.fixedInt(325), + duration: fixedInt(325), alpha: (target: any) => (target === this.titleContainer ? 1 : 0), ease: "Sine.easeInOut", }); @@ -180,7 +180,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { globalScene.tweens.add({ targets: [this.titleContainer, ui.getMessageHandler().bg], - duration: Utils.fixedInt(325), + duration: fixedInt(325), alpha: (target: any) => (target === this.titleContainer ? 0 : 1), ease: "Sine.easeInOut", }); diff --git a/src/ui/ui.ts b/src/ui/ui.ts index 6605e5ef730..c7981cd5fba 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -28,7 +28,7 @@ import { addWindow } from "./ui-theme"; import LoginFormUiHandler from "./login-form-ui-handler"; import RegistrationFormUiHandler from "./registration-form-ui-handler"; import LoadingModalUiHandler from "./loading-modal-ui-handler"; -import * as Utils from "../utils"; +import { executeIf } from "#app/utils"; import GameStatsUiHandler from "./game-stats-ui-handler"; import AwaitableUiHandler from "./awaitable-ui-handler"; import SaveSlotSelectUiHandler from "./save-slot-select-ui-handler"; @@ -674,7 +674,7 @@ export default class UI extends Phaser.GameObjects.Container { if (!this?.modeChain?.length) { return resolve(); } - this.revertMode().then(success => Utils.executeIf(success, this.revertModes).then(() => resolve())); + this.revertMode().then(success => executeIf(success, this.revertModes).then(() => resolve())); }); } diff --git a/src/ui/unavailable-modal-ui-handler.ts b/src/ui/unavailable-modal-ui-handler.ts index 3007f7247f1..01ed850f6d0 100644 --- a/src/ui/unavailable-modal-ui-handler.ts +++ b/src/ui/unavailable-modal-ui-handler.ts @@ -3,7 +3,7 @@ import { ModalUiHandler } from "./modal-ui-handler"; import { addTextObject, TextStyle } from "./text"; import type { Mode } from "./ui"; import { updateUserInfo } from "#app/account"; -import * as Utils from "#app/utils"; +import { removeCookie, sessionIdKey } from "#app/utils"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; @@ -65,7 +65,7 @@ export default class UnavailableModalUiHandler extends ModalUiHandler { globalScene.playSound("se/pb_bounce_1"); this.reconnectCallback(); } else if (response[1] === 401) { - Utils.removeCookie(Utils.sessionIdKey); + removeCookie(sessionIdKey); globalScene.reset(true, true); } else { this.reconnectDuration = Math.min(this.reconnectDuration * 2, this.maxTime); // Set a max delay so it isn't infinite diff --git a/test/escape-calculations.test.ts b/test/escape-calculations.test.ts index 0cbf11dd230..b4504c7359c 100644 --- a/test/escape-calculations.test.ts +++ b/test/escape-calculations.test.ts @@ -1,7 +1,7 @@ import { AttemptRunPhase } from "#app/phases/attempt-run-phase"; import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { Abilities } from "#enums/abilities"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; @@ -45,7 +45,7 @@ describe("Escape chance calculations", () => { await game.phaseInterceptor.to(AttemptRunPhase, false); const phase = game.scene.getCurrentPhase() as AttemptRunPhase; - const escapePercentage = new Utils.NumberHolder(0); + const escapePercentage = new NumberHolder(0); // this sets up an object for multiple attempts. The pokemonSpeedRatio is your speed divided by the enemy speed, the escapeAttempts are the number of escape attempts and the expectedEscapeChance is the chance it should be escaping const escapeChances: { @@ -118,7 +118,7 @@ describe("Escape chance calculations", () => { await game.phaseInterceptor.to(AttemptRunPhase, false); const phase = game.scene.getCurrentPhase() as AttemptRunPhase; - const escapePercentage = new Utils.NumberHolder(0); + const escapePercentage = new NumberHolder(0); // this sets up an object for multiple attempts. The pokemonSpeedRatio is your speed divided by the enemy speed, the escapeAttempts are the number of escape attempts and the expectedEscapeChance is the chance it should be escaping const escapeChances: { @@ -197,7 +197,7 @@ describe("Escape chance calculations", () => { await game.phaseInterceptor.to(AttemptRunPhase, false); const phase = game.scene.getCurrentPhase() as AttemptRunPhase; - const escapePercentage = new Utils.NumberHolder(0); + const escapePercentage = new NumberHolder(0); // this sets up an object for multiple attempts. The pokemonSpeedRatio is your speed divided by the enemy speed, the escapeAttempts are the number of escape attempts and the expectedEscapeChance is the chance it should be escaping const escapeChances: { @@ -284,7 +284,7 @@ describe("Escape chance calculations", () => { await game.phaseInterceptor.to(AttemptRunPhase, false); const phase = game.scene.getCurrentPhase() as AttemptRunPhase; - const escapePercentage = new Utils.NumberHolder(0); + const escapePercentage = new NumberHolder(0); // this sets up an object for multiple attempts. The pokemonSpeedRatio is your speed divided by the enemy speed, the escapeAttempts are the number of escape attempts and the expectedEscapeChance is the chance it should be escaping const escapeChances: { diff --git a/test/items/exp_booster.test.ts b/test/items/exp_booster.test.ts index e4491b22637..2b1308f1afb 100644 --- a/test/items/exp_booster.test.ts +++ b/test/items/exp_booster.test.ts @@ -1,6 +1,6 @@ import { Abilities } from "#app/enums/abilities"; import { PokemonExpBoosterModifier } from "#app/modifier/modifier"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -33,7 +33,7 @@ describe("EXP Modifier Items", () => { const partyMember = game.scene.getPlayerPokemon()!; partyMember.exp = 100; - const expHolder = new Utils.NumberHolder(partyMember.exp); + const expHolder = new NumberHolder(partyMember.exp); game.scene.applyModifiers(PokemonExpBoosterModifier, true, partyMember, expHolder); expect(expHolder.value).toBe(440); }, 20000); diff --git a/test/items/leek.test.ts b/test/items/leek.test.ts index ec4d075fe19..afb31a5f9fa 100644 --- a/test/items/leek.test.ts +++ b/test/items/leek.test.ts @@ -1,5 +1,5 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import * as Utils from "#app/utils"; +import { randInt } from "#app/utils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; @@ -78,7 +78,7 @@ describe("Items - Leek", () => { // Randomly choose from the Farfetch'd line const species = [Species.FARFETCHD, Species.GALAR_FARFETCHD, Species.SIRFETCHD]; - await game.startBattle([species[Utils.randInt(species.length)], Species.PIKACHU]); + await game.startBattle([species[randInt(species.length)], Species.PIKACHU]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -106,7 +106,7 @@ describe("Items - Leek", () => { // Randomly choose from the Farfetch'd line const species = [Species.FARFETCHD, Species.GALAR_FARFETCHD, Species.SIRFETCHD]; - await game.startBattle([Species.PIKACHU, species[Utils.randInt(species.length)]]); + await game.startBattle([Species.PIKACHU, species[randInt(species.length)]]); const [partyMember, ally] = game.scene.getPlayerParty(); diff --git a/test/items/light_ball.test.ts b/test/items/light_ball.test.ts index e4959002904..1f5227142eb 100644 --- a/test/items/light_ball.test.ts +++ b/test/items/light_ball.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; @@ -90,9 +90,9 @@ describe("Items - Light Ball", () => { const spAtkStat = partyMember.getStat(Stat.SPATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue); - const spAtkValue = new Utils.NumberHolder(spAtkStat); + const spAtkValue = new NumberHolder(spAtkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue); expect(atkValue.value / atkStat).toBe(1); @@ -129,9 +129,9 @@ describe("Items - Light Ball", () => { const spAtkStat = partyMember.getStat(Stat.SPATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue); - const spAtkValue = new Utils.NumberHolder(spAtkStat); + const spAtkValue = new NumberHolder(spAtkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue); expect(atkValue.value / atkStat).toBe(1); @@ -168,9 +168,9 @@ describe("Items - Light Ball", () => { const spAtkStat = partyMember.getStat(Stat.SPATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue); - const spAtkValue = new Utils.NumberHolder(spAtkStat); + const spAtkValue = new NumberHolder(spAtkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue); expect(atkValue.value / atkStat).toBe(1); @@ -197,9 +197,9 @@ describe("Items - Light Ball", () => { const spAtkStat = partyMember.getStat(Stat.SPATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue); - const spAtkValue = new Utils.NumberHolder(spAtkStat); + const spAtkValue = new NumberHolder(spAtkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue); expect(atkValue.value / atkStat).toBe(1); diff --git a/test/items/metal_powder.test.ts b/test/items/metal_powder.test.ts index 460a95d0f06..ed96d3c498b 100644 --- a/test/items/metal_powder.test.ts +++ b/test/items/metal_powder.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; @@ -89,7 +89,7 @@ describe("Items - Metal Powder", () => { const defStat = partyMember.getStat(Stat.DEF); // Making sure modifier is not applied without holding item - const defValue = new Utils.NumberHolder(defStat); + const defValue = new NumberHolder(defStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue); expect(defValue.value / defStat).toBe(1); @@ -122,7 +122,7 @@ describe("Items - Metal Powder", () => { const defStat = partyMember.getStat(Stat.DEF); // Making sure modifier is not applied without holding item - const defValue = new Utils.NumberHolder(defStat); + const defValue = new NumberHolder(defStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue); expect(defValue.value / defStat).toBe(1); @@ -155,7 +155,7 @@ describe("Items - Metal Powder", () => { const defStat = partyMember.getStat(Stat.DEF); // Making sure modifier is not applied without holding item - const defValue = new Utils.NumberHolder(defStat); + const defValue = new NumberHolder(defStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue); expect(defValue.value / defStat).toBe(1); @@ -178,7 +178,7 @@ describe("Items - Metal Powder", () => { const defStat = partyMember.getStat(Stat.DEF); // Making sure modifier is not applied without holding item - const defValue = new Utils.NumberHolder(defStat); + const defValue = new NumberHolder(defStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue); expect(defValue.value / defStat).toBe(1); diff --git a/test/items/quick_powder.test.ts b/test/items/quick_powder.test.ts index 26faf5a0f4f..7115cad8cd1 100644 --- a/test/items/quick_powder.test.ts +++ b/test/items/quick_powder.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import * as Utils from "#app/utils"; +import { NumberHolder } from "#app/utils"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; @@ -89,7 +89,7 @@ describe("Items - Quick Powder", () => { const spdStat = partyMember.getStat(Stat.SPD); // Making sure modifier is not applied without holding item - const spdValue = new Utils.NumberHolder(spdStat); + const spdValue = new NumberHolder(spdStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue); expect(spdValue.value / spdStat).toBe(1); @@ -122,7 +122,7 @@ describe("Items - Quick Powder", () => { const spdStat = partyMember.getStat(Stat.SPD); // Making sure modifier is not applied without holding item - const spdValue = new Utils.NumberHolder(spdStat); + const spdValue = new NumberHolder(spdStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue); expect(spdValue.value / spdStat).toBe(1); @@ -155,7 +155,7 @@ describe("Items - Quick Powder", () => { const spdStat = partyMember.getStat(Stat.SPD); // Making sure modifier is not applied without holding item - const spdValue = new Utils.NumberHolder(spdStat); + const spdValue = new NumberHolder(spdStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue); expect(spdValue.value / spdStat).toBe(1); @@ -178,7 +178,7 @@ describe("Items - Quick Powder", () => { const spdStat = partyMember.getStat(Stat.SPD); // Making sure modifier is not applied without holding item - const spdValue = new Utils.NumberHolder(spdStat); + const spdValue = new NumberHolder(spdStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue); expect(spdValue.value / spdStat).toBe(1); diff --git a/test/items/thick_club.test.ts b/test/items/thick_club.test.ts index 9edbbcdc7d9..69ca316d455 100644 --- a/test/items/thick_club.test.ts +++ b/test/items/thick_club.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import * as Utils from "#app/utils"; +import { NumberHolder, randInt } from "#app/utils"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; @@ -89,7 +89,7 @@ describe("Items - Thick Club", () => { const atkStat = partyMember.getStat(Stat.ATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue); expect(atkValue.value / atkStat).toBe(1); @@ -112,7 +112,7 @@ describe("Items - Thick Club", () => { const atkStat = partyMember.getStat(Stat.ATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue); expect(atkValue.value / atkStat).toBe(1); @@ -135,7 +135,7 @@ describe("Items - Thick Club", () => { const atkStat = partyMember.getStat(Stat.ATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue); expect(atkValue.value / atkStat).toBe(1); @@ -153,7 +153,7 @@ describe("Items - Thick Club", () => { it("THICK_CLUB held by fused CUBONE line (base)", async () => { // Randomly choose from the Cubone line const species = [Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK]; - const randSpecies = Utils.randInt(species.length); + const randSpecies = randInt(species.length); await game.classicMode.startBattle([species[randSpecies], Species.PIKACHU]); @@ -172,7 +172,7 @@ describe("Items - Thick Club", () => { const atkStat = partyMember.getStat(Stat.ATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue); expect(atkValue.value / atkStat).toBe(1); @@ -190,7 +190,7 @@ describe("Items - Thick Club", () => { it("THICK_CLUB held by fused CUBONE line (part)", async () => { // Randomly choose from the Cubone line const species = [Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK]; - const randSpecies = Utils.randInt(species.length); + const randSpecies = randInt(species.length); await game.classicMode.startBattle([Species.PIKACHU, species[randSpecies]]); @@ -209,7 +209,7 @@ describe("Items - Thick Club", () => { const atkStat = partyMember.getStat(Stat.ATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue); expect(atkValue.value / atkStat).toBe(1); @@ -232,7 +232,7 @@ describe("Items - Thick Club", () => { const atkStat = partyMember.getStat(Stat.ATK); // Making sure modifier is not applied without holding item - const atkValue = new Utils.NumberHolder(atkStat); + const atkValue = new NumberHolder(atkStat); game.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue); expect(atkValue.value / atkStat).toBe(1); diff --git a/test/moves/multi_target.test.ts b/test/moves/multi_target.test.ts index 2b17929a5df..5d33c7860cb 100644 --- a/test/moves/multi_target.test.ts +++ b/test/moves/multi_target.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#app/enums/abilities"; import { Species } from "#app/enums/species"; -import * as Utils from "#app/utils"; +import { toDmgValue } from "#app/utils"; import { Moves } from "#enums/moves"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -71,8 +71,8 @@ describe("Multi-target damage reduction", () => { // Single target moves don't get reduced expect(tackle1).toBe(tackle2); // Moves that target all enemies get reduced if there's more than one enemy - expect(gleam1).toBeLessThanOrEqual(Utils.toDmgValue(gleam2 * 0.75) + 1); - expect(gleam1).toBeGreaterThanOrEqual(Utils.toDmgValue(gleam2 * 0.75) - 1); + expect(gleam1).toBeLessThanOrEqual(toDmgValue(gleam2 * 0.75) + 1); + expect(gleam1).toBeGreaterThanOrEqual(toDmgValue(gleam2 * 0.75) - 1); }); it("should reduce earthquake when more than one pokemon other than user is not fainted", async () => { @@ -122,7 +122,7 @@ describe("Multi-target damage reduction", () => { const damageEnemy1Turn3 = enemy1.getMaxHp() - enemy1.hp; // Turn 3: 1 target, should be no damage reduction - expect(damageEnemy1Turn1).toBeLessThanOrEqual(Utils.toDmgValue(damageEnemy1Turn3 * 0.75) + 1); - expect(damageEnemy1Turn1).toBeGreaterThanOrEqual(Utils.toDmgValue(damageEnemy1Turn3 * 0.75) - 1); + expect(damageEnemy1Turn1).toBeLessThanOrEqual(toDmgValue(damageEnemy1Turn3 * 0.75) + 1); + expect(damageEnemy1Turn1).toBeGreaterThanOrEqual(toDmgValue(damageEnemy1Turn3 * 0.75) - 1); }); }); diff --git a/test/mystery-encounter/encounter-test-utils.ts b/test/mystery-encounter/encounter-test-utils.ts index 8c54e0dd606..93629778e0a 100644 --- a/test/mystery-encounter/encounter-test-utils.ts +++ b/test/mystery-encounter/encounter-test-utils.ts @@ -1,3 +1,4 @@ +// biome-ignore lint/style/noNamespaceImport: Necessary for mocks import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { Status } from "#app/data/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; diff --git a/test/testUtils/gameWrapper.ts b/test/testUtils/gameWrapper.ts index 388861e01c4..02865701ed0 100644 --- a/test/testUtils/gameWrapper.ts +++ b/test/testUtils/gameWrapper.ts @@ -2,7 +2,7 @@ import BattleScene, * as battleScene from "#app/battle-scene"; import { MoveAnim } from "#app/data/battle-anims"; import Pokemon from "#app/field/pokemon"; -import * as Utils from "#app/utils"; +import { setCookie, sessionIdKey } from "#app/utils"; import { blobToString } from "#test/testUtils/gameManagerUtils"; import { MockClock } from "#test/testUtils/mocks/mockClock"; import { MockFetch } from "#test/testUtils/mocks/mockFetch"; @@ -29,7 +29,7 @@ window.URL.createObjectURL = (blob: Blob) => { }; navigator.getGamepads = () => []; global.fetch = vi.fn(MockFetch); -Utils.setCookie(Utils.sessionIdKey, "fake_token"); +setCookie(sessionIdKey, "fake_token"); window.matchMedia = () => ({ matches: false, From f9ff4abfb0396da1ed74882343e22081c5924599 Mon Sep 17 00:00:00 2001 From: Jimmybald1 <122436263+Jimmybald1@users.noreply.github.com> Date: Sat, 12 Apr 2025 16:56:04 +0200 Subject: [PATCH 018/102] [Bug] Fixed biome map options counting rng twice (#5648) Fixed biome map options counting rng twice Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com> Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> --- src/phases/select-biome-phase.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index de705728c50..b27e2d0e7cc 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -38,15 +38,7 @@ export class SelectBiomePhase extends BattlePhase { .map(b => (!Array.isArray(b) ? b : b[0])); if (biomes.length > 1 && globalScene.findModifier(m => m instanceof MapModifier)) { - const biomeChoices: Biome[] = ( - !Array.isArray(biomeLinks[currentBiome]) - ? [biomeLinks[currentBiome] as Biome] - : (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) - ) - .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) - .map(b => (Array.isArray(b) ? b[0] : b)); - - const biomeSelectItems = biomeChoices.map(b => { + const biomeSelectItems = biomes.map(b => { const ret: OptionSelectItem = { label: getBiomeName(b), handler: () => { From 15e535a1a0e4328e0c6998f6008b656387fc2dfa Mon Sep 17 00:00:00 2001 From: Lylian BALL <131535108+PyGaVS@users.noreply.github.com> Date: Sun, 13 Apr 2025 03:22:04 +0200 Subject: [PATCH 019/102] [Ability] Implement Illusion (#3273) * implement illusion ability with unit test and localizations * try removing whitespace change on unnecessary files * nit corrections * nit update src/field/pokemon.ts Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> * nit update src/phases.ts Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com> * illusion test correction * unexpected error correction * refactor property pokemon.illusion to pokemon.battleData.illusion * nit * nit * update unit test up-to-date * add docs * merge up to date * bugfix * bugfix * merge up to date * refactor field illusion out of battleData * fix nit * fix nit * Zoroark change illusion after lastPokemon update * Zoroark change illusion after lastPokemon update * refactor bug fix * bugfix * bug fix on tests * Update src/field/pokemon.ts Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com> * use GetFailedText * remove useless import * add condition 'no illusion' into transform move * wild Zoroark creates an illusion according to the current biome * wild Zoroark creates an illusion according to the current biome * delete console.log() * add doc * Update src/field/pokemon.ts Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com> * fix tests * update locales submodule * update Illusion interface * bug fix * bug fix * bugfix * rename some params for future implementations * Zoroark keep illusion between battles * Zoroark keep illusion between battles * delete draft * merge up-to-date * bugfix * merge * merge * implement canApplyPresummon method * Update test/abilities/illusion.test.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update test/abilities/illusion.test.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update test/abilities/illusion.test.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * nit * review corrections * nit * type hints affected by enemy illusion * type hints affected by enemy illusionin fight-ui-handler * nit * rename some parameters back in useIllusion * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * refactor battleData.illusion as summonData.illusion and delete oncePerBattleClause * add comments * illusion will break before evolution * Update src/field/pokemon.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * bug fix * g * get submodule back * get submodule back * bug fix to save illusion status * add pokemon.getPokeball() * Update src/field/pokemon.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/data/ability.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com> Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com> Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/battle-scene.ts | 2 +- src/data/ability.ts | 135 +++++++- src/data/moves/move.ts | 10 +- src/field/pokemon.ts | 495 ++++++++++++++++++++++-------- src/messages.ts | 17 +- src/phases/encounter-phase.ts | 7 +- src/phases/level-up-phase.ts | 1 + src/phases/summon-phase.ts | 14 +- src/phases/switch-summon-phase.ts | 11 +- src/system/game-data.ts | 4 +- src/system/pokemon-data.ts | 18 +- src/ui/battle-info.ts | 28 +- src/ui/fight-ui-handler.ts | 5 +- src/ui/party-ui-handler.ts | 38 +-- src/ui/rename-form-ui-handler.ts | 2 +- src/ui/summary-ui-handler.ts | 24 +- test/abilities/illusion.test.ts | 144 +++++++++ 17 files changed, 757 insertions(+), 198 deletions(-) create mode 100644 test/abilities/illusion.test.ts diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 8ae2be5af43..dd983f2b397 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1072,7 +1072,7 @@ export default class BattleScene extends SceneBase { container.add(icon); - if (pokemon.isFusion()) { + if (pokemon.isFusion(true)) { const fusionIcon = this.add.sprite(0, 0, pokemon.getFusionIconAtlasKey(ignoreOverride)); fusionIcon.setName("sprite-fusion-icon"); fusionIcon.setOrigin(0.5, 0); diff --git a/src/data/ability.ts b/src/data/ability.ts index b07f13c18e9..3e32a624f9f 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -2370,6 +2370,18 @@ export class PostSummonMessageAbAttr extends PostSummonAbAttr { } } +/** + * Removes illusions when a Pokemon is summoned. + */ +export class PostSummonRemoveIllusionAbAttr extends PostSummonAbAttr { + applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { + for (const pokemon of globalScene.getField(true)) { + pokemon.breakIllusion(); + } + return true; + } +} + export class PostSummonUnnamedMessageAbAttr extends PostSummonAbAttr { //Attr doesn't force pokemon name on the message private message: string; @@ -2812,7 +2824,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr { } private getTarget(targets: Pokemon[]): Pokemon { - let target: Pokemon; + let target: Pokemon = targets[0]; if (targets.length > 1) { globalScene.executeWithSeedOffset(() => { // in a double battle, if one of the opposing pokemon is fused the other one will be chosen @@ -2829,6 +2841,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr { } else { target = targets[0]; } + target = target!; return target; @@ -2836,6 +2849,12 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr { override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { const targets = pokemon.getOpponents(); + const target = this.getTarget(targets); + + if (!!target.summonData?.illusion) { + return false; + } + if (simulated || !targets.length) { return simulated; } @@ -4741,8 +4760,8 @@ export class MaxMultiHitAbAttr extends AbAttr { } export class PostBattleAbAttr extends AbAttr { - constructor() { - super(true); + constructor(showAbility: boolean = true) { + super(showAbility); } canApplyPostBattle(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { @@ -5259,6 +5278,92 @@ export class FormBlockDamageAbAttr extends ReceivedMoveDamageMultiplierAbAttr { } } +/** + * Base class for defining {@linkcode Ability} attributes before summon + * (should use {@linkcode PostSummonAbAttr} for most ability) + * @see {@linkcode applyPreSummon()} + */ +export class PreSummonAbAttr extends AbAttr { + applyPreSummon(pokemon: Pokemon, passive: boolean, args: any[]): void {} + + canApplyPreSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean { + return true; + } +} + +export class IllusionPreSummonAbAttr extends PreSummonAbAttr { + /** + * Apply a new illusion when summoning Zoroark if the illusion is available + * + * @param pokemon - The Pokémon with the Illusion ability. + * @param passive - N/A + * @param args - N/A + * @returns Whether the illusion was applied. + */ + override applyPreSummon(pokemon: Pokemon, passive: boolean, args: any[]): void { + const party: Pokemon[] = (pokemon.isPlayer() ? globalScene.getPlayerParty() : globalScene.getEnemyParty()).filter(p => p.isAllowedInBattle()); + const lastPokemon: Pokemon = party.filter(p => p !==pokemon).at(-1) || pokemon; + pokemon.setIllusion(lastPokemon); + } + + override canApplyPreSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean { + pokemon.initSummondata() + if(pokemon.hasTrainer()){ + const party: Pokemon[] = (pokemon.isPlayer() ? globalScene.getPlayerParty() : globalScene.getEnemyParty()).filter(p => p.isAllowedInBattle()); + const lastPokemon: Pokemon = party.filter(p => p !==pokemon).at(-1) || pokemon; + const speciesId = lastPokemon.species.speciesId; + + // If the last conscious Pokémon in the party is a Terastallized Ogerpon or Terapagos, Illusion will not activate. + // Illusion will also not activate if the Pokémon with Illusion is Terastallized and the last Pokémon in the party is Ogerpon or Terapagos. + if ( + lastPokemon === pokemon || + ((speciesId === Species.OGERPON || speciesId === Species.TERAPAGOS) && (lastPokemon.isTerastallized || pokemon.isTerastallized)) + ) { + return false; + } + } + return !pokemon.summonData.illusionBroken; + } +} + +export class IllusionBreakAbAttr extends PostDefendAbAttr { + /** + * Destroy the illusion upon taking damage + * + * @param pokemon - The Pokémon with the Illusion ability. + * @param passive - unused + * @param attacker - The attacking Pokémon. + * @param move - The move being used. + * @param hitResult - The type of hitResult the pokemon got + * @param args - unused + * @returns - Whether the illusion was destroyed. + */ + override applyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): void { + pokemon.breakIllusion(); + pokemon.summonData.illusionBroken = true; + } + + override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean { + const breakIllusion: HitResult[] = [ HitResult.EFFECTIVE, HitResult.SUPER_EFFECTIVE, HitResult.NOT_VERY_EFFECTIVE, HitResult.ONE_HIT_KO ]; + return breakIllusion.includes(hitResult) && !!pokemon.summonData?.illusion + } +} + +export class IllusionPostBattleAbAttr extends PostBattleAbAttr { + /** + * Break the illusion once the battle ends + * + * @param pokemon - The Pokémon with the Illusion ability. + * @param passive - Unused + * @param args - Unused + * @returns - Whether the illusion was applied. + */ + override applyPostBattle(pokemon: Pokemon, passive: boolean, simulated:boolean, args: any[]): void { + pokemon.breakIllusion() + } +} + + /** * If a Pokémon with this Ability selects a damaging move, it has a 30% chance of going first in its priority bracket. If the Ability activates, this is announced at the start of the turn (after move selection). * @@ -6017,6 +6122,20 @@ export function applyPostSummonAbAttrs( ); } +export function applyPreSummonAbAttrs( + attrType: Constructor, + pokemon: Pokemon, + ...args: any[] +): void { + applyAbAttrsInternal( + attrType, + pokemon, + (attr, passive) => attr.applyPreSummon(pokemon, passive, args), + (attr, passive) => attr.canApplyPreSummon(pokemon, passive, args), + args + ); +} + export function applyPreSwitchOutAbAttrs( attrType: Constructor, pokemon: Pokemon, @@ -6811,8 +6930,14 @@ export function initAbilities() { return isNullOrUndefined(movePhase); }, 1.3), new Ability(Abilities.ILLUSION, 5) + //The pokemon generate an illusion if it's available + .attr(IllusionPreSummonAbAttr, false) + //The pokemon loses his illusion when he is damaged by a move + .attr(IllusionBreakAbAttr, true) + //Illusion is available again after a battle + .conditionalAttr((pokemon) => pokemon.isAllowedInBattle(), IllusionPostBattleAbAttr, false) .uncopiable() - .unimplemented(), + .bypassFaint(), new Ability(Abilities.IMPOSTER, 5) .attr(PostSummonTransformAbAttr) .uncopiable(), @@ -7223,6 +7348,8 @@ export function initAbilities() { .attr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr) .uncopiable() .attr(NoTransformAbilityAbAttr) + .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonNeutralizingGas", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) + .attr(PostSummonRemoveIllusionAbAttr) .bypassFaint(), new Ability(Abilities.PASTEL_VEIL, 8) .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index a0f68dcd5cb..962a13bb840 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -7389,11 +7389,13 @@ export class AbilityChangeAttr extends MoveEffectAttr { const moveTarget = this.selfTarget ? user : target; - globalScene.queueMessage(i18next.t("moveTriggers:acquiredAbility", { pokemonName: getPokemonNameWithAffix((this.selfTarget ? user : target)), abilityName: allAbilities[this.ability].name })); - + globalScene.triggerPokemonFormChange(moveTarget, SpeciesFormChangeRevertWeatherFormTrigger); + if (moveTarget.breakIllusion()) { + globalScene.queueMessage(i18next.t("abilityTriggers:illusionBreak", { pokemonName: getPokemonNameWithAffix(moveTarget) })); + } + globalScene.queueMessage(i18next.t("moveTriggers:acquiredAbility", { pokemonName: getPokemonNameWithAffix(moveTarget), abilityName: allAbilities[this.ability].name })); moveTarget.setTempAbility(allAbilities[this.ability]); globalScene.triggerPokemonFormChange(moveTarget, SpeciesFormChangeRevertWeatherFormTrigger); - return true; } @@ -8673,6 +8675,8 @@ export function initMoves() { .makesContact(false), new StatusMove(Moves.TRANSFORM, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(TransformAttr) + .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE)) + .condition((user, target, move) => !target.summonData?.illusion && !user.summonData?.illusion) // transforming from or into fusion pokemon causes various problems (such as crashes) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE) && !user.fusionSpecies && !target.fusionSpecies) .ignoresProtect(), diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 8fc75ca657d..b59b7ba01fe 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -536,21 +536,33 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } - getNameToRender() { + /** + * @param {boolean} useIllusion - Whether we want the fake name or the real name of the Pokemon (for Illusion ability). + */ + getNameToRender(useIllusion: boolean = true) { + const name: string = (!useIllusion && !!this.summonData?.illusion) ? this.summonData?.illusion.basePokemon!.name : this.name; + const nickname: string = (!useIllusion && !!this.summonData?.illusion) ? this.summonData?.illusion.basePokemon!.nickname : this.nickname; try { - if (this.nickname) { - return decodeURIComponent(escape(atob(this.nickname))); + if (nickname) { + return decodeURIComponent(escape(atob(nickname))); } - return this.name; + return name; } catch (err) { - console.error(`Failed to decode nickname for ${this.name}`, err); - return this.name; + console.error(`Failed to decode nickname for ${name}`, err); + return name; + } + } + + getPokeball(useIllusion = false){ + if(useIllusion){ + return this.summonData?.illusion?.pokeball ?? this.pokeball + } else { + return this.pokeball } } init(): void { this.fieldPosition = FieldPosition.CENTER; - this.initBattleInfo(); globalScene.fieldUI.addAt(this.battleInfo, 0); @@ -584,7 +596,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.addAt(sprite, 0); this.addAt(tintSprite, 1); - if (this.isShiny() && !this.shinySparkle) { + if (this.isShiny(true) && !this.shinySparkle) { this.initShinySparkle(); } } @@ -682,6 +694,92 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } + /** + * Generate an illusion of the last pokemon in the party, as other wild pokemon in the area. + */ + setIllusion(pokemon: Pokemon): boolean { + if(!!this.summonData?.illusion){ + this.breakIllusion(); + } + if (this.hasTrainer()) { + const speciesId = pokemon.species.speciesId; + + this.summonData.illusion = { + basePokemon: { + name: this.name, + nickname: this.nickname, + shiny: this.shiny, + variant: this.variant, + fusionShiny: this.fusionShiny, + fusionVariant: this.fusionVariant + }, + species: speciesId, + formIndex: pokemon.formIndex, + gender: pokemon.gender, + pokeball: pokemon.pokeball, + fusionFormIndex: pokemon.fusionFormIndex, + fusionSpecies: pokemon.fusionSpecies || undefined, + fusionGender: pokemon.fusionGender + }; + + this.name = pokemon.name; + this.nickname = pokemon.nickname; + this.shiny = pokemon.shiny; + this.variant = pokemon.variant; + this.fusionVariant = pokemon.fusionVariant; + this.fusionShiny = pokemon.fusionShiny; + if (this.shiny) { + this.initShinySparkle(); + } + this.loadAssets(false, true).then(() => this.playAnim()); + this.updateInfo(); + } else { + const randomIllusion: PokemonSpecies = globalScene.arena.randomSpecies(globalScene.currentBattle.waveIndex, this.level); + + this.summonData.illusion = { + basePokemon: { + name: this.name, + nickname: this.nickname, + shiny: this.shiny, + variant: this.variant, + fusionShiny: this.fusionShiny, + fusionVariant: this.fusionVariant + }, + species: randomIllusion.speciesId, + formIndex: randomIllusion.formIndex, + gender: this.gender, + pokeball: this.pokeball + }; + + this.name = randomIllusion.name; + this.loadAssets(false, true).then(() => this.playAnim()); + } + return true; + } + + breakIllusion(): boolean { + if (!this.summonData?.illusion) { + return false; + } else { + this.name = this.summonData?.illusion.basePokemon.name; + this.nickname = this.summonData?.illusion.basePokemon.nickname; + this.shiny = this.summonData?.illusion.basePokemon.shiny; + this.variant = this.summonData?.illusion.basePokemon.variant; + this.fusionVariant = this.summonData?.illusion.basePokemon.fusionVariant; + this.fusionShiny = this.summonData?.illusion.basePokemon.fusionShiny; + this.summonData.illusion = null; + } + if (this.isOnField()) { + globalScene.playSound("PRSFX- Transform"); + } + if (this.shiny) { + this.initShinySparkle(); + } + this.loadAssets(false).then(() => this.playAnim()); + this.updateInfo(true); + return true; + } + abstract isPlayer(): boolean; abstract hasTrainer(): boolean; @@ -690,29 +788,41 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { abstract getBattlerIndex(): BattlerIndex; - async loadAssets(ignoreOverride = true): Promise { + /** +   * @param useIllusion - Whether we want the illusion or not. +   */ + async loadAssets(ignoreOverride = true, useIllusion: boolean = false): Promise { /** Promises that are loading assets and can be run concurrently. */ const loadPromises: Promise[] = []; // Assets for moves loadPromises.push(loadMoveAnimations(this.getMoveset().map(m => m.getMove().id))); // Load the assets for the species form + const formIndex = !!this.summonData?.illusion && useIllusion ? this.summonData?.illusion.formIndex : this.formIndex; loadPromises.push( - this.getSpeciesForm().loadAssets(this.getGender() === Gender.FEMALE, this.formIndex, this.shiny, this.variant), + this.getSpeciesForm(false, useIllusion).loadAssets( + this.getGender(useIllusion) === Gender.FEMALE, + formIndex, + this.isShiny(useIllusion), + this.getVariant(useIllusion) + ), ); - if (this.isPlayer() || this.getFusionSpeciesForm()) { + if (this.isPlayer() || this.getFusionSpeciesForm(false, useIllusion)) { globalScene.loadPokemonAtlas( this.getBattleSpriteKey(true, ignoreOverride), this.getBattleSpriteAtlasPath(true, ignoreOverride), ); } if (this.getFusionSpeciesForm()) { - loadPromises.push(this.getFusionSpeciesForm().loadAssets( - this.getFusionGender() === Gender.FEMALE, - this.fusionFormIndex, - this.fusionShiny, - this.fusionVariant, + const fusionFormIndex = !!this.summonData?.illusion && useIllusion ? this.summonData?.illusion.fusionFormIndex : this.fusionFormIndex; + const fusionShiny = !!this.summonData?.illusion && !useIllusion ? this.summonData?.illusion.basePokemon!.fusionShiny : this.fusionShiny; + const fusionVariant = !!this.summonData?.illusion && !useIllusion ? this.summonData?.illusion.basePokemon!.fusionVariant : this.fusionVariant; + loadPromises.push(this.getFusionSpeciesForm(false, useIllusion).loadAssets( + this.getFusionGender(false, useIllusion) === Gender.FEMALE, + fusionFormIndex, + fusionShiny, + fusionVariant )); globalScene.loadPokemonAtlas( this.getFusionBattleSpriteKey(true, ignoreOverride), @@ -720,7 +830,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); } - if (this.shiny) { + if (this.isShiny(true)) { loadPromises.push(populateVariantColors(this, false, ignoreOverride)) if (this.isPlayer()) { loadPromises.push(populateVariantColors(this, true, ignoreOverride)); @@ -870,11 +980,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getSpriteId(ignoreOverride?: boolean): string { - return this.getSpeciesForm(ignoreOverride).getSpriteId( - this.getGender(ignoreOverride) === Gender.FEMALE, - this.formIndex, - this.shiny, - this.variant, + const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex! : this.formIndex; + return this.getSpeciesForm(ignoreOverride, true).getSpriteId( + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, + this.variant ); } @@ -882,21 +993,24 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (back === undefined) { back = this.isPlayer(); } - return this.getSpeciesForm(ignoreOverride).getSpriteId( - this.getGender(ignoreOverride) === Gender.FEMALE, - this.formIndex, - this.shiny, - this.variant, - back, + + const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex! : this.formIndex; + + return this.getSpeciesForm(ignoreOverride, true).getSpriteId( + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, + this.variant, + back ); } getSpriteKey(ignoreOverride?: boolean): string { - return this.getSpeciesForm(ignoreOverride).getSpriteKey( + return this.getSpeciesForm(ignoreOverride, false).getSpriteKey( this.getGender(ignoreOverride) === Gender.FEMALE, this.formIndex, - this.shiny, - this.variant, + this.summonData?.illusion?.basePokemon.shiny ?? this.shiny, + this.summonData?.illusion?.basePokemon.variant ?? this.variant ); } @@ -905,11 +1019,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getFusionSpriteId(ignoreOverride?: boolean): string { - return this.getFusionSpeciesForm(ignoreOverride).getSpriteId( - this.getFusionGender(ignoreOverride) === Gender.FEMALE, - this.fusionFormIndex, - this.fusionShiny, - this.fusionVariant, + const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + return this.getFusionSpeciesForm(ignoreOverride, true).getSpriteId( + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, + this.fusionVariant ); } @@ -917,12 +1032,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (back === undefined) { back = this.isPlayer(); } - return this.getFusionSpeciesForm(ignoreOverride).getSpriteId( - this.getFusionGender(ignoreOverride) === Gender.FEMALE, - this.fusionFormIndex, - this.fusionShiny, - this.fusionVariant, - back, + + const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + + return this.getFusionSpeciesForm(ignoreOverride, true).getSpriteId( + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, + this.fusionVariant, + back ); } @@ -941,62 +1059,77 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getIconAtlasKey(ignoreOverride?: boolean): string { - return this.getSpeciesForm(ignoreOverride).getIconAtlasKey( - this.formIndex, - this.shiny, - this.variant, + const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + return this.getSpeciesForm(ignoreOverride, true).getIconAtlasKey( + formIndex, + this.shiny, + this.variant ); } getFusionIconAtlasKey(ignoreOverride?: boolean): string { - return this.getFusionSpeciesForm(ignoreOverride).getIconAtlasKey( - this.fusionFormIndex, - this.fusionShiny, - this.fusionVariant, + return this.getFusionSpeciesForm(ignoreOverride, true).getIconAtlasKey( + this.fusionFormIndex, + this.fusionShiny, + this.fusionVariant ); } getIconId(ignoreOverride?: boolean): string { - return this.getSpeciesForm(ignoreOverride).getIconId( - this.getGender(ignoreOverride) === Gender.FEMALE, - this.formIndex, - this.shiny, - this.variant, + const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + return this.getSpeciesForm(ignoreOverride, true).getIconId( + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, + this.variant ); } getFusionIconId(ignoreOverride?: boolean): string { - return this.getFusionSpeciesForm(ignoreOverride).getIconId( - this.getFusionGender(ignoreOverride) === Gender.FEMALE, - this.fusionFormIndex, - this.fusionShiny, - this.fusionVariant, + const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + return this.getFusionSpeciesForm(ignoreOverride, true).getIconId( + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, + this.fusionVariant ); } - getSpeciesForm(ignoreOverride?: boolean): PokemonSpeciesForm { + /** + * @param {boolean} useIllusion - Whether we want the speciesForm of the illusion or not. + */ + getSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { + const species: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? getPokemonSpecies(this.summonData?.illusion.species) : this.species; + + const formIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + if (!ignoreOverride && this.summonData?.speciesForm) { return this.summonData.speciesForm; } - if (this.species.forms && this.species.forms.length > 0) { - return this.species.forms[this.formIndex]; + if (species.forms && species.forms.length > 0) { + return species.forms[formIndex]; } - return this.species; + return species; } - getFusionSpeciesForm(ignoreOverride?: boolean): PokemonSpeciesForm { + /** + * @param {boolean} useIllusion - Whether we want the fusionSpeciesForm of the illusion or not. + */ + getFusionSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { + const fusionSpecies: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.fusionSpecies! : this.fusionSpecies!; + const fusionFormIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + if (!ignoreOverride && this.summonData?.speciesForm) { return this.summonData.fusionSpeciesForm; } if ( - !this.fusionSpecies?.forms?.length || - this.fusionFormIndex >= this.fusionSpecies?.forms.length + !fusionSpecies?.forms?.length || + fusionFormIndex >= fusionSpecies?.forms.length ) { - //@ts-ignore - return this.fusionSpecies; // TODO: I don't even know how to fix this... A complete cluster of classes involved + null + return fusionSpecies; } - return this.fusionSpecies?.forms[this.fusionFormIndex]; + return fusionSpecies?.forms[fusionFormIndex]; } getSprite(): Phaser.GameObjects.Sprite { @@ -1652,36 +1785,98 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } - getGender(ignoreOverride?: boolean): Gender { - if (!ignoreOverride && this.summonData?.gender !== undefined) { + /** + * @param {boolean} useIllusion - Whether we want the fake or real gender (illusion ability). + */ + getGender(ignoreOverride?: boolean, useIllusion: boolean = false): Gender { + if (useIllusion && !!this.summonData?.illusion) { + return this.summonData?.illusion.gender!; + } else if (!ignoreOverride && this.summonData?.gender !== undefined) { return this.summonData.gender; } return this.gender; } - getFusionGender(ignoreOverride?: boolean): Gender { - if (!ignoreOverride && this.summonData?.fusionGender !== undefined) { + /** + * @param {boolean} useIllusion - Whether we want the fake or real gender (illusion ability). + */ + getFusionGender(ignoreOverride?: boolean, useIllusion: boolean = false): Gender { + if (useIllusion && !!this.summonData?.illusion) { + return this.summonData?.illusion.fusionGender!; + } else if (!ignoreOverride && this.summonData?.fusionGender !== undefined) { return this.summonData.fusionGender; } return this.fusionGender; } - isShiny(): boolean { - return this.shiny || (this.isFusion() && this.fusionShiny); + /** + * @param {boolean} useIllusion - Whether we want the fake or real shininess (illusion ability). + */ + isShiny(useIllusion: boolean = false): boolean { + if (!useIllusion && !!this.summonData?.illusion) { + return this.summonData?.illusion.basePokemon?.shiny || (!!this.summonData?.illusion.fusionSpecies && this.summonData?.illusion.basePokemon?.fusionShiny) || false; + } else { + return this.shiny || (this.isFusion(useIllusion) && this.fusionShiny); + } } - getVariant(): Variant { - return !this.isFusion() - ? this.variant - : (Math.max(this.variant, this.fusionVariant) as Variant); + /** + * + * @param useIllusion - Whether we want the fake or real shininess (illusion ability). + * @returns `true` if the {@linkcode Pokemon} is shiny and the fusion is shiny as well, `false` otherwise + */ + isDoubleShiny(useIllusion: boolean = false): boolean { + if (!useIllusion && !!this.summonData?.illusion) { + return this.isFusion(false) && this.summonData?.illusion.basePokemon.shiny && this.summonData?.illusion.basePokemon.fusionShiny; + } else { + return this.isFusion(useIllusion) && this.shiny && this.fusionShiny; + } + } + + /** + * @param {boolean} useIllusion - Whether we want the fake or real variant (illusion ability). + */ + getVariant(useIllusion: boolean = false): Variant { + if (!useIllusion && !!this.summonData?.illusion) { + return !this.isFusion(false) + ? this.summonData?.illusion.basePokemon!.variant + : Math.max(this.variant, this.fusionVariant) as Variant; + } else { + return !this.isFusion(true) + ? this.variant + : Math.max(this.variant, this.fusionVariant) as Variant; + } + } + + getBaseVariant(doubleShiny: boolean): Variant { + if (doubleShiny) { + return !!this.summonData?.illusion + ? this.summonData?.illusion.basePokemon!.variant + : this.variant; + } else { + return this.getVariant(); + } } getLuck(): number { return this.luck + (this.isFusion() ? this.fusionLuck : 0); } - isFusion(): boolean { - return !!this.fusionSpecies; + isFusion(useIllusion: boolean = false): boolean { + if (useIllusion && !!this.summonData?.illusion) { + return !!this.summonData?.illusion.fusionSpecies; + } else { + return !!this.fusionSpecies; + } + } + + /** + * @param {boolean} useIllusion - Whether we want the fake name or the real name of the Pokemon (for Illusion ability). + */ + getName(useIllusion: boolean = false): string { + return (!useIllusion && !!this.summonData?.illusion && this.summonData?.illusion.basePokemon) + ? this.summonData?.illusion.basePokemon.name + : this.name; } /** @@ -1796,12 +1991,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param includeTeraType - `true` to include tera-formed type; Default: `false` * @param forDefend - `true` if the pokemon is defending from an attack; Default: `false` * @param ignoreOverride - If `true`, ignore ability changing effects; Default: `false` + * @param useIllusion - `true` to return the types of the illusion instead of the actual types; "AUTO" will depend on forDefend param; Default: "AUTO" * @returns array of {@linkcode PokemonType} */ public getTypes( - includeTeraType = false, - forDefend = false, - ignoreOverride = false, + includeTeraType = false, + forDefend: boolean = false, + ignoreOverride?: boolean, + useIllusion: boolean | "AUTO" = "AUTO" ): PokemonType[] { const types: PokemonType[] = []; @@ -1815,17 +2012,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } } - if (!types.length || !includeTeraType) { + + const doIllusion: boolean = (useIllusion === "AUTO") ? !forDefend : useIllusion; if ( - !ignoreOverride && - this.summonData?.types && - this.summonData.types.length > 0 + !ignoreOverride && + this.summonData?.types && + this.summonData.types.length > 0 && + (!this.summonData?.illusion || !doIllusion) ) { this.summonData.types.forEach(t => types.push(t)); } else { - const speciesForm = this.getSpeciesForm(ignoreOverride); - const fusionSpeciesForm = this.getFusionSpeciesForm(ignoreOverride); + const speciesForm = this.getSpeciesForm(ignoreOverride, doIllusion); + const fusionSpeciesForm = this.getFusionSpeciesForm(ignoreOverride, doIllusion); const customTypes = this.customPokemonData.types?.length > 0; // First type, checking for "permanently changed" types from ME @@ -2378,6 +2577,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param ignoreAbility Whether to ignore abilities that might affect type effectiveness or immunity (defaults to `false`). * @param simulated Whether to apply abilities via simulated calls (defaults to `true`) * @param cancelled {@linkcode BooleanHolder} Stores whether the move was cancelled by a non-type-based immunity. + * @param useIllusion - Whether we want the attack move effectiveness on the illusion or not * Currently only used by {@linkcode Pokemon.apply} to determine whether a "No effect" message should be shown. * @returns The type damage multiplier, indicating the effectiveness of the move */ @@ -2387,6 +2587,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ignoreAbility = false, simulated = true, cancelled?: BooleanHolder, + useIllusion: boolean = false ): TypeDamageMultiplier { if (!isNullOrUndefined(this.turnData?.moveEffectiveness)) { return this.turnData?.moveEffectiveness; @@ -2398,17 +2599,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const moveType = source.getMoveType(move); const typeMultiplier = new NumberHolder( - move.category !== MoveCategory.STATUS || - move.hasAttr(RespectAttackTypeImmunityAttr) - ? this.getAttackTypeEffectiveness( - moveType, - source, - false, - simulated, - move, - ) - : 1, - ); + move.category !== MoveCategory.STATUS || + move.hasAttr(RespectAttackTypeImmunityAttr) + ? this.getAttackTypeEffectiveness( + moveType, + source, + false, + simulated, + move, + useIllusion + ) + : 1); applyMoveAttrs( VariableMoveTypeMultiplierAttr, @@ -2512,19 +2713,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param ignoreStrongWinds whether or not this ignores strong winds (anticipation, forewarn, stealth rocks) * @param simulated tag to only apply the strong winds effect message when the move is used * @param move (optional) the move whose type effectiveness is to be checked. Used for applying {@linkcode VariableMoveTypeChartAttr} + * @param useIllusion - Whether we want the attack type effectiveness on the illusion or not * @returns a multiplier for the type effectiveness */ getAttackTypeEffectiveness( - moveType: PokemonType, - source?: Pokemon, - ignoreStrongWinds = false, - simulated = true, - move?: Move, + moveType: PokemonType, + source?: Pokemon, + ignoreStrongWinds: boolean = false, + simulated: boolean = true, + move?: Move, + useIllusion: boolean = false ): TypeDamageMultiplier { if (moveType === PokemonType.STELLAR) { return this.isTerastallized ? 2 : 1; } - const types = this.getTypes(true, true); + const types = this.getTypes(true, true, undefined, useIllusion); const arena = globalScene.arena; // Handle flying v ground type immunity without removing flying type so effective types are still effective @@ -2623,7 +2826,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { */ getMatchupScore(opponent: Pokemon): number { const types = this.getTypes(true); - const enemyTypes = opponent.getTypes(true, true); + + const enemyTypes = opponent.getTypes(true, true, false, true); /** Is this Pokemon faster than the opponent? */ const outspeed = (this.isActive(true) @@ -2634,9 +2838,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Based on how effective this Pokemon's types are offensively against the opponent's types. * This score is increased by 25 percent if this Pokemon is faster than the opponent. */ - let atkScore = - opponent.getAttackTypeEffectiveness(types[0], this) * - (outspeed ? 1.25 : 1); + let atkScore = opponent.getAttackTypeEffectiveness(types[0], this, false, true, undefined, true) * (outspeed ? 1.25 : 1); /** * Based on how effectively this Pokemon defends against the opponent's types. * This score cannot be higher than 4. @@ -2648,12 +2850,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { atkScore *= opponent.getAttackTypeEffectiveness(types[1], this); } if (enemyTypes.length > 1) { - defScore *= - 1 / - Math.max( - this.getAttackTypeEffectiveness(enemyTypes[1], opponent), - 0.25, - ); + defScore *= (1 / Math.max(this.getAttackTypeEffectiveness(enemyTypes[1], opponent, false, false, undefined, true), 0.25)); } /** * Based on this Pokemon's HP ratio compared to that of the opponent. @@ -5538,7 +5735,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.summonDataPrimer = summonDataPrimer; } + // For PreSummonAbAttr to get access to summonData + initSummondata(): void { + this.summonData = this.summonData ?? this.summonDataPrimer ?? new PokemonSummonData() + } + resetSummonData(): void { + const illusion: IllusionData | null = this.summonData?.illusion; if (this.summonData?.speciesForm) { this.summonData.speciesForm = null; this.updateFusionPalette(); @@ -5574,6 +5777,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } this.summonDataPrimer = null; } + this.summonData.illusion = illusion this.updateInfo(); } @@ -7146,15 +7350,11 @@ export class EnemyPokemon extends Pokemon { ) { targetScore = -20; } else if (move instanceof AttackMove) { - /** - * Attack moves are given extra multipliers to their base benefit score based on - * the move's type effectiveness against the target and whether the move is a STAB move. - */ - const effectiveness = target.getMoveEffectiveness( - this, - move, - !target.battleData?.abilityRevealed, - ); + /** + * Attack moves are given extra multipliers to their base benefit score based on + * the move's type effectiveness against the target and whether the move is a STAB move. + */ + const effectiveness = target.getMoveEffectiveness(this, move, !target.battleData?.abilityRevealed, undefined, undefined, true); if (target.isPlayer() !== this.isPlayer()) { targetScore *= effectiveness; if (this.isOfType(move.type)) { @@ -7543,6 +7743,42 @@ export class EnemyPokemon extends Pokemon { } } +/** + * Illusion property + */ +interface IllusionData { + basePokemon: { + /** The actual name of the Pokemon */ + name: string; + /** The actual nickname of the Pokemon */ + nickname: string; + /** Whether the base pokemon is shiny or not */ + shiny: boolean; + /** The shiny variant of the base pokemon */ + variant: Variant; + /** Whether the fusion species of the base pokemon is shiny or not */ + fusionShiny: boolean; + /** The variant of the fusion species of the base pokemon */ + fusionVariant: Variant; + }; + /** The species of the illusion */ + species: Species; + /** The formIndex of the illusion */ + formIndex: number; + /** The gender of the illusion */ + gender: Gender; + /** The pokeball of the illusion */ + pokeball: PokeballType; + /** The fusion species of the illusion if it's a fusion */ + fusionSpecies?: PokemonSpecies; + /** The fusionFormIndex of the illusion */ + fusionFormIndex?: number; + /** The fusionGender of the illusion if it's a fusion */ + fusionGender?: Gender; + /** The level of the illusion (not used currently) */ + level?: number +} + export interface TurnMove { move: Moves; targets: BattlerIndex[]; @@ -7576,9 +7812,12 @@ export class PokemonSummonData { public fusionGender: Gender; public stats: number[] = [0, 0, 0, 0, 0, 0]; public moveset: PokemonMove[]; + public illusionBroken: boolean = false; + // If not initialized this value will not be populated from save data. public types: PokemonType[] = []; public addedType: PokemonType | null = null; + public illusion: IllusionData | null = null; } export class PokemonBattleData { @@ -7589,7 +7828,7 @@ export class PokemonBattleData { public endured = false; public berriesEaten: BerryType[] = []; public abilitiesApplied: Abilities[] = []; - public abilityRevealed = false; + public abilityRevealed: boolean = false; } export class PokemonBattleSummonData { diff --git a/src/messages.ts b/src/messages.ts index e35b48f7226..c29151a98b3 100644 --- a/src/messages.ts +++ b/src/messages.ts @@ -6,9 +6,10 @@ import i18next from "i18next"; /** * 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 + * @param {boolean} useIllusion - Whether we want the name of the illusion or not. Default value : true * @returns {string} ex: "Wild Gengar", "Ectoplasma sauvage" */ -export function getPokemonNameWithAffix(pokemon: Pokemon | undefined): string { +export function getPokemonNameWithAffix(pokemon: Pokemon | undefined, useIllusion = true): string { if (!pokemon) { return "Missigno"; } @@ -18,19 +19,17 @@ export function getPokemonNameWithAffix(pokemon: Pokemon | undefined): string { return !pokemon.isPlayer() ? pokemon.hasTrainer() ? i18next.t("battle:foePokemonWithAffix", { - pokemonName: pokemon.getNameToRender(), + pokemonName: pokemon.getNameToRender(useIllusion), }) : i18next.t("battle:wildPokemonWithAffix", { - pokemonName: pokemon.getNameToRender(), + pokemonName: pokemon.getNameToRender(useIllusion), }) - : pokemon.getNameToRender(); + : pokemon.getNameToRender(useIllusion); case BattleSpec.FINAL_BOSS: return !pokemon.isPlayer() - ? i18next.t("battle:foePokemonWithAffix", { - pokemonName: pokemon.getNameToRender(), - }) - : pokemon.getNameToRender(); + ? i18next.t("battle:foePokemonWithAffix", { pokemonName: pokemon.getNameToRender(useIllusion) }) + : pokemon.getNameToRender(useIllusion); default: - return pokemon.getNameToRender(); + return pokemon.getNameToRender(useIllusion); } } diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 9e5edf3e1d9..15f3d102e41 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -1,7 +1,7 @@ import { BattlerIndex, BattleType } from "#app/battle"; import { globalScene } from "#app/global-scene"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; -import { applyAbAttrs, SyncEncounterNatureAbAttr } from "#app/data/ability"; +import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/ability"; import { initEncounterAnims, loadEncounterAnimAssets } from "#app/data/battle-anims"; import { getCharVariantFromDialogue } from "#app/data/dialogue"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; @@ -259,6 +259,9 @@ export class EncounterPhase extends BattlePhase { } if (e < (battle.double ? 2 : 1)) { if (battle.battleType === BattleType.WILD) { + for (const pokemon of globalScene.getField()) { + applyPreSummonAbAttrs(PreSummonAbAttr, pokemon, []); + } globalScene.field.add(enemyPokemon); battle.seenEnemyPartyMemberIds.add(enemyPokemon.id); const playerPokemon = globalScene.getPlayerPokemon(); @@ -545,7 +548,7 @@ export class EncounterPhase extends BattlePhase { const enemyField = globalScene.getEnemyField(); enemyField.forEach((enemyPokemon, e) => { - if (enemyPokemon.isShiny()) { + if (enemyPokemon.isShiny(true)) { globalScene.unshiftPhase(new ShinySparklePhase(BattlerIndex.ENEMY + e)); } /** This sets Eternatus' held item to be untransferrable, preventing it from being stolen */ diff --git a/src/phases/level-up-phase.ts b/src/phases/level-up-phase.ts index 31c7fabf451..c6ca17d583e 100644 --- a/src/phases/level-up-phase.ts +++ b/src/phases/level-up-phase.ts @@ -71,6 +71,7 @@ export class LevelUpPhase extends PlayerPartyMemberPokemonPhase { if (!this.pokemon.pauseEvolutions) { const evolution = this.pokemon.getEvolution(); if (evolution) { + this.pokemon.breakIllusion() globalScene.unshiftPhase(new EvolutionPhase(this.pokemon, evolution, this.lastLevel)); } } diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index 621c8c8c2a9..7379d509e55 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -13,6 +13,7 @@ import { PostSummonPhase } from "./post-summon-phase"; import { GameOverPhase } from "./game-over-phase"; import { ShinySparklePhase } from "./shiny-sparkle-phase"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; +import { applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/ability"; import { globalScene } from "#app/global-scene"; export class SummonPhase extends PartyMemberPokemonPhase { @@ -27,6 +28,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { start() { super.start(); + applyPreSummonAbAttrs(PreSummonAbAttr, this.getPokemon()); this.preSummon(); } @@ -126,7 +128,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { this.player ? 36 : 248, this.player ? 80 : 44, "pb", - getPokeballAtlasKey(pokemon.pokeball), + getPokeballAtlasKey(pokemon.getPokeball(true)), ); pokeball.setVisible(false); pokeball.setOrigin(0.5, 0.625); @@ -175,7 +177,11 @@ export class SummonPhase extends PartyMemberPokemonPhase { } globalScene.currentBattle.seenEnemyPartyMemberIds.add(pokemon.id); } - addPokeballOpenParticles(pokemon.x, pokemon.y - 16, pokemon.pokeball); + addPokeballOpenParticles( + pokemon.x, + pokemon.y - 16, + pokemon.getPokeball(true), + ); globalScene.updateModifiers(this.player); globalScene.updateFieldScale(); pokemon.showInfo(); @@ -183,7 +189,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { pokemon.setVisible(true); pokemon.getSprite().setVisible(true); pokemon.setScale(0.5); - pokemon.tint(getPokeballTintColor(pokemon.pokeball)); + pokemon.tint(getPokeballTintColor(pokemon.getPokeball(true))); pokemon.untint(250, "Sine.easeIn"); globalScene.updateFieldScale(); globalScene.tweens.add({ @@ -270,7 +276,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { onEnd(): void { const pokemon = this.getPokemon(); - if (pokemon.isShiny()) { + if (pokemon.isShiny(true)) { globalScene.unshiftPhase(new ShinySparklePhase(pokemon.getBattlerIndex())); } diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index e0903ada275..d63cdb90f25 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -1,5 +1,11 @@ import { globalScene } from "#app/global-scene"; -import { applyPreSwitchOutAbAttrs, PostDamageForceSwitchAbAttr, PreSwitchOutAbAttr } from "#app/data/ability"; +import { + applyPreSummonAbAttrs, + applyPreSwitchOutAbAttrs, + PostDamageForceSwitchAbAttr, + PreSummonAbAttr, + PreSwitchOutAbAttr, +} from "#app/data/ability"; import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; import { getPokeballTintColor } from "#app/data/pokeball"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; @@ -99,7 +105,7 @@ export class SwitchSummonPhase extends SummonPhase { ); globalScene.playSound("se/pb_rel"); pokemon.hideInfo(); - pokemon.tint(getPokeballTintColor(pokemon.pokeball), 1, 250, "Sine.easeIn"); + pokemon.tint(getPokeballTintColor(pokemon.getPokeball(true)), 1, 250, "Sine.easeIn"); globalScene.tweens.add({ targets: pokemon, duration: 250, @@ -116,6 +122,7 @@ export class SwitchSummonPhase extends SummonPhase { const party = this.player ? this.getParty() : globalScene.getEnemyParty(); const switchedInPokemon = party[this.slotIndex]; this.lastPokemon = this.getPokemon(); + applyPreSummonAbAttrs(PreSummonAbAttr, switchedInPokemon); applyPreSwitchOutAbAttrs(PreSwitchOutAbAttr, this.lastPokemon); if (this.switchType === SwitchType.BATON_PASS && switchedInPokemon) { (this.player ? globalScene.getEnemyField() : globalScene.getPlayerField()).forEach(enemyPokemon => diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 63955b02de8..53146301666 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -1426,12 +1426,11 @@ export class GameData { ), ) // TODO: is this bang correct? : this.getSessionSaveData(); - const maxIntAttrValue = 0x80000000; const systemData = useCachedSystem ? this.parseSystemData(decrypt(localStorage.getItem(`data_${loggedInUser?.username}`)!, bypassLogin)) : this.getSystemSaveData(); // TODO: is this bang correct? - + const request = { system: systemData, session: sessionData, @@ -1448,7 +1447,6 @@ export class GameData { bypassLogin, ), ); - localStorage.setItem( `sessionData${globalScene.sessionSlotId ? globalScene.sessionSlotId : ""}_${loggedInUser?.username}`, encrypt(JSON.stringify(sessionData), bypassLogin), diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 7cdcb0c72c3..97ce494a43a 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -79,12 +79,14 @@ export default class PokemonData { this.id = source.id; this.player = sourcePokemon ? sourcePokemon.isPlayer() : source.player; this.species = sourcePokemon ? sourcePokemon.species.speciesId : source.species; - this.nickname = sourcePokemon ? sourcePokemon.nickname : source.nickname; + this.nickname = sourcePokemon + ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.nickname : sourcePokemon.nickname) + : source.nickname; this.formIndex = Math.max(Math.min(source.formIndex, getPokemonSpecies(this.species).forms.length - 1), 0); this.abilityIndex = source.abilityIndex; this.passive = source.passive; - this.shiny = source.shiny; - this.variant = source.variant; + this.shiny = sourcePokemon ? sourcePokemon.isShiny() : source.shiny; + this.variant = sourcePokemon ? sourcePokemon.getVariant() : source.variant; this.pokeball = source.pokeball; this.level = source.level; this.exp = source.exp; @@ -117,8 +119,12 @@ export default class PokemonData { this.fusionSpecies = sourcePokemon ? sourcePokemon.fusionSpecies?.speciesId : source.fusionSpecies; this.fusionFormIndex = source.fusionFormIndex; this.fusionAbilityIndex = source.fusionAbilityIndex; - this.fusionShiny = source.fusionShiny; - this.fusionVariant = source.fusionVariant; + this.fusionShiny = sourcePokemon + ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.fusionShiny : sourcePokemon.fusionShiny) + : source.fusionShiny; + this.fusionVariant = sourcePokemon + ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.fusionVariant : sourcePokemon.fusionVariant) + : source.fusionVariant; this.fusionGender = source.fusionGender; this.fusionLuck = source.fusionLuck !== undefined ? source.fusionLuck : source.fusionShiny ? source.fusionVariant + 1 : 0; @@ -174,6 +180,7 @@ export default class PokemonData { this.summonData.types = source.summonData.types; this.summonData.speciesForm = source.summonData.speciesForm; this.summonDataSpeciesFormIndex = source.summonDataSpeciesFormIndex; + this.summonData.illusionBroken = source.summonData.illusionBroken; if (source.summonData.tags) { this.summonData.tags = source.summonData.tags?.map(t => loadBattlerTag(t)); @@ -219,6 +226,7 @@ export default class PokemonData { if (this.summonData) { // when loading from saved session, recover summonData.speciesFrom and form index species object // used to stay transformed on reload session + if (this.summonData.speciesForm) { this.summonData.speciesForm = getPokemonSpeciesForm( this.summonData.speciesForm.speciesId, diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 2b205329ab8..06c5f7fb3f1 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -356,7 +356,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { }); this.teraIcon.on("pointerout", () => globalScene.ui.hideTooltip()); - const isFusion = pokemon.isFusion(); + const isFusion = pokemon.isFusion(true); this.splicedIcon.setPositionRelative( this.nameText, @@ -375,7 +375,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { } const doubleShiny = isFusion && pokemon.shiny && pokemon.fusionShiny; - const baseVariant = !doubleShiny ? pokemon.getVariant() : pokemon.variant; + const baseVariant = !doubleShiny ? pokemon.getVariant(true) : pokemon.variant; this.shinyIcon.setPositionRelative( this.nameText, @@ -617,6 +617,11 @@ export default class BattleInfo extends Phaser.GameObjects.Container { return resolve(); } + const gender: Gender = !!pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + + this.genderText.setText(getGenderSymbol(gender)); + this.genderText.setColor(getGenderColor(gender)); + const nameUpdated = this.lastName !== pokemon.getNameToRender(); if (nameUpdated) { @@ -638,8 +643,10 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.lastTeraType = teraType; } + const isFusion = pokemon.isFusion(true); + if (nameUpdated || teraTypeUpdated) { - this.splicedIcon.setVisible(!!pokemon.fusionSpecies); + this.splicedIcon.setVisible(isFusion); this.teraIcon.setPositionRelative( this.nameText, @@ -764,7 +771,17 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.lastStats = statsStr; } - this.shinyIcon.setVisible(pokemon.isShiny()); + this.shinyIcon.setVisible(pokemon.isShiny(true)); + + const doubleShiny = isFusion && pokemon.shiny && pokemon.fusionShiny; + const baseVariant = !doubleShiny ? pokemon.getVariant(true) : pokemon.variant; + this.shinyIcon.setTint(getVariantTint(baseVariant)); + + this.fusionShinyIcon.setVisible(doubleShiny); + if (isFusion) { + this.fusionShinyIcon.setTint(getVariantTint(pokemon.fusionVariant)); + } + this.fusionShinyIcon.setPosition(this.shinyIcon.x, this.shinyIcon.y); resolve(); }); @@ -777,10 +794,11 @@ export default class BattleInfo extends Phaser.GameObjects.Container { const nameSizeTest = addTextObject(0, 0, displayName, TextStyle.BATTLE_INFO); nameTextWidth = nameSizeTest.displayWidth; + const gender: Gender = !!pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; while ( nameTextWidth > (this.player || !this.boss ? 60 : 98) - - ((pokemon.gender !== Gender.GENDERLESS ? 6 : 0) + + ((gender !== Gender.GENDERLESS ? 6 : 0) + (pokemon.fusionSpecies ? 8 : 0) + (pokemon.isShiny() ? 8 : 0) + (Math.min(pokemon.level.toString().length, 3) - 3) * 8) diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 3775dbc2228..27985629e3d 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -306,6 +306,9 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { pokemon, pokemonMove.getMove(), !opponent.battleData?.abilityRevealed, + undefined, + undefined, + true ); if (effectiveness === undefined) { return undefined; @@ -350,7 +353,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { const moveColors = opponents .map(opponent => - opponent.getMoveEffectiveness(pokemon, pokemonMove.getMove(), !opponent.battleData.abilityRevealed), + opponent.getMoveEffectiveness(pokemon, pokemonMove.getMove(), !opponent.battleData.abilityRevealed, undefined, undefined, true), ) .sort((a, b) => b - a) .map(effectiveness => getTypeDamageMultiplierColor(effectiveness ?? 0, "offense")); diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 61a98d79fbb..ba90108c274 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -193,18 +193,14 @@ export default class PartyUiHandler extends MessageUiHandler { public static FilterNonFainted = (pokemon: PlayerPokemon) => { if (pokemon.isFainted()) { - return i18next.t("partyUiHandler:noEnergy", { - pokemonName: getPokemonNameWithAffix(pokemon), - }); + return i18next.t("partyUiHandler:noEnergy", { pokemonName: getPokemonNameWithAffix(pokemon, false) }); } return null; }; public static FilterFainted = (pokemon: PlayerPokemon) => { if (!pokemon.isFainted()) { - return i18next.t("partyUiHandler:hasEnergy", { - pokemonName: getPokemonNameWithAffix(pokemon), - }); + return i18next.t("partyUiHandler:hasEnergy", { pokemonName: getPokemonNameWithAffix(pokemon, false) }); } return null; }; @@ -218,9 +214,7 @@ export default class PartyUiHandler extends MessageUiHandler { const challengeAllowed = new BooleanHolder(true); applyChallenges(ChallengeType.POKEMON_IN_BATTLE, pokemon, challengeAllowed); if (!challengeAllowed.value) { - return i18next.t("partyUiHandler:cantBeUsed", { - pokemonName: getPokemonNameWithAffix(pokemon), - }); + return i18next.t("partyUiHandler:cantBeUsed", { pokemonName: getPokemonNameWithAffix(pokemon, false) }); } return null; }; @@ -232,9 +226,7 @@ export default class PartyUiHandler extends MessageUiHandler { m => m instanceof PokemonHeldItemModifier && m.pokemonId === pokemon.id && m.matchType(modifier), ) as PokemonHeldItemModifier; if (matchingModifier && matchingModifier.stackCount === matchingModifier.getMaxStackCount()) { - return i18next.t("partyUiHandler:tooManyItems", { - pokemonName: getPokemonNameWithAffix(pokemon), - }); + return i18next.t("partyUiHandler:tooManyItems", { pokemonName: getPokemonNameWithAffix(pokemon, false) }); } return null; }; @@ -583,7 +575,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.showText( i18next.t( pokemon.pauseEvolutions ? "partyUiHandler:pausedEvolutions" : "partyUiHandler:unpausedEvolutions", - { pokemonName: getPokemonNameWithAffix(pokemon) }, + { pokemonName: getPokemonNameWithAffix(pokemon, false) }, ), undefined, () => this.showText("", 0), @@ -596,14 +588,14 @@ export default class PartyUiHandler extends MessageUiHandler { this.showText( i18next.t("partyUiHandler:unspliceConfirmation", { fusionName: pokemon.fusionSpecies?.name, - pokemonName: pokemon.name, + pokemonName: pokemon.getName(), }), null, () => { ui.setModeWithoutClear( Mode.CONFIRM, () => { - const fusionName = pokemon.name; + const fusionName = pokemon.getName(); pokemon.unfuse().then(() => { this.clearPartySlots(); this.populatePartySlots(); @@ -611,7 +603,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.showText( i18next.t("partyUiHandler:wasReverted", { fusionName: fusionName, - pokemonName: pokemon.name, + pokemonName: pokemon.getName(false), }), undefined, () => { @@ -637,7 +629,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.blockInput = true; this.showText( i18next.t("partyUiHandler:releaseConfirmation", { - pokemonName: getPokemonNameWithAffix(pokemon), + pokemonName: getPokemonNameWithAffix(pokemon, false), }), null, () => { @@ -1285,7 +1277,7 @@ export default class PartyUiHandler extends MessageUiHandler { doRelease(slotIndex: number): void { this.showText( - this.getReleaseMessage(getPokemonNameWithAffix(globalScene.getPlayerParty()[slotIndex])), + this.getReleaseMessage(getPokemonNameWithAffix(globalScene.getPlayerParty()[slotIndex], false)), null, () => { this.clearPartySlots(); @@ -1495,7 +1487,7 @@ class PartySlot extends Phaser.GameObjects.Container { const slotInfoContainer = globalScene.add.container(0, 0); this.add(slotInfoContainer); - let displayName = this.pokemon.getNameToRender(); + let displayName = this.pokemon.getNameToRender(false); let nameTextWidth: number; const nameSizeTest = addTextObject(0, 0, displayName, TextStyle.PARTY); @@ -1575,12 +1567,12 @@ class PartySlot extends Phaser.GameObjects.Container { } if (this.pokemon.isShiny()) { - const doubleShiny = this.pokemon.isFusion() && this.pokemon.shiny && this.pokemon.fusionShiny; + const doubleShiny = this.pokemon.isDoubleShiny(false); const shinyStar = globalScene.add.image(0, 0, `shiny_star_small${doubleShiny ? "_1" : ""}`); shinyStar.setOrigin(0, 0); shinyStar.setPositionRelative(this.slotName, -9, 3); - shinyStar.setTint(getVariantTint(!doubleShiny ? this.pokemon.getVariant() : this.pokemon.variant)); + shinyStar.setTint(getVariantTint(this.pokemon.getBaseVariant(doubleShiny))); slotInfoContainer.add(shinyStar); @@ -1588,7 +1580,9 @@ class PartySlot extends Phaser.GameObjects.Container { const fusionShinyStar = globalScene.add.image(0, 0, "shiny_star_small_2"); fusionShinyStar.setOrigin(0, 0); fusionShinyStar.setPosition(shinyStar.x, shinyStar.y); - fusionShinyStar.setTint(getVariantTint(this.pokemon.fusionVariant)); + fusionShinyStar.setTint( + getVariantTint(this.pokemon.summonData?.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), + ); slotInfoContainer.add(fusionShinyStar); } diff --git a/src/ui/rename-form-ui-handler.ts b/src/ui/rename-form-ui-handler.ts index 91c0025d283..7083f83865b 100644 --- a/src/ui/rename-form-ui-handler.ts +++ b/src/ui/rename-form-ui-handler.ts @@ -38,7 +38,7 @@ export default class RenameFormUiHandler extends FormModalUiHandler { if (super.show(args)) { const config = args[0] as ModalConfig; if (args[1] && typeof (args[1] as PlayerPokemon).getNameToRender === "function") { - this.inputs[0].text = (args[1] as PlayerPokemon).getNameToRender(); + this.inputs[0].text = (args[1] as PlayerPokemon).getNameToRender(false); } else { this.inputs[0].text = args[1]; } diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 1e0924aa2c5..04bcf71d7ae 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -357,8 +357,14 @@ export default class SummaryUiHandler extends UiHandler { this.pokemonSprite.setPipelineData("isTerastallized", this.pokemon.isTerastallized); this.pokemonSprite.setPipelineData("ignoreTimeTint", true); this.pokemonSprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey()); - this.pokemonSprite.setPipelineData("shiny", this.pokemon.shiny); - this.pokemonSprite.setPipelineData("variant", this.pokemon.variant); + this.pokemonSprite.setPipelineData( + "shiny", + this.pokemon.summonData?.illusion?.basePokemon.shiny ?? this.pokemon.shiny, + ); + this.pokemonSprite.setPipelineData( + "variant", + this.pokemon.summonData?.illusion?.basePokemon.variant ?? this.pokemon.variant, + ); ["spriteColors", "fusionSpriteColors"].map(k => { delete this.pokemonSprite.pipelineData[`${k}Base`]; if (this.pokemon?.summonData?.speciesForm) { @@ -368,7 +374,7 @@ export default class SummaryUiHandler extends UiHandler { }); this.pokemon.cry(); - this.nameText.setText(this.pokemon.getNameToRender()); + this.nameText.setText(this.pokemon.getNameToRender(false)); const isFusion = this.pokemon.isFusion(); @@ -426,8 +432,8 @@ export default class SummaryUiHandler extends UiHandler { this.friendshipShadow.setCrop(0, 0, 16, 16 - 16 * ((this.pokemon?.friendship || 0) / 255)); - const doubleShiny = isFusion && this.pokemon.shiny && this.pokemon.fusionShiny; - const baseVariant = !doubleShiny ? this.pokemon.getVariant() : this.pokemon.variant; + const doubleShiny = this.pokemon.isDoubleShiny(false); + const baseVariant = this.pokemon.getBaseVariant(doubleShiny); this.shinyIcon.setPositionRelative( this.nameText, @@ -435,7 +441,7 @@ export default class SummaryUiHandler extends UiHandler { 3, ); this.shinyIcon.setTexture(`shiny_star${doubleShiny ? "_1" : ""}`); - this.shinyIcon.setVisible(this.pokemon.isShiny()); + this.shinyIcon.setVisible(this.pokemon.isShiny(false)); this.shinyIcon.setTint(getVariantTint(baseVariant)); if (this.shinyIcon.visible) { const shinyDescriptor = @@ -455,7 +461,9 @@ export default class SummaryUiHandler extends UiHandler { this.fusionShinyIcon.setPosition(this.shinyIcon.x, this.shinyIcon.y); this.fusionShinyIcon.setVisible(doubleShiny); if (isFusion) { - this.fusionShinyIcon.setTint(getVariantTint(this.pokemon.fusionVariant)); + this.fusionShinyIcon.setTint( + getVariantTint(this.pokemon.summonData?.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), + ); } this.pokeball.setFrame(getPokeballAtlasKey(this.pokemon.pokeball)); @@ -838,7 +846,7 @@ export default class SummaryUiHandler extends UiHandler { return typeIcon; }; - const types = this.pokemon?.getTypes(false, false, true)!; // TODO: is this bang correct? + const types = this.pokemon?.getTypes(false, false, true, false)!; // TODO: is this bang correct? profileContainer.add(getTypeIcon(0, types[0])); if (types.length > 1) { profileContainer.add(getTypeIcon(1, types[1])); diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts new file mode 100644 index 00000000000..aa77aa701b2 --- /dev/null +++ b/test/abilities/illusion.test.ts @@ -0,0 +1,144 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; +import Phaser from "phaser"; +import GameManager from "#test/testUtils/gameManager"; +import { Species } from "#enums/species"; +import { TurnEndPhase } from "#app/phases/turn-end-phase"; +import { Moves } from "#enums/moves"; +import { Abilities } from "#enums/abilities"; +import { PokeballType } from "#app/enums/pokeball"; +import { Gender } from "#app/data/gender"; + +describe("Abilities - Illusion", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override.battleType("single"); + game.override.enemySpecies(Species.ZORUA); + game.override.enemyAbility(Abilities.ILLUSION); + game.override.enemyMoveset(Moves.TACKLE); + game.override.enemyHeldItems([{ name: "WIDE_LENS", count: 3 }]); + + game.override.moveset([Moves.WORRY_SEED, Moves.SOAK, Moves.TACKLE]); + game.override.startingHeldItems([{ name: "WIDE_LENS", count: 3 }]); + }); + + it("creates illusion at the start", async () => { + await game.classicMode.startBattle([Species.ZOROARK, Species.AXEW]); + const zoroark = game.scene.getPlayerPokemon()!; + const zorua = game.scene.getEnemyPokemon()!; + + expect(!!zoroark.summonData?.illusion).equals(true); + expect(!!zorua.summonData?.illusion).equals(true); + }); + + it("break after receiving damaging move", async () => { + await game.classicMode.startBattle([Species.AXEW]); + game.move.select(Moves.TACKLE); + + await game.phaseInterceptor.to(TurnEndPhase); + + const zorua = game.scene.getEnemyPokemon()!; + + expect(!!zorua.summonData?.illusion).equals(false); + expect(zorua.name).equals("Zorua"); + }); + + it("break after getting ability changed", async () => { + await game.classicMode.startBattle([Species.AXEW]); + game.move.select(Moves.WORRY_SEED); + + await game.phaseInterceptor.to(TurnEndPhase); + + const zorua = game.scene.getEnemyPokemon()!; + + expect(!!zorua.summonData?.illusion).equals(false); + }); + + it("break if the ability is suppressed", async () => { + game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); + await game.classicMode.startBattle([Species.KOFFING]); + + const zorua = game.scene.getEnemyPokemon()!; + + expect(!!zorua.summonData?.illusion).equals(false); + }); + + it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => { + game.override.enemyMoveset([Moves.FLAMETHROWER, Moves.PSYCHIC, Moves.TACKLE]); + await game.classicMode.startBattle([Species.ZOROARK, Species.AXEW]); + + const enemy = game.scene.getEnemyPokemon()!; + const zoroark = game.scene.getPlayerPokemon()!; + + const flameThrower = enemy.getMoveset()[0]!.getMove(); + const psychic = enemy.getMoveset()[1]!.getMove(); + const flameThrowerEffectiveness = zoroark.getAttackTypeEffectiveness( + flameThrower.type, + enemy, + undefined, + undefined, + flameThrower, + true, + ); + const psychicEffectiveness = zoroark.getAttackTypeEffectiveness( + psychic.type, + enemy, + undefined, + undefined, + psychic, + true, + ); + expect(psychicEffectiveness).above(flameThrowerEffectiveness); + }); + + it("does not break from indirect damage", async () => { + game.override.enemySpecies(Species.GIGALITH); + game.override.enemyAbility(Abilities.SAND_STREAM); + game.override.enemyMoveset(Moves.WILL_O_WISP); + game.override.moveset([Moves.FLARE_BLITZ]); + + await game.classicMode.startBattle([Species.ZOROARK, Species.AZUMARILL]); + + game.move.select(Moves.FLARE_BLITZ); + + await game.phaseInterceptor.to(TurnEndPhase); + + const zoroark = game.scene.getPlayerPokemon()!; + + expect(!!zoroark.summonData?.illusion).equals(true); + }); + + it("copies the the name, nickname, gender, shininess, and pokeball from the illusion source", async () => { + game.override.enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.ABRA, Species.ZOROARK, Species.AXEW]); + const axew = game.scene.getPlayerParty().at(2)!; + axew.shiny = true; + axew.nickname = btoa(unescape(encodeURIComponent("axew nickname"))); + axew.gender = Gender.FEMALE; + axew.pokeball = PokeballType.GREAT_BALL; + + game.doSwitchPokemon(1); + + await game.phaseInterceptor.to(TurnEndPhase); + + const zoroark = game.scene.getPlayerPokemon()!; + + expect(zoroark.name).equals("Axew"); + expect(zoroark.getNameToRender()).equals("axew nickname"); + expect(zoroark.getGender(false, true)).equals(Gender.FEMALE); + expect(zoroark.isShiny(true)).equals(true); + expect(zoroark.getPokeball(true)).equals(PokeballType.GREAT_BALL); + }); +}); From c82e01eed377cacc5d3ffd2ef9caa27270e8a2dc Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:31:26 -0500 Subject: [PATCH 020/102] [Refactor] Move many interfaces and enums to their own file (#5646) * Move LearnMoveSituation to its own file * Remove unused selfStatLowerMoves array * Move all-moves to its own file * Move TurnMove interface to its own file * move AiType to its own file * Move PokemonMove to its own file * Move DamageCalculationResult interface to its own file * Move fieldPosition to its own file * Move hit-result to its own file * Move DamageResult to its own file * Move SpeciesWildEvolutionDelay to its own file * move EvolutionItem to its own file --- src/@types/damage-result.ts | 10 + src/battle-scene.ts | 2 +- src/battle.ts | 3 +- src/data/ability.ts | 9 +- src/data/arena-tag.ts | 5 +- src/data/balance/egg-moves.ts | 2 +- src/data/balance/pokemon-evolutions.ts | 60 +---- src/data/battle-anims.ts | 3 +- src/data/battler-tags.ts | 5 +- src/data/berry.ts | 2 +- src/data/challenge.ts | 2 +- src/data/moves/all-moves.ts | 3 + src/data/moves/move.ts | 21 +- src/data/moves/pokemon-move.ts | 93 ++++++++ .../encounters/absolute-avarice-encounter.ts | 3 +- .../encounters/bug-type-superfan-encounter.ts | 4 +- .../encounters/clowning-around-encounter.ts | 2 +- .../encounters/dancing-lessons-encounter.ts | 3 +- .../encounters/field-trip-encounter.ts | 3 +- .../encounters/fiery-fallout-encounter.ts | 2 +- .../encounters/fun-and-games-encounter.ts | 2 +- .../global-trade-system-encounter.ts | 3 +- .../encounters/lost-at-sea-encounter.ts | 2 +- .../slumbering-snorlax-encounter.ts | 3 +- .../encounters/the-strong-stuff-encounter.ts | 2 +- .../encounters/trash-to-treasure-encounter.ts | 2 +- .../encounters/uncommon-breed-encounter.ts | 2 +- .../encounters/weird-dream-encounter.ts | 2 +- .../mystery-encounter-requirements.ts | 3 +- .../mystery-encounters/mystery-encounter.ts | 3 +- .../can-learn-move-requirement.ts | 2 +- .../utils/encounter-phase-utils.ts | 7 +- src/data/pokemon-forms.ts | 2 +- src/data/pokemon-species.ts | 7 +- src/data/trainers/trainer-config.ts | 2 +- src/enums/ai-type.ts | 5 + src/enums/evolution-item.ts | 48 ++++ src/enums/field-position.ts | 5 + src/enums/hit-result.ts | 15 ++ src/enums/learn-move-context.ts | 8 + src/enums/species-wild-evolution-delay.ts | 8 + src/field/damage-number-handler.ts | 4 +- src/field/pokemon.ts | 206 ++---------------- src/interfaces/attack-move-result.ts | 12 + src/interfaces/damage-calculation-result.ts | 11 + src/interfaces/turn-move.ts | 12 + src/modifier/modifier-type.ts | 9 +- src/modifier/modifier.ts | 2 +- src/overrides.ts | 2 +- src/phases/command-phase.ts | 5 +- src/phases/damage-anim-phase.ts | 3 +- src/phases/encounter-phase.ts | 2 +- src/phases/evolution-phase.ts | 10 +- src/phases/faint-phase.ts | 7 +- src/phases/learn-move-phase.ts | 2 +- src/phases/move-charge-phase.ts | 2 +- src/phases/move-effect-phase.ts | 5 +- src/phases/move-header-phase.ts | 2 +- src/phases/move-phase.ts | 4 +- src/phases/pokemon-heal-phase.ts | 2 +- src/phases/pokemon-transform-phase.ts | 2 +- src/phases/select-target-phase.ts | 2 +- src/phases/summon-phase.ts | 2 +- src/phases/switch-summon-phase.ts | 3 +- src/phases/toggle-double-position-phase.ts | 2 +- src/phases/turn-start-phase.ts | 5 +- src/phases/weather-effect-phase.ts | 2 +- src/system/game-data.ts | 2 +- src/system/pokemon-data.ts | 3 +- src/ui/fight-ui-handler.ts | 2 +- src/ui/modifier-select-ui-handler.ts | 2 +- src/ui/party-ui-handler.ts | 6 +- src/ui/pokedex-page-ui-handler.ts | 2 +- src/ui/pokedex-scan-ui-handler.ts | 2 +- src/ui/pokedex-ui-handler.ts | 2 +- src/ui/pokemon-hatch-info-container.ts | 2 +- src/ui/starter-select-ui-handler.ts | 2 +- src/ui/summary-ui-handler.ts | 3 +- test/abilities/aura_break.test.ts | 2 +- test/abilities/battery.test.ts | 2 +- test/abilities/battle_bond.test.ts | 3 +- test/abilities/flower_veil.test.ts | 2 +- test/abilities/friend_guard.test.ts | 2 +- test/abilities/galvanize.test.ts | 4 +- test/abilities/hustle.test.ts | 2 +- test/abilities/infiltrator.test.ts | 2 +- test/abilities/libero.test.ts | 2 +- test/abilities/magic_bounce.test.ts | 2 +- test/abilities/power_spot.test.ts | 2 +- test/abilities/protean.test.ts | 2 +- test/abilities/sap_sipper.test.ts | 3 +- test/abilities/serene_grace.test.ts | 2 +- test/abilities/sheer_force.test.ts | 3 +- test/abilities/steely_spirit.test.ts | 2 +- test/abilities/supreme_overlord.test.ts | 2 +- test/abilities/tera_shell.test.ts | 2 +- test/abilities/unburden.test.ts | 3 +- test/abilities/wimp_out.test.ts | 9 +- test/abilities/wonder_skin.test.ts | 2 +- test/arena/arena_gravity.test.ts | 2 +- test/arena/grassy_terrain.test.ts | 2 +- test/arena/weather_fog.test.ts | 2 +- test/arena/weather_strong_winds.test.ts | 2 +- test/battle/damage_calculation.test.ts | 2 +- test/battlerTags/substitute.test.ts | 6 +- test/enemy_command.test.ts | 4 +- test/evolution.test.ts | 7 +- test/imports.test.ts | 2 +- test/items/reviver_seed.test.ts | 2 +- test/moves/astonish.test.ts | 2 +- test/moves/aurora_veil.test.ts | 3 +- test/moves/burning_jealousy.test.ts | 2 +- test/moves/ceaseless_edge.test.ts | 2 +- test/moves/copycat.test.ts | 3 +- test/moves/destiny_bond.test.ts | 2 +- test/moves/diamond_storm.test.ts | 2 +- test/moves/dig.test.ts | 2 +- test/moves/dragon_tail.test.ts | 2 +- test/moves/dynamax_cannon.test.ts | 2 +- test/moves/effectiveness.test.ts | 2 +- test/moves/fell_stinger.test.ts | 2 +- test/moves/fly.test.ts | 2 +- test/moves/freezy_frost.test.ts | 2 +- test/moves/fusion_flare_bolt.test.ts | 2 +- test/moves/glaive_rush.test.ts | 2 +- test/moves/hard_press.test.ts | 2 +- test/moves/hyper_beam.test.ts | 2 +- test/moves/lash_out.test.ts | 2 +- test/moves/last_respects.test.ts | 2 +- test/moves/light_screen.test.ts | 3 +- test/moves/magic_coat.test.ts | 2 +- test/moves/metronome.test.ts | 3 +- test/moves/moongeist_beam.test.ts | 3 +- test/moves/pledge_moves.test.ts | 3 +- test/moves/powder.test.ts | 3 +- test/moves/protect.test.ts | 2 +- test/moves/rage_fist.test.ts | 2 +- test/moves/reflect.test.ts | 3 +- test/moves/retaliate.test.ts | 2 +- test/moves/rollout.test.ts | 2 +- test/moves/round.test.ts | 2 +- test/moves/scale_shot.test.ts | 2 +- test/moves/secret_power.test.ts | 2 +- test/moves/shell_side_arm.test.ts | 3 +- test/moves/shell_trap.test.ts | 2 +- test/moves/sketch.test.ts | 6 +- test/moves/solar_beam.test.ts | 2 +- test/moves/sparkly_swirl.test.ts | 2 +- test/moves/spectral_thief.test.ts | 2 +- test/moves/spit_up.test.ts | 4 +- test/moves/steamroller.test.ts | 4 +- test/moves/stockpile.test.ts | 2 +- test/moves/substitute.test.ts | 3 +- test/moves/swallow.test.ts | 2 +- test/moves/telekinesis.test.ts | 2 +- test/moves/tera_blast.test.ts | 5 +- test/moves/toxic.test.ts | 2 +- test/moves/triple_arrows.test.ts | 3 +- ...an-offer-you-cant-refuse-encounter.test.ts | 3 +- .../bug-type-superfan-encounter.test.ts | 2 +- .../clowning-around-encounter.test.ts | 2 +- .../dancing-lessons-encounter.test.ts | 2 +- .../fight-or-flight-encounter.test.ts | 2 +- .../encounters/part-timer-encounter.test.ts | 2 +- .../the-strong-stuff-encounter.test.ts | 2 +- .../trash-to-treasure-encounter.test.ts | 2 +- .../uncommon-breed-encounter.test.ts | 2 +- test/testUtils/helpers/moveHelper.ts | 2 +- 168 files changed, 490 insertions(+), 455 deletions(-) create mode 100644 src/@types/damage-result.ts create mode 100644 src/data/moves/all-moves.ts create mode 100644 src/data/moves/pokemon-move.ts create mode 100644 src/enums/ai-type.ts create mode 100644 src/enums/evolution-item.ts create mode 100644 src/enums/field-position.ts create mode 100644 src/enums/hit-result.ts create mode 100644 src/enums/learn-move-context.ts create mode 100644 src/enums/species-wild-evolution-delay.ts create mode 100644 src/interfaces/attack-move-result.ts create mode 100644 src/interfaces/damage-calculation-result.ts create mode 100644 src/interfaces/turn-move.ts diff --git a/src/@types/damage-result.ts b/src/@types/damage-result.ts new file mode 100644 index 00000000000..7086d843cf4 --- /dev/null +++ b/src/@types/damage-result.ts @@ -0,0 +1,10 @@ +import type { HitResult } from "#enums/hit-result"; + +export type DamageResult = + | HitResult.EFFECTIVE + | HitResult.SUPER_EFFECTIVE + | HitResult.NOT_VERY_EFFECTIVE + | HitResult.ONE_HIT_KO + | HitResult.CONFUSION + | HitResult.INDIRECT_KO + | HitResult.INDIRECT; diff --git a/src/battle-scene.ts b/src/battle-scene.ts index dd983f2b397..12dbfca68e8 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -51,7 +51,7 @@ import { initGameSpeed } from "#app/system/game-speed"; import { Arena, ArenaBase } from "#app/field/arena"; import { GameData } from "#app/system/game-data"; import { addTextObject, getTextColor, TextStyle } from "#app/ui/text"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "./data/moves/all-moves"; import { MusicPreference } from "#app/system/settings/settings"; import { getDefaultModifierTypeForTier, diff --git a/src/battle.ts b/src/battle.ts index fb5af223b8f..1122db2679a 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -15,7 +15,8 @@ import { MoneyMultiplierModifier, PokemonHeldItemModifier } from "./modifier/mod import type { PokeballType } from "#enums/pokeball"; import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { SpeciesFormKey } from "#enums/species-form-key"; -import type { EnemyPokemon, PlayerPokemon, TurnMove } from "#app/field/pokemon"; +import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; +import type { TurnMove } from "./interfaces/turn-move"; import type Pokemon from "#app/field/pokemon"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattleSpec } from "#enums/battle-spec"; diff --git a/src/data/ability.ts b/src/data/ability.ts index 3e32a624f9f..02cc12dd0f4 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -1,6 +1,8 @@ -import type { EnemyPokemon, PokemonMove } from "../field/pokemon"; +import type { EnemyPokemon } from "../field/pokemon"; +import type { PokemonMove } from "./moves/pokemon-move"; import type Pokemon from "../field/pokemon"; -import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon"; +import { MoveResult, PlayerPokemon } from "../field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { PokemonType } from "#enums/pokemon-type"; import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; import { getPokemonNameWithAffix } from "../messages"; @@ -10,7 +12,8 @@ import { BattlerTagLapseType, GroundedTag } from "./battler-tags"; import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect"; import { Gender } from "./gender"; import type Move from "./moves/move"; -import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move"; +import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move"; +import { allMoves } from "./moves/all-moves"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 871f622f70a..c6a1515685f 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -2,12 +2,13 @@ import { globalScene } from "#app/global-scene"; import type { Arena } from "#app/field/arena"; import { PokemonType } from "#enums/pokemon-type"; import { BooleanHolder, NumberHolder, toDmgValue } from "#app/utils"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "./moves/all-moves"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { getPokemonNameWithAffix } from "#app/messages"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, PokemonMove } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; +import { PokemonMove } from "./moves/pokemon-move"; import { StatusEffect } from "#enums/status-effect"; import type { BattlerIndex } from "#app/battle"; import { diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 74f6a2c1afb..98f3347764c 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { getEnumKeys, getEnumValues } from "#app/utils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index 17f71f3c3c9..70b616be8e5 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -14,66 +14,10 @@ import { DamageMoneyRewardModifier, ExtraModifierModifier, MoneyMultiplierModifi import { SpeciesFormKey } from "#enums/species-form-key"; import { speciesStarterCosts } from "./starters"; import i18next from "i18next"; +import { SpeciesWildEvolutionDelay } from "#enums/species-wild-evolution-delay"; +import { EvolutionItem } from "#enums/evolution-item"; -export enum SpeciesWildEvolutionDelay { - NONE, - SHORT, - MEDIUM, - LONG, - VERY_LONG, - NEVER -} - -export enum EvolutionItem { - NONE, - - LINKING_CORD, - SUN_STONE, - MOON_STONE, - LEAF_STONE, - FIRE_STONE, - WATER_STONE, - THUNDER_STONE, - ICE_STONE, - DUSK_STONE, - DAWN_STONE, - SHINY_STONE, - CRACKED_POT, - SWEET_APPLE, - TART_APPLE, - STRAWBERRY_SWEET, - UNREMARKABLE_TEACUP, - UPGRADE, - DUBIOUS_DISC, - DRAGON_SCALE, - PRISM_SCALE, - RAZOR_CLAW, - RAZOR_FANG, - REAPER_CLOTH, - ELECTIRIZER, - MAGMARIZER, - PROTECTOR, - SACHET, - WHIPPED_DREAM, - SYRUPY_APPLE, - CHIPPED_POT, - GALARICA_CUFF, - GALARICA_WREATH, - AUSPICIOUS_ARMOR, - MALICIOUS_ARMOR, - MASTERPIECE_TEACUP, - SUN_FLUTE, - MOON_FLUTE, - - BLACK_AUGURITE = 51, - PEAT_BLOCK, - METAL_ALLOY, - SCROLL_OF_DARKNESS, - SCROLL_OF_WATERS, - LEADERS_CREST -} - /** * Pokemon Evolution tuple type consisting of: * @property 0 {@linkcode Species} The species of the Pokemon. diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 511c80bee72..396cf71d984 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -1,5 +1,6 @@ import { globalScene } from "#app/global-scene"; -import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, SelfStatusMove, allMoves } from "./moves/move"; +import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, SelfStatusMove } from "./moves/move"; +import { allMoves } from "./moves/all-moves"; import { MoveFlags } from "#enums/MoveFlags"; import type Pokemon from "../field/pokemon"; import { type nil, getFrameMs, getEnumKeys, getEnumValues, animationFileName } from "../utils"; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 76e91485460..c3dcfc49ef6 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -11,12 +11,12 @@ import { import { ChargeAnim, CommonAnim, CommonBattleAnim, MoveChargeAnim } from "#app/data/battle-anims"; import type Move from "#app/data/moves/move"; import { - allMoves, applyMoveAttrs, ConsecutiveUseDoublePowerAttr, HealOnAllyAttr, StatusCategoryOnAllyAttr, } from "#app/data/moves/move"; +import { allMoves } from "./moves/all-moves"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveCategory } from "#enums/MoveCategory"; import { SpeciesFormChangeAbilityTrigger } from "#app/data/pokemon-forms"; @@ -24,7 +24,8 @@ import { getStatusEffectHealText } from "#app/data/status-effect"; import { TerrainType } from "#app/data/terrain"; import { PokemonType } from "#enums/pokemon-type"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, MoveResult } from "#app/field/pokemon"; +import { MoveResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getPokemonNameWithAffix } from "#app/messages"; import { CommonAnimPhase } from "#app/phases/common-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/src/data/berry.ts b/src/data/berry.ts index 8a58d337aa4..aaa0dda6e7f 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -1,6 +1,6 @@ import { getPokemonNameWithAffix } from "../messages"; import type Pokemon from "../field/pokemon"; -import { HitResult } from "../field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getStatusEffectHealText } from "./status-effect"; import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils"; import { diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 51616c3f00f..9a3c329a70b 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -6,7 +6,7 @@ import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "./moves/pokemon-move"; import type { FixedBattleConfig } from "#app/battle"; import { ClassicFixedBossWaves, BattleType, getRandomTrainerFunc } from "#app/battle"; import Trainer, { TrainerVariant } from "#app/field/trainer"; diff --git a/src/data/moves/all-moves.ts b/src/data/moves/all-moves.ts new file mode 100644 index 00000000000..c7b6d11a08d --- /dev/null +++ b/src/data/moves/all-moves.ts @@ -0,0 +1,3 @@ +import type Move from "./move"; + +export const allMoves: Move[] = []; diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 962a13bb840..591894f5f1e 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -12,16 +12,17 @@ import { TypeBoostTag, } from "../battler-tags"; import { getPokemonNameWithAffix } from "../../messages"; -import type { AttackMoveResult, TurnMove } from "../../field/pokemon"; +import type { AttackMoveResult } from "#app/interfaces/attack-move-result"; +import type { TurnMove } from "#app/interfaces/turn-move"; import type Pokemon from "../../field/pokemon"; import { EnemyPokemon, - FieldPosition, - HitResult, MoveResult, PlayerPokemon, - PokemonMove, } from "../../field/pokemon"; +import { HitResult } from "#enums/hit-result"; +import { FieldPosition } from "#enums/field-position"; +import { PokemonMove } from "./pokemon-move"; import { getNonVolatileStatusEffects, getStatusEffectHealText, @@ -121,6 +122,7 @@ import { MoveFlags } from "#enums/MoveFlags"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; +import { allMoves } from "./all-moves"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean; @@ -8257,11 +8259,7 @@ export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveT return { targets: set.filter(p => p?.isActive(true)).map(p => p.getBattlerIndex()).filter(t => t !== undefined), multiple }; } -export const allMoves: Move[] = [ - new SelfStatusMove(Moves.NONE, PokemonType.NORMAL, MoveCategory.STATUS, -1, -1, 0, 1), -]; - -export const selfStatLowerMoves: Moves[] = []; +allMoves.push(new SelfStatusMove(Moves.NONE, PokemonType.NORMAL, MoveCategory.STATUS, -1, -1, 0, 1)); export function initMoves() { allMoves.push( @@ -11250,9 +11248,4 @@ export function initMoves() { new AttackMove(Moves.MALIGNANT_CHAIN, PokemonType.POISON, MoveCategory.SPECIAL, 100, 100, 5, 50, 0, 9) .attr(StatusEffectAttr, StatusEffect.TOXIC) ); - allMoves.map(m => { - if (m.getAttrs(StatStageChangeAttr).some(a => a.selfTarget && a.stages < 0)) { - selfStatLowerMoves.push(m.id); - } - }); } diff --git a/src/data/moves/pokemon-move.ts b/src/data/moves/pokemon-move.ts new file mode 100644 index 00000000000..49ccaba698b --- /dev/null +++ b/src/data/moves/pokemon-move.ts @@ -0,0 +1,93 @@ +import * as Utils from "#app/utils"; +import { allMoves } from "./all-moves"; +import type { Moves } from "#enums/moves"; +import type Pokemon from "#app/field/pokemon"; +import type Move from "./move"; + +/** + * Wrapper class for the {@linkcode Move} class for Pokemon to interact with. + * These are the moves assigned to a {@linkcode Pokemon} object. + * It links to {@linkcode Move} class via the move ID. + * Compared to {@linkcode Move}, this class also tracks if a move has received. + * PP Ups, amount of PP used, and things like that. + * @see {@linkcode isUsable} - checks if move is restricted, out of PP, or not implemented. + * @see {@linkcode getMove} - returns {@linkcode Move} object by looking it up via ID. + * @see {@linkcode usePp} - removes a point of PP from the move. + * @see {@linkcode getMovePp} - returns amount of PP a move currently has. + * @see {@linkcode getPpRatio} - returns the current PP amount / max PP amount. + * @see {@linkcode getName} - returns name of {@linkcode Move}. + **/ +export class PokemonMove { + public moveId: Moves; + public ppUsed: number; + public ppUp: number; + public virtual: boolean; + + /** + * If defined and nonzero, overrides the maximum PP of the move (e.g., due to move being copied by Transform). + * This also nullifies all effects of `ppUp`. + */ + public maxPpOverride?: number; + + constructor(moveId: Moves, ppUsed = 0, ppUp = 0, virtual = false, maxPpOverride?: number) { + this.moveId = moveId; + this.ppUsed = ppUsed; + this.ppUp = ppUp; + this.virtual = virtual; + this.maxPpOverride = maxPpOverride; + } + + /** + * Checks whether the move can be selected or performed by a Pokemon, without consideration for the move's targets. + * The move is unusable if it is out of PP, restricted by an effect, or unimplemented. + * + * @param pokemon - {@linkcode Pokemon} that would be using this move + * @param ignorePp - If `true`, skips the PP check + * @param ignoreRestrictionTags - If `true`, skips the check for move restriction tags (see {@link MoveRestrictionBattlerTag}) + * @returns `true` if the move can be selected and used by the Pokemon, otherwise `false`. + */ + isUsable(pokemon: Pokemon, ignorePp = false, ignoreRestrictionTags = false): boolean { + if (this.moveId && !ignoreRestrictionTags && pokemon.isMoveRestricted(this.moveId, pokemon)) { + return false; + } + + if (this.getMove().name.endsWith(" (N)")) { + return false; + } + + return ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1; + } + + getMove(): Move { + return allMoves[this.moveId]; + } + + /** + * Sets {@link ppUsed} for this move and ensures the value does not exceed {@link getMovePp} + * @param {number} count Amount of PP to use + */ + usePp(count = 1) { + this.ppUsed = Math.min(this.ppUsed + count, this.getMovePp()); + } + + getMovePp(): number { + return this.maxPpOverride || this.getMove().pp + this.ppUp * Utils.toDmgValue(this.getMove().pp / 5); + } + + getPpRatio(): number { + return 1 - this.ppUsed / this.getMovePp(); + } + + getName(): string { + return this.getMove().name; + } + + /** + * Copies an existing move or creates a valid PokemonMove object from json representing one + * @param source - The data for the move to copy + * @return A valid pokemonmove object + */ + static loadMove(source: PokemonMove | any): PokemonMove { + return new PokemonMove(source.moveId, source.ppUsed, source.ppUp, source.virtual, source.maxPpOverride); + } +} diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index 85f40a41e51..b781f14fad1 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -7,7 +7,8 @@ import { transitionMysteryEncounterIntroVisuals, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; +import { EnemyPokemon } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import type { BerryModifierType, PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index 1e4c9a3b957..c6971c42364 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -24,7 +24,7 @@ import { TrainerType } from "#enums/trainer-type"; import { Species } from "#enums/species"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { getEncounterText, showEncounterDialogue } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; import { Moves } from "#enums/moves"; @@ -50,7 +50,7 @@ import { } from "#app/modifier/modifier"; import i18next from "i18next"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index eca99fc0c13..15fad6dacbf 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -37,7 +37,7 @@ import { Mode } from "#app/ui/ui"; import i18next from "i18next"; import type { OptionSelectConfig } from "#app/ui/abstact-option-select-ui-handler"; import type { PlayerPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Ability } from "#app/data/ability"; import { BerryModifier } from "#app/modifier/modifier"; import { BerryType } from "#enums/berry-type"; diff --git a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts index 75527e1f8c1..90ea6a69c0d 100644 --- a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts +++ b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts @@ -23,7 +23,8 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { TrainerSlot } from "#enums/trainer-slot"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; +import { EnemyPokemon } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { modifierTypes } from "#app/modifier/modifier-type"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; diff --git a/src/data/mystery-encounters/encounters/field-trip-encounter.ts b/src/data/mystery-encounters/encounters/field-trip-encounter.ts index a1964aa5ab4..4e330fab3d9 100644 --- a/src/data/mystery-encounters/encounters/field-trip-encounter.ts +++ b/src/data/mystery-encounters/encounters/field-trip-encounter.ts @@ -7,7 +7,8 @@ import { setEncounterExp, setEncounterRewards, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import { modifierTypes } from "#app/modifier/modifier-type"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index 6118fe3d0de..d868184a7fa 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -26,7 +26,7 @@ import { Gender } from "#app/data/gender"; import { PokemonType } from "#enums/pokemon-type"; import { BattlerIndex } from "#app/battle"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Moves } from "#enums/moves"; import { EncounterBattleAnim } from "#app/data/battle-anims"; import { WeatherType } from "#enums/weather-type"; diff --git a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts index 282c6c149ff..a9fc24c70b7 100644 --- a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts +++ b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts @@ -13,7 +13,7 @@ import { MysteryEncounterOptionBuilder } from "#app/data/mystery-encounters/myst import { TrainerSlot } from "#enums/trainer-slot"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { FieldPosition } from "#app/field/pokemon"; +import { FieldPosition } from "#enums/field-position"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MoneyRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index f80620647b0..fce496e5e17 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -26,7 +26,8 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { NumberHolder, isNullOrUndefined, randInt, randSeedInt, randSeedShuffle, randSeedItem } from "#app/utils"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; +import { EnemyPokemon } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; import { HiddenAbilityRateBoosterModifier, diff --git a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts index 97fd5783ebb..030678b77b1 100644 --- a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts +++ b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts @@ -11,7 +11,7 @@ import { applyDamageToPokemon } from "#app/data/mystery-encounters/utils/encount import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; const OPTION_1_REQUIRED_MOVE = Moves.SURF; const OPTION_2_REQUIRED_MOVE = Moves.FLY; diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index bfa1204a8ba..97a17af43d0 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -21,7 +21,8 @@ import { import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; -import { AiType, PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { AiType } from "#enums/ai-type"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; diff --git a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts index c994c6e993f..af0363f37e3 100644 --- a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts @@ -17,7 +17,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Species } from "#enums/species"; import { Nature } from "#enums/nature"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { modifyPlayerPokemonBST } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { Moves } from "#enums/moves"; diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index e60fe0ddc18..2203ac041f8 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -25,7 +25,7 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { randSeedInt } from "#app/utils"; diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index ed1866c7a1b..4e3c238aeba 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -10,7 +10,7 @@ import { import { CHARMING_MOVES } from "#app/data/mystery-encounters/requirements/requirement-groups"; import type Pokemon from "#app/field/pokemon"; import type { EnemyPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index 22ec52e976c..be0c0bdff54 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -16,7 +16,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { NumberHolder, isNullOrUndefined, randSeedInt, randSeedShuffle } from "#app/utils"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; diff --git a/src/data/mystery-encounters/mystery-encounter-requirements.ts b/src/data/mystery-encounters/mystery-encounter-requirements.ts index f9aedf2c1a7..0c146fe485d 100644 --- a/src/data/mystery-encounters/mystery-encounter-requirements.ts +++ b/src/data/mystery-encounters/mystery-encounter-requirements.ts @@ -1,6 +1,7 @@ import { globalScene } from "#app/global-scene"; import { allAbilities } from "#app/data/ability"; -import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; +import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; +import { EvolutionItem } from "#enums/evolution-item"; import { Nature } from "#enums/nature"; import { FormChangeItem, pokemonFormChanges, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; import { StatusEffect } from "#enums/status-effect"; diff --git a/src/data/mystery-encounters/mystery-encounter.ts b/src/data/mystery-encounters/mystery-encounter.ts index ff098d4d7dd..8010983f9f3 100644 --- a/src/data/mystery-encounters/mystery-encounter.ts +++ b/src/data/mystery-encounters/mystery-encounter.ts @@ -1,5 +1,6 @@ import type { EnemyPartyConfig } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { PokemonMove } from "../moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import { capitalizeFirstLetter, isNullOrUndefined } from "#app/utils"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts index a7ffe3e26ca..598b0ffae70 100644 --- a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts +++ b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts @@ -1,6 +1,6 @@ import type { Moves } from "#app/enums/moves"; import type { PlayerPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { isNullOrUndefined } from "#app/utils"; import { EncounterPokemonRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index a9f6b787878..6ab650d5f9b 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -7,9 +7,12 @@ import { WEIGHT_INCREMENT_ON_SPAWN_MISS, } from "#app/data/mystery-encounters/mystery-encounters"; import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; -import type { AiType, PlayerPokemon } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { AiType } from "#enums/ai-type"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, FieldPosition, PokemonMove, PokemonSummonData } from "#app/field/pokemon"; +import { EnemyPokemon, PokemonSummonData } from "#app/field/pokemon"; +import { FieldPosition } from "#enums/field-position"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import type { CustomModifierSettings, ModifierType } from "#app/modifier/modifier-type"; import { getPartyLuckValue, diff --git a/src/data/pokemon-forms.ts b/src/data/pokemon-forms.ts index 63e166c7fc4..6f36bfde74f 100644 --- a/src/data/pokemon-forms.ts +++ b/src/data/pokemon-forms.ts @@ -1,7 +1,7 @@ import { PokemonFormChangeItemModifier } from "../modifier/modifier"; import type Pokemon from "../field/pokemon"; import { StatusEffect } from "#enums/status-effect"; -import { allMoves } from "./moves/move"; +import { allMoves } from "./moves/all-moves"; import { MoveCategory } from "#enums/MoveCategory"; import type { Constructor, nil } from "#app/utils"; import { Abilities } from "#enums/abilities"; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index a27c00121dc..ced828fbc6b 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -13,11 +13,8 @@ import { uncatchableSpecies } from "#app/data/balance/biomes"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate } from "#app/data/exp"; import type { EvolutionLevel } from "#app/data/balance/pokemon-evolutions"; -import { - SpeciesWildEvolutionDelay, - pokemonEvolutions, - pokemonPrevolutions, -} from "#app/data/balance/pokemon-evolutions"; +import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; +import { SpeciesWildEvolutionDelay } from "#enums/species-wild-evolution-delay"; import { PokemonType } from "#enums/pokemon-type"; import type { LevelMoves } from "#app/data/balance/pokemon-level-moves"; import { diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index 0ab7119dab9..c87f72bd912 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { toReadableString, isNullOrUndefined, randSeedItem, randSeedInt } from "#app/utils"; import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import { getPokemonSpecies } from "#app/data/pokemon-species"; diff --git a/src/enums/ai-type.ts b/src/enums/ai-type.ts new file mode 100644 index 00000000000..13931172a4a --- /dev/null +++ b/src/enums/ai-type.ts @@ -0,0 +1,5 @@ +export enum AiType { + RANDOM, + SMART_RANDOM, + SMART +} diff --git a/src/enums/evolution-item.ts b/src/enums/evolution-item.ts new file mode 100644 index 00000000000..3b5e493b378 --- /dev/null +++ b/src/enums/evolution-item.ts @@ -0,0 +1,48 @@ +export enum EvolutionItem { + NONE, + + LINKING_CORD, + SUN_STONE, + MOON_STONE, + LEAF_STONE, + FIRE_STONE, + WATER_STONE, + THUNDER_STONE, + ICE_STONE, + DUSK_STONE, + DAWN_STONE, + SHINY_STONE, + CRACKED_POT, + SWEET_APPLE, + TART_APPLE, + STRAWBERRY_SWEET, + UNREMARKABLE_TEACUP, + UPGRADE, + DUBIOUS_DISC, + DRAGON_SCALE, + PRISM_SCALE, + RAZOR_CLAW, + RAZOR_FANG, + REAPER_CLOTH, + ELECTIRIZER, + MAGMARIZER, + PROTECTOR, + SACHET, + WHIPPED_DREAM, + SYRUPY_APPLE, + CHIPPED_POT, + GALARICA_CUFF, + GALARICA_WREATH, + AUSPICIOUS_ARMOR, + MALICIOUS_ARMOR, + MASTERPIECE_TEACUP, + SUN_FLUTE, + MOON_FLUTE, + + BLACK_AUGURITE = 51, + PEAT_BLOCK, + METAL_ALLOY, + SCROLL_OF_DARKNESS, + SCROLL_OF_WATERS, + LEADERS_CREST +} diff --git a/src/enums/field-position.ts b/src/enums/field-position.ts new file mode 100644 index 00000000000..5b7f9c6c570 --- /dev/null +++ b/src/enums/field-position.ts @@ -0,0 +1,5 @@ +export enum FieldPosition { + CENTER, + LEFT, + RIGHT +} diff --git a/src/enums/hit-result.ts b/src/enums/hit-result.ts new file mode 100644 index 00000000000..3e62587dd6c --- /dev/null +++ b/src/enums/hit-result.ts @@ -0,0 +1,15 @@ +export enum HitResult { + EFFECTIVE = 1, + SUPER_EFFECTIVE, + NOT_VERY_EFFECTIVE, + ONE_HIT_KO, + NO_EFFECT, + STATUS, + HEAL, + FAIL, + MISS, + INDIRECT, + IMMUNE, + CONFUSION, + INDIRECT_KO +} diff --git a/src/enums/learn-move-context.ts b/src/enums/learn-move-context.ts new file mode 100644 index 00000000000..26001cbcce8 --- /dev/null +++ b/src/enums/learn-move-context.ts @@ -0,0 +1,8 @@ +export enum LearnMoveContext { + MISC, + LEVEL_UP, + RELEARN, + EVOLUTION, + EVOLUTION_FUSED, // If fusionSpecies has Evolved + EVOLUTION_FUSED_BASE, // If fusion's base species has Evolved +} diff --git a/src/enums/species-wild-evolution-delay.ts b/src/enums/species-wild-evolution-delay.ts new file mode 100644 index 00000000000..7555dc0e8f6 --- /dev/null +++ b/src/enums/species-wild-evolution-delay.ts @@ -0,0 +1,8 @@ +export enum SpeciesWildEvolutionDelay { + NONE, + SHORT, + MEDIUM, + LONG, + VERY_LONG, + NEVER +} diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index a527b148fff..3bb001bf005 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -1,7 +1,7 @@ import { TextStyle, addTextObject } from "../ui/text"; -import type { DamageResult } from "./pokemon"; +import type { DamageResult } from "#app/@types/damage-result"; import type Pokemon from "./pokemon"; -import { HitResult } from "./pokemon"; +import { HitResult } from "#enums/hit-result"; import { formatStat, fixedInt } from "#app/utils"; import type { BattlerIndex } from "../battle"; import { globalScene } from "#app/global-scene"; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index b59b7ba01fe..162a5118f65 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -17,7 +17,6 @@ import { applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, - allMoves, TypelessAttr, CritOnlyAttr, getMoveTargets, @@ -42,6 +41,7 @@ import { VariableMoveTypeChartAttr, HpSplitAttr, } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import type { PokemonSpeciesForm } from "#app/data/pokemon-species"; @@ -214,7 +214,7 @@ import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeLapseTeraTrigger, SpeciesFormChangeMoveLearnedTrigger, - SpeciesFormChangePostMoveTrigger + SpeciesFormChangePostMoveTrigger, } from "#app/data/pokemon-forms"; import { TerrainType } from "#app/data/terrain"; import type { TrainerSlot } from "#enums/trainer-slot"; @@ -259,21 +259,15 @@ import { MoveFlags } from "#enums/MoveFlags"; import { timedEventManager } from "#app/global-event-manager"; import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { ResetStatusPhase } from "#app/phases/reset-status-phase"; - -export enum LearnMoveSituation { - MISC, - LEVEL_UP, - RELEARN, - EVOLUTION, - EVOLUTION_FUSED, // If fusionSpecies has Evolved - EVOLUTION_FUSED_BASE, // If fusion's base species has Evolved -} - -export enum FieldPosition { - CENTER, - LEFT, - RIGHT, -} +import { LearnMoveContext } from "#enums/learn-move-context"; +import { TurnMove } from "#app/interfaces/turn-move"; +import { AiType } from "#enums/ai-type"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { DamageCalculationResult } from "#app/interfaces/damage-calculation-result"; +import { FieldPosition } from "#enums/field-position"; +import { AttackMoveResult } from "#app/interfaces/attack-move-result"; +import { HitResult } from "#enums/hit-result"; +import { DamageResult } from "#app/@types/damage-result"; export default abstract class Pokemon extends Phaser.GameObjects.Container { public id: number; @@ -2925,7 +2919,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { includeEvolutionMoves = false, simulateEvolutionChain = false, includeRelearnerMoves = false, - learnSituation: LearnMoveSituation = LearnMoveSituation.MISC, + learnSituation: LearnMoveContext = LearnMoveContext.MISC, ): LevelMoves { const ret: LevelMoves = []; let levelMoves: LevelMoves = []; @@ -2933,7 +2927,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { startingLevel = this.level; } if ( - learnSituation === LearnMoveSituation.EVOLUTION_FUSED && + learnSituation === LearnMoveContext.EVOLUTION_FUSED && this.fusionSpecies ) { // For fusion evolutions, get ONLY the moves of the component mon that evolved @@ -2985,7 +2979,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } if ( this.fusionSpecies && - learnSituation !== LearnMoveSituation.EVOLUTION_FUSED_BASE + learnSituation !== LearnMoveContext.EVOLUTION_FUSED_BASE ) { // For fusion evolutions, get ONLY the moves of the component mon that evolved if (simulateEvolutionChain) { @@ -7779,24 +7773,6 @@ interface IllusionData { level?: number } -export interface TurnMove { - move: Moves; - targets: BattlerIndex[]; - result?: MoveResult; - virtual?: boolean; - turn?: number; - ignorePP?: boolean; -} - -export interface AttackMoveResult { - move: Moves; - result: DamageResult; - damage: number; - critical: boolean; - sourceId: number; - sourceBattlerIndex: BattlerIndex; -} - export class PokemonSummonData { /** [Atk, Def, SpAtk, SpDef, Spd, Acc, Eva] */ public statStages: number[] = [0, 0, 0, 0, 0, 0, 0]; @@ -7869,12 +7845,6 @@ export class PokemonTurnData { public extraTurns = 0; } -export enum AiType { - RANDOM, - SMART_RANDOM, - SMART, -} - export enum MoveResult { PENDING, SUCCESS, @@ -7882,151 +7852,3 @@ export enum MoveResult { MISS, OTHER, } - -export enum HitResult { - EFFECTIVE = 1, - SUPER_EFFECTIVE, - NOT_VERY_EFFECTIVE, - ONE_HIT_KO, - NO_EFFECT, - STATUS, - HEAL, - FAIL, - MISS, - INDIRECT, - IMMUNE, - CONFUSION, - INDIRECT_KO, -} - -export type DamageResult = - | HitResult.EFFECTIVE - | HitResult.SUPER_EFFECTIVE - | HitResult.NOT_VERY_EFFECTIVE - | HitResult.ONE_HIT_KO - | HitResult.CONFUSION - | HitResult.INDIRECT_KO - | HitResult.INDIRECT; - -/** Interface containing the results of a damage calculation for a given move */ -export interface DamageCalculationResult { - /** `true` if the move was cancelled (thus suppressing "No Effect" messages) */ - cancelled: boolean; - /** The effectiveness of the move */ - result: HitResult; - /** The damage dealt by the move */ - damage: number; -} - -/** - * Wrapper class for the {@linkcode Move} class for Pokemon to interact with. - * These are the moves assigned to a {@linkcode Pokemon} object. - * It links to {@linkcode Move} class via the move ID. - * Compared to {@linkcode Move}, this class also tracks if a move has received. - * PP Ups, amount of PP used, and things like that. - * @see {@linkcode isUsable} - checks if move is restricted, out of PP, or not implemented. - * @see {@linkcode getMove} - returns {@linkcode Move} object by looking it up via ID. - * @see {@linkcode usePp} - removes a point of PP from the move. - * @see {@linkcode getMovePp} - returns amount of PP a move currently has. - * @see {@linkcode getPpRatio} - returns the current PP amount / max PP amount. - * @see {@linkcode getName} - returns name of {@linkcode Move}. - **/ -export class PokemonMove { - public moveId: Moves; - public ppUsed: number; - public ppUp: number; - public virtual: boolean; - - /** - * If defined and nonzero, overrides the maximum PP of the move (e.g., due to move being copied by Transform). - * This also nullifies all effects of `ppUp`. - */ - public maxPpOverride?: number; - - constructor( - moveId: Moves, - ppUsed = 0, - ppUp = 0, - virtual = false, - maxPpOverride?: number, - ) { - this.moveId = moveId; - this.ppUsed = ppUsed; - this.ppUp = ppUp; - this.virtual = virtual; - this.maxPpOverride = maxPpOverride; - } - - /** - * Checks whether the move can be selected or performed by a Pokemon, without consideration for the move's targets. - * The move is unusable if it is out of PP, restricted by an effect, or unimplemented. - * - * @param {Pokemon} pokemon {@linkcode Pokemon} that would be using this move - * @param {boolean} ignorePp If `true`, skips the PP check - * @param {boolean} ignoreRestrictionTags If `true`, skips the check for move restriction tags (see {@link MoveRestrictionBattlerTag}) - * @returns `true` if the move can be selected and used by the Pokemon, otherwise `false`. - */ - isUsable( - pokemon: Pokemon, - ignorePp = false, - ignoreRestrictionTags = false, - ): boolean { - if ( - this.moveId && - !ignoreRestrictionTags && - pokemon.isMoveRestricted(this.moveId, pokemon) - ) { - return false; - } - - if (this.getMove().name.endsWith(" (N)")) { - return false; - } - - return ( - ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1 - ); - } - - getMove(): Move { - return allMoves[this.moveId]; - } - - /** - * Sets {@link ppUsed} for this move and ensures the value does not exceed {@link getMovePp} - * @param {number} count Amount of PP to use - */ - usePp(count = 1) { - this.ppUsed = Math.min(this.ppUsed + count, this.getMovePp()); - } - - getMovePp(): number { - return ( - this.maxPpOverride || - this.getMove().pp + this.ppUp * toDmgValue(this.getMove().pp / 5) - ); - } - - getPpRatio(): number { - return 1 - this.ppUsed / this.getMovePp(); - } - - getName(): string { - return this.getMove().name; - } - - /** - * Copies an existing move or creates a valid PokemonMove object from json representing one - * @param {PokemonMove | any} source The data for the move to copy - * @return {PokemonMove} A valid pokemonmove object - */ - static loadMove(source: PokemonMove | any): PokemonMove { - return new PokemonMove( - source.moveId, - source.ppUsed, - source.ppUp, - source.virtual, - source.maxPpOverride, - ); - } -} diff --git a/src/interfaces/attack-move-result.ts b/src/interfaces/attack-move-result.ts new file mode 100644 index 00000000000..f91d31a69ee --- /dev/null +++ b/src/interfaces/attack-move-result.ts @@ -0,0 +1,12 @@ +import type { BattlerIndex } from "#app/battle"; +import type { DamageResult } from "#app/@types/damage-result"; +import type { Moves } from "#enums/moves"; + +export interface AttackMoveResult { + move: Moves; + result: DamageResult; + damage: number; + critical: boolean; + sourceId: number; + sourceBattlerIndex: BattlerIndex; +} diff --git a/src/interfaces/damage-calculation-result.ts b/src/interfaces/damage-calculation-result.ts new file mode 100644 index 00000000000..1220ff7b57d --- /dev/null +++ b/src/interfaces/damage-calculation-result.ts @@ -0,0 +1,11 @@ +import type { HitResult } from "#enums/hit-result"; + +/** Interface containing the results of a damage calculation for a given move */ +export interface DamageCalculationResult { + /** `true` if the move was cancelled (thus suppressing "No Effect" messages) */ + cancelled: boolean; + /** The effectiveness of the move */ + result: HitResult; + /** The damage dealt by the move */ + damage: number; +} diff --git a/src/interfaces/turn-move.ts b/src/interfaces/turn-move.ts new file mode 100644 index 00000000000..639d309256e --- /dev/null +++ b/src/interfaces/turn-move.ts @@ -0,0 +1,12 @@ +import type { BattlerIndex } from "#app/battle"; +import type { MoveResult } from "#app/field/pokemon"; +import type { Moves } from "#enums/moves"; + +export interface TurnMove { + move: Moves; + targets: BattlerIndex[]; + result?: MoveResult; + virtual?: boolean; + turn?: number; + ignorePP?: boolean; +} diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 8feb60c7778..852593d922c 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1,8 +1,10 @@ import { globalScene } from "#app/global-scene"; -import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; +import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; +import { EvolutionItem } from "#enums/evolution-item"; import { tmPoolTiers, tmSpecies } from "#app/data/balance/tms"; import { getBerryEffectDescription, getBerryName } from "#app/data/berry"; -import { allMoves, AttackMove } from "#app/data/moves/move"; +import { AttackMove } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { getNatureName, getNatureStatMultiplier } from "#app/data/nature"; import { getPokeballCatchMultiplier, getPokeballName, MAX_PER_TYPE_POKEBALLS } from "#app/data/pokeball"; import { @@ -13,7 +15,8 @@ import { } from "#app/data/pokemon-forms"; import { getStatusEffectDescriptor } from "#app/data/status-effect"; import { PokemonType } from "#enums/pokemon-type"; -import type { EnemyPokemon, PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 80f14ba22ce..7860d0f9296 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1,7 +1,7 @@ import { FusionSpeciesFormEvolution, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { getBerryEffectFunc, getBerryPredicate } from "#app/data/berry"; import { getLevelTotalExp } from "#app/data/exp"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MAX_PER_TYPE_POKEBALLS } from "#app/data/pokeball"; import { type FormChangeItem, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; import { getStatusEffectHealText } from "#app/data/status-effect"; diff --git a/src/overrides.ts b/src/overrides.ts index 21c72cd7b98..49efb5eed33 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -1,5 +1,5 @@ import { type PokeballCounts } from "#app/battle-scene"; -import { EvolutionItem } from "#app/data/balance/pokemon-evolutions"; +import { EvolutionItem } from "#enums/evolution-item"; import { Gender } from "#app/data/gender"; import { FormChangeItem } from "#app/data/pokemon-forms"; import { Variant } from "#app/sprites/variant"; diff --git a/src/phases/command-phase.ts b/src/phases/command-phase.ts index 8691ac453ca..c65f121d20e 100644 --- a/src/phases/command-phase.ts +++ b/src/phases/command-phase.ts @@ -11,8 +11,9 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Biome } from "#app/enums/biome"; import { Moves } from "#app/enums/moves"; import { PokeballType } from "#enums/pokeball"; -import type { PlayerPokemon, TurnMove } from "#app/field/pokemon"; -import { FieldPosition } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; +import { FieldPosition } from "#enums/field-position"; import { getPokemonNameWithAffix } from "#app/messages"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; diff --git a/src/phases/damage-anim-phase.ts b/src/phases/damage-anim-phase.ts index 696a2e55b6f..91b21376515 100644 --- a/src/phases/damage-anim-phase.ts +++ b/src/phases/damage-anim-phase.ts @@ -1,7 +1,8 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { BattleSpec } from "#enums/battle-spec"; -import { type DamageResult, HitResult } from "#app/field/pokemon"; +import type { DamageResult } from "#app/@types/damage-result"; +import { HitResult } from "#enums/hit-result"; import { fixedInt } from "#app/utils"; import { PokemonPhase } from "#app/phases/pokemon-phase"; diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 15f3d102e41..9e28de32c4a 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -11,7 +11,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { getRandomWeatherType } from "#app/data/weather"; import { EncounterPhaseEvent } from "#app/events/battle-scene"; import type Pokemon from "#app/field/pokemon"; -import { FieldPosition } from "#app/field/pokemon"; +import { FieldPosition } from "#enums/field-position"; import { getPokemonNameWithAffix } from "#app/messages"; import { BoostBugSpawnModifier, IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier"; import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; diff --git a/src/phases/evolution-phase.ts b/src/phases/evolution-phase.ts index 203c7542eff..076b7dec80d 100644 --- a/src/phases/evolution-phase.ts +++ b/src/phases/evolution-phase.ts @@ -10,7 +10,7 @@ import { Mode } from "#app/ui/ui"; import { cos, sin } from "#app/field/anims"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { LearnMoveSituation } from "#app/field/pokemon"; +import { LearnMoveContext } from "#enums/learn-move-context"; import { getTypeRgb } from "#app/data/type"; import i18next from "i18next"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -343,11 +343,11 @@ export class EvolutionPhase extends Phase { this.evolutionHandler.canCancel = false; this.pokemon.evolve(this.evolution, this.pokemon.species).then(() => { - const learnSituation: LearnMoveSituation = this.fusionSpeciesEvolved - ? LearnMoveSituation.EVOLUTION_FUSED + const learnSituation: LearnMoveContext = this.fusionSpeciesEvolved + ? LearnMoveContext.EVOLUTION_FUSED : this.pokemon.fusionSpecies - ? LearnMoveSituation.EVOLUTION_FUSED_BASE - : LearnMoveSituation.EVOLUTION; + ? LearnMoveContext.EVOLUTION_FUSED_BASE + : LearnMoveContext.EVOLUTION; const levelMoves = this.pokemon .getLevelMoves(this.lastLevel + 1, true, false, false, learnSituation) .filter(lm => lm[0] === EVOLVE_MOVE); diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 7e1ae4ec07b..4c418679047 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -12,13 +12,16 @@ import { import type { DestinyBondTag, GrudgeTag } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { battleSpecDialogue } from "#app/data/dialogue"; -import { allMoves, PostVictoryStatStageChangeAttr } from "#app/data/moves/move"; +import { PostVictoryStatStageChangeAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { BattleSpec } from "#app/enums/battle-spec"; import { StatusEffect } from "#app/enums/status-effect"; import type { EnemyPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import { PlayerPokemon } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonInstantReviveModifier } from "#app/modifier/modifier"; import { SwitchType } from "#enums/switch-type"; diff --git a/src/phases/learn-move-phase.ts b/src/phases/learn-move-phase.ts index 4107a9cf087..a939298f620 100644 --- a/src/phases/learn-move-phase.ts +++ b/src/phases/learn-move-phase.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; import type Move from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { SpeciesFormChangeMoveLearnedTrigger } from "#app/data/pokemon-forms"; import { Moves } from "#enums/moves"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/move-charge-phase.ts b/src/phases/move-charge-phase.ts index 26ad85bbe03..ccaf6d054b9 100644 --- a/src/phases/move-charge-phase.ts +++ b/src/phases/move-charge-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { MoveChargeAnim } from "#app/data/battle-anims"; import { applyMoveChargeAttrs, MoveEffectAttr, InstantChargeAttr } from "#app/data/moves/move"; -import type { PokemonMove } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { BooleanHolder } from "#app/utils"; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index acc7ac0f63a..c13c411be68 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -49,9 +49,10 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { PokemonType } from "#enums/pokemon-type"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, MoveResult } from "#app/field/pokemon"; +import { MoveResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getPokemonNameWithAffix } from "#app/messages"; import { ContactHeldItemTransferChanceModifier, diff --git a/src/phases/move-header-phase.ts b/src/phases/move-header-phase.ts index c320df462d1..c255b45190b 100644 --- a/src/phases/move-header-phase.ts +++ b/src/phases/move-header-phase.ts @@ -1,5 +1,5 @@ import { applyMoveAttrs, MoveHeaderAttr } from "#app/data/moves/move"; -import type { PokemonMove } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import { BattlePhase } from "./battle-phase"; diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 478229dcae8..032ac6d06ab 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -16,7 +16,6 @@ import { CommonAnim } from "#app/data/battle-anims"; import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags"; import { AddArenaTrapTagAttr, - allMoves, applyMoveAttrs, BypassRedirectAttr, BypassSleepAttr, @@ -27,13 +26,14 @@ import { PreMoveMessageAttr, PreUseInterruptAttr, } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveFlags } from "#enums/MoveFlags"; import { SpeciesFormChangePreMoveTrigger } from "#app/data/pokemon-forms"; import { getStatusEffectActivationText, getStatusEffectHealText } from "#app/data/status-effect"; import { PokemonType } from "#enums/pokemon-type"; import { getTerrainBlockMessage, getWeatherBlockMessage } from "#app/data/weather"; import { MoveUsedEvent } from "#app/events/battle-scene"; -import type { PokemonMove } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/pokemon-heal-phase.ts b/src/phases/pokemon-heal-phase.ts index 651c625b23a..84dc8a5e116 100644 --- a/src/phases/pokemon-heal-phase.ts +++ b/src/phases/pokemon-heal-phase.ts @@ -3,7 +3,7 @@ import type { BattlerIndex } from "#app/battle"; import { CommonAnim } from "#app/data/battle-anims"; import { getStatusEffectHealText } from "#app/data/status-effect"; import { StatusEffect } from "#app/enums/status-effect"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getPokemonNameWithAffix } from "#app/messages"; import { HealingBoosterModifier } from "#app/modifier/modifier"; import { HealAchv } from "#app/system/achv"; diff --git a/src/phases/pokemon-transform-phase.ts b/src/phases/pokemon-transform-phase.ts index b33689321b5..fb9a28a5a26 100644 --- a/src/phases/pokemon-transform-phase.ts +++ b/src/phases/pokemon-transform-phase.ts @@ -2,7 +2,7 @@ import type { BattlerIndex } from "#app/battle"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; import { EFFECTIVE_STATS, BATTLE_STATS } from "#enums/stat"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { globalScene } from "#app/global-scene"; import { PokemonPhase } from "./pokemon-phase"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/select-target-phase.ts b/src/phases/select-target-phase.ts index 035eaff41fa..edd56ba60ed 100644 --- a/src/phases/select-target-phase.ts +++ b/src/phases/select-target-phase.ts @@ -5,7 +5,7 @@ import { Mode } from "#app/ui/ui"; import { CommandPhase } from "./command-phase"; import { PokemonPhase } from "./pokemon-phase"; import i18next from "#app/plugins/i18n"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; export class SelectTargetPhase extends PokemonPhase { // biome-ignore lint/complexity/noUselessConstructor: This makes `fieldIndex` required diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index 7379d509e55..e053b18e4d7 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -5,7 +5,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { PlayerGender } from "#app/enums/player-gender"; import { addPokeballOpenParticles } from "#app/field/anims"; import type Pokemon from "#app/field/pokemon"; -import { FieldPosition } from "#app/field/pokemon"; +import { FieldPosition } from "#enums/field-position"; import { getPokemonNameWithAffix } from "#app/messages"; import i18next from "i18next"; import { PartyMemberPokemonPhase } from "./party-member-pokemon-phase"; diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index d63cdb90f25..f39a3e62bb6 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -6,7 +6,8 @@ import { PreSummonAbAttr, PreSwitchOutAbAttr, } from "#app/data/ability"; -import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; +import { ForceSwitchOutAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { getPokeballTintColor } from "#app/data/pokeball"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { TrainerSlot } from "#enums/trainer-slot"; diff --git a/src/phases/toggle-double-position-phase.ts b/src/phases/toggle-double-position-phase.ts index 37f47d5cf95..c4766f888aa 100644 --- a/src/phases/toggle-double-position-phase.ts +++ b/src/phases/toggle-double-position-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { FieldPosition } from "#app/field/pokemon"; +import { FieldPosition } from "#enums/field-position"; import { BattlePhase } from "./battle-phase"; export class ToggleDoublePositionPhase extends BattlePhase { diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index d5b4160fe1b..5941e0af163 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -1,9 +1,10 @@ import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/ability"; -import { allMoves, MoveHeaderAttr } from "#app/data/moves/move"; +import { MoveHeaderAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { BypassSpeedChanceModifier } from "#app/modifier/modifier"; import { Command } from "#app/ui/command-ui-handler"; import { randSeedShuffle, BooleanHolder } from "#app/utils"; diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index 5284c9fba85..256894457fc 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -14,7 +14,7 @@ import { getWeatherDamageMessage, getWeatherLapseMessage } from "#app/data/weath import { BattlerTagType } from "#app/enums/battler-tag-type"; import { WeatherType } from "#app/enums/weather-type"; import type Pokemon from "#app/field/pokemon"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { BooleanHolder, toDmgValue } from "#app/utils"; import { CommonAnimPhase } from "./common-anim-phase"; diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 53146301666..e87c735f459 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -30,7 +30,7 @@ import { Nature } from "#enums/nature"; import { GameStats } from "#app/system/game-stats"; import { Tutorial } from "#app/tutorial"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { TrainerVariant } from "#app/field/trainer"; import type { Variant } from "#app/sprites/variant"; import { setSettingGamepad, SettingGamepad, settingGamepadDefaults } from "#app/system/settings/settings-gamepad"; diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 97ce494a43a..7579fc3b78d 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -5,7 +5,8 @@ import type { Nature } from "#enums/nature"; import type { PokeballType } from "#enums/pokeball"; import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; import { Status } from "../data/status-effect"; -import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon"; +import Pokemon, { EnemyPokemon, PokemonSummonData } from "../field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; import { loadBattlerTag } from "../data/battler-tags"; diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 27985629e3d..63c0703fa18 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -10,7 +10,7 @@ import { getLocalizedSpriteKey, fixedInt, padInt } from "#app/utils"; import { MoveCategory } from "#enums/MoveCategory"; import i18next from "i18next"; import { Button } from "#enums/buttons"; -import type { PokemonMove } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import type { CommandPhase } from "#app/phases/command-phase"; import MoveInfoOverlay from "./move-info-overlay"; diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index 26351d4dbf1..f0ff351bb8a 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -9,7 +9,7 @@ import { LockModifierTiersModifier, PokemonHeldItemModifier, HealShopCostModifie import { handleTutorial, Tutorial } from "../tutorial"; import { Button } from "#enums/buttons"; import MoveInfoOverlay from "./move-info-overlay"; -import { allMoves } from "../data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { formatMoney, NumberHolder } from "#app/utils"; import Overrides from "#app/overrides"; import i18next from "i18next"; diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index ba90108c274..a42e0caadae 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -1,4 +1,5 @@ -import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { addBBCodeTextObject, addTextObject, getTextColor, TextStyle } from "#app/ui/text"; @@ -11,7 +12,8 @@ import { PokemonHeldItemModifier, SwitchEffectTransferModifier, } from "#app/modifier/modifier"; -import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; +import { ForceSwitchOutAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; import { StatusEffect } from "#enums/status-effect"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "#app/ui/pokemon-icon-anim-handler"; diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 407ebfcd843..1011fc89ae0 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -9,7 +9,7 @@ import { allAbilities } from "#app/data/ability"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { getNatureName } from "#app/data/nature"; import type { SpeciesFormChange } from "#app/data/pokemon-forms"; import { pokemonFormChanges } from "#app/data/pokemon-forms"; diff --git a/src/ui/pokedex-scan-ui-handler.ts b/src/ui/pokedex-scan-ui-handler.ts index b34246b97d1..54c32fb34a1 100644 --- a/src/ui/pokedex-scan-ui-handler.ts +++ b/src/ui/pokedex-scan-ui-handler.ts @@ -7,7 +7,7 @@ import { isNullOrUndefined } from "#app/utils"; import { Mode } from "./ui"; import { FilterTextRow } from "./filter-text"; import { allAbilities } from "#app/data/ability"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { allSpecies } from "#app/data/pokemon-species"; import i18next from "i18next"; diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index 59b06d476a2..22ce5b833af 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -38,7 +38,7 @@ import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import { FilterText, FilterTextRow } from "./filter-text"; import { allAbilities } from "#app/data/ability"; import { starterPassiveAbilities } from "#app/data/balance/passives"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { speciesTmMoves } from "#app/data/balance/tms"; import { pokemonPrevolutions, pokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { Biome } from "#enums/biome"; diff --git a/src/ui/pokemon-hatch-info-container.ts b/src/ui/pokemon-hatch-info-container.ts index 692f0f1d374..77f9f5090a0 100644 --- a/src/ui/pokemon-hatch-info-container.ts +++ b/src/ui/pokemon-hatch-info-container.ts @@ -4,7 +4,7 @@ import { PokemonType } from "#enums/pokemon-type"; import { rgbHexToRgba, padInt } from "#app/utils"; import { TextStyle, addTextObject } from "#app/ui/text"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Species } from "#enums/species"; import { getEggTierForSpecies } from "#app/data/egg"; import { starterColors } from "#app/battle-scene"; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 3e2940f45b9..680f752096b 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -13,7 +13,7 @@ import { allAbilities } from "#app/data/ability"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { getNatureName } from "#app/data/nature"; import { pokemonFormChanges } from "#app/data/pokemon-forms"; import type { LevelMoves } from "#app/data/balance/pokemon-level-moves"; diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 04bcf71d7ae..d82082f0872 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -12,7 +12,8 @@ import { toReadableString, formatStat, } from "#app/utils"; -import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters"; import { argbFromRgba } from "@material/material-color-utilities"; import { getTypeRgb } from "#app/data/type"; diff --git a/test/abilities/aura_break.test.ts b/test/abilities/aura_break.test.ts index 86b6c69ec8b..30841fdbe0c 100644 --- a/test/abilities/aura_break.test.ts +++ b/test/abilities/aura_break.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/battery.test.ts b/test/abilities/battery.test.ts index cc7570c3d31..78db19e67ff 100644 --- a/test/abilities/battery.test.ts +++ b/test/abilities/battery.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/abilities/battle_bond.test.ts b/test/abilities/battle_bond.test.ts index 6305d7dedc5..e615b5746c0 100644 --- a/test/abilities/battle_bond.test.ts +++ b/test/abilities/battle_bond.test.ts @@ -1,4 +1,5 @@ -import { allMoves, MultiHitAttr } from "#app/data/moves/move"; +import { MultiHitAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MultiHitType } from "#enums/MultiHitType"; import { Status } from "#app/data/status-effect"; import { Abilities } from "#enums/abilities"; diff --git a/test/abilities/flower_veil.test.ts b/test/abilities/flower_veil.test.ts index c26a952acff..d91c92e8c9f 100644 --- a/test/abilities/flower_veil.test.ts +++ b/test/abilities/flower_veil.test.ts @@ -7,7 +7,7 @@ import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#enums/battler-tag-type"; import { allAbilities } from "#app/data/ability"; diff --git a/test/abilities/friend_guard.test.ts b/test/abilities/friend_guard.test.ts index 30175fe37e0..cee82ca2c69 100644 --- a/test/abilities/friend_guard.test.ts +++ b/test/abilities/friend_guard.test.ts @@ -6,7 +6,7 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/ability"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveCategory } from "#enums/MoveCategory"; describe("Moves - Friend Guard", () => { diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts index c1e02c6c8d8..4efb6bb068f 100644 --- a/test/abilities/galvanize.test.ts +++ b/test/abilities/galvanize.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/abilities/hustle.test.ts b/test/abilities/hustle.test.ts index 40197cf9e97..fbfa23e90d6 100644 --- a/test/abilities/hustle.test.ts +++ b/test/abilities/hustle.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import { Moves } from "#enums/moves"; diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index 6278439651c..e9ecf366a37 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -1,5 +1,5 @@ import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Stat } from "#enums/stat"; diff --git a/test/abilities/libero.test.ts b/test/abilities/libero.test.ts index 22abf1c248f..96a6b3c5d93 100644 --- a/test/abilities/libero.test.ts +++ b/test/abilities/libero.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { PokemonType } from "#enums/pokemon-type"; import { Weather } from "#app/data/weather"; import type { PlayerPokemon } from "#app/field/pokemon"; diff --git a/test/abilities/magic_bounce.test.ts b/test/abilities/magic_bounce.test.ts index f9a076776aa..c785827c910 100644 --- a/test/abilities/magic_bounce.test.ts +++ b/test/abilities/magic_bounce.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/ability"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; diff --git a/test/abilities/power_spot.test.ts b/test/abilities/power_spot.test.ts index e29b5ecf775..68ace696d4a 100644 --- a/test/abilities/power_spot.test.ts +++ b/test/abilities/power_spot.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/abilities/protean.test.ts b/test/abilities/protean.test.ts index 574033bb13f..ca5e67139e1 100644 --- a/test/abilities/protean.test.ts +++ b/test/abilities/protean.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { PokemonType } from "#enums/pokemon-type"; import { Weather } from "#app/data/weather"; import type { PlayerPokemon } from "#app/field/pokemon"; diff --git a/test/abilities/sap_sipper.test.ts b/test/abilities/sap_sipper.test.ts index f4f02844cbc..b27f97099b9 100644 --- a/test/abilities/sap_sipper.test.ts +++ b/test/abilities/sap_sipper.test.ts @@ -9,7 +9,8 @@ import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; +import { RandomMoveAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; // See also: TypeImmunityAbAttr describe("Abilities - Sap Sipper", () => { diff --git a/test/abilities/serene_grace.test.ts b/test/abilities/serene_grace.test.ts index 65ca96acbbc..30073f30b24 100644 --- a/test/abilities/serene_grace.test.ts +++ b/test/abilities/serene_grace.test.ts @@ -4,7 +4,7 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { FlinchAttr } from "#app/data/moves/move"; diff --git a/test/abilities/sheer_force.test.ts b/test/abilities/sheer_force.test.ts index 4a1c20cde5c..74c7b30a846 100644 --- a/test/abilities/sheer_force.test.ts +++ b/test/abilities/sheer_force.test.ts @@ -7,7 +7,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves, FlinchAttr } from "#app/data/moves/move"; +import { FlinchAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; describe("Abilities - Sheer Force", () => { let phaserGame: Phaser.Game; diff --git a/test/abilities/steely_spirit.test.ts b/test/abilities/steely_spirit.test.ts index b180ff8919e..6e8331ea51a 100644 --- a/test/abilities/steely_spirit.test.ts +++ b/test/abilities/steely_spirit.test.ts @@ -1,5 +1,5 @@ import { allAbilities } from "#app/data/ability"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/supreme_overlord.test.ts b/test/abilities/supreme_overlord.test.ts index a71bf0a9354..69ff4f393b6 100644 --- a/test/abilities/supreme_overlord.test.ts +++ b/test/abilities/supreme_overlord.test.ts @@ -7,7 +7,7 @@ import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; describe("Abilities - Supreme Overlord", () => { let phaserGame: Phaser.Game; diff --git a/test/abilities/tera_shell.test.ts b/test/abilities/tera_shell.test.ts index a99ecfd4ce1..bd88c21f52d 100644 --- a/test/abilities/tera_shell.test.ts +++ b/test/abilities/tera_shell.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/abilities/unburden.test.ts b/test/abilities/unburden.test.ts index 8f18604011c..7012c4cf065 100644 --- a/test/abilities/unburden.test.ts +++ b/test/abilities/unburden.test.ts @@ -1,6 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { PostItemLostAbAttr } from "#app/data/ability"; -import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move"; +import { StealHeldItemChanceAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Pokemon from "#app/field/pokemon"; import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier"; import { Abilities } from "#enums/abilities"; diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index 294025a10e7..c81fa2071c5 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import GameManager from "#test/testUtils/gameManager"; import { toDmgValue } from "#app/utils"; import { Abilities } from "#enums/abilities"; @@ -534,12 +534,12 @@ describe("Abilities - Wimp Out", () => { .enemyAbility(Abilities.WIMP_OUT) .startingLevel(50) .enemyLevel(1) - .enemyMoveset([ Moves.SPLASH, Moves.ENDURE ]) + .enemyMoveset([Moves.SPLASH, Moves.ENDURE]) .battleType("double") - .moveset([ Moves.DRAGON_ENERGY, Moves.SPLASH ]) + .moveset([Moves.DRAGON_ENERGY, Moves.SPLASH]) .startingWave(wave); - await game.classicMode.startBattle([ Species.REGIDRAGO, Species.MAGIKARP ]); + await game.classicMode.startBattle([Species.REGIDRAGO, Species.MAGIKARP]); // turn 1 game.move.select(Moves.DRAGON_ENERGY, 0); @@ -549,6 +549,5 @@ describe("Abilities - Wimp Out", () => { await game.phaseInterceptor.to("SelectModifierPhase"); expect(game.scene.currentBattle.waveIndex).toBe(wave + 1); - }); }); diff --git a/test/abilities/wonder_skin.test.ts b/test/abilities/wonder_skin.test.ts index 18d5be36aef..fe24cdad5ec 100644 --- a/test/abilities/wonder_skin.test.ts +++ b/test/abilities/wonder_skin.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/arena/arena_gravity.test.ts b/test/arena/arena_gravity.test.ts index a5ce84667f0..7e72d14460a 100644 --- a/test/arena/arena_gravity.test.ts +++ b/test/arena/arena_gravity.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; diff --git a/test/arena/grassy_terrain.test.ts b/test/arena/grassy_terrain.test.ts index d92fb24be5a..9ee9d2ef434 100644 --- a/test/arena/grassy_terrain.test.ts +++ b/test/arena/grassy_terrain.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/arena/weather_fog.test.ts b/test/arena/weather_fog.test.ts index 784c4886648..b240bfa7386 100644 --- a/test/arena/weather_fog.test.ts +++ b/test/arena/weather_fog.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Moves } from "#enums/moves"; diff --git a/test/arena/weather_strong_winds.test.ts b/test/arena/weather_strong_winds.test.ts index 3a9235d9eb9..50d25947612 100644 --- a/test/arena/weather_strong_winds.test.ts +++ b/test/arena/weather_strong_winds.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { StatusEffect } from "#app/enums/status-effect"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; import { Abilities } from "#enums/abilities"; diff --git a/test/battle/damage_calculation.test.ts b/test/battle/damage_calculation.test.ts index dab1fc81caa..11bb8246ca1 100644 --- a/test/battle/damage_calculation.test.ts +++ b/test/battle/damage_calculation.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type { EnemyPersistentModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import { Abilities } from "#enums/abilities"; diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index fca3dc5ef7e..f2ee741bca2 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -1,5 +1,7 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import type { PokemonTurnData, TurnMove, PokemonMove } from "#app/field/pokemon"; +import type { PokemonTurnData } from "#app/field/pokemon"; +import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { TurnMove } from "#app/interfaces/turn-move"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import type BattleScene from "#app/battle-scene"; @@ -7,7 +9,7 @@ import { BattlerTagLapseType, BindTag, SubstituteTag } from "#app/data/battler-t import { Moves } from "#app/enums/moves"; import { PokemonAnimType } from "#app/enums/pokemon-anim-type"; import * as messages from "#app/messages"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/enemy_command.test.ts b/test/enemy_command.test.ts index 6d5cc2698a3..cfa141cf89e 100644 --- a/test/enemy_command.test.ts +++ b/test/enemy_command.test.ts @@ -1,11 +1,11 @@ import type BattleScene from "#app/battle-scene"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveCategory } from "#enums/MoveCategory"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import type { EnemyPokemon } from "#app/field/pokemon"; -import { AiType } from "#app/field/pokemon"; +import { AiType } from "#enums/ai-type"; import { randSeedInt } from "#app/utils"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/evolution.test.ts b/test/evolution.test.ts index dd6795bf161..62a06f868e8 100644 --- a/test/evolution.test.ts +++ b/test/evolution.test.ts @@ -1,8 +1,5 @@ -import { - pokemonEvolutions, - SpeciesFormEvolution, - SpeciesWildEvolutionDelay, -} from "#app/data/balance/pokemon-evolutions"; +import { pokemonEvolutions, SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; +import { SpeciesWildEvolutionDelay } from "#enums/species-wild-evolution-delay"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; diff --git a/test/imports.test.ts b/test/imports.test.ts index 128308dbd14..ada7eff0109 100644 --- a/test/imports.test.ts +++ b/test/imports.test.ts @@ -4,7 +4,7 @@ import { describe, expect, it } from "vitest"; async function importModule() { try { initStatsKeys(); - const { PokemonMove } = await import("#app/field/pokemon"); + const { PokemonMove } = await import("#app/data/moves/pokemon-move"); const { Species } = await import("#enums/species"); return { PokemonMove, diff --git a/test/items/reviver_seed.test.ts b/test/items/reviver_seed.test.ts index c06f354a94a..e1e7e0d554e 100644 --- a/test/items/reviver_seed.test.ts +++ b/test/items/reviver_seed.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { PokemonInstantReviveModifier } from "#app/modifier/modifier"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/astonish.test.ts b/test/moves/astonish.test.ts index 53922060ae6..69a312d4517 100644 --- a/test/moves/astonish.test.ts +++ b/test/moves/astonish.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BerryPhase } from "#app/phases/berry-phase"; import { CommandPhase } from "#app/phases/command-phase"; diff --git a/test/moves/aurora_veil.test.ts b/test/moves/aurora_veil.test.ts index 31f6497bae5..06637d0764e 100644 --- a/test/moves/aurora_veil.test.ts +++ b/test/moves/aurora_veil.test.ts @@ -1,7 +1,8 @@ import type BattleScene from "#app/battle-scene"; import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; -import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; +import { CritOnlyAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/moves/burning_jealousy.test.ts b/test/moves/burning_jealousy.test.ts index 60387df4226..c618b46e842 100644 --- a/test/moves/burning_jealousy.test.ts +++ b/test/moves/burning_jealousy.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { StatusEffect } from "#app/enums/status-effect"; import { Moves } from "#enums/moves"; diff --git a/test/moves/ceaseless_edge.test.ts b/test/moves/ceaseless_edge.test.ts index d54f1bd9f21..227645df360 100644 --- a/test/moves/ceaseless_edge.test.ts +++ b/test/moves/ceaseless_edge.test.ts @@ -1,5 +1,5 @@ import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/test/moves/copycat.test.ts b/test/moves/copycat.test.ts index 0d9b0951f89..615206275d4 100644 --- a/test/moves/copycat.test.ts +++ b/test/moves/copycat.test.ts @@ -1,5 +1,6 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; +import { RandomMoveAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Stat } from "#app/enums/stat"; import { MoveResult } from "#app/field/pokemon"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/destiny_bond.test.ts b/test/moves/destiny_bond.test.ts index c39d40427ad..9873d678b8c 100644 --- a/test/moves/destiny_bond.test.ts +++ b/test/moves/destiny_bond.test.ts @@ -1,6 +1,6 @@ import type { ArenaTrapTag } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Moves } from "#enums/moves"; diff --git a/test/moves/diamond_storm.test.ts b/test/moves/diamond_storm.test.ts index 2363122f0d7..73a1aee3fd2 100644 --- a/test/moves/diamond_storm.test.ts +++ b/test/moves/diamond_storm.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/dig.test.ts b/test/moves/dig.test.ts index 81339111656..14e7efee19b 100644 --- a/test/moves/dig.test.ts +++ b/test/moves/dig.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; diff --git a/test/moves/dragon_tail.test.ts b/test/moves/dragon_tail.test.ts index 37e8aa2fe1b..a571312473d 100644 --- a/test/moves/dragon_tail.test.ts +++ b/test/moves/dragon_tail.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Status } from "#app/data/status-effect"; import { Challenges } from "#enums/challenges"; import { StatusEffect } from "#enums/status-effect"; diff --git a/test/moves/dynamax_cannon.test.ts b/test/moves/dynamax_cannon.test.ts index 9cf3106b9c1..b2590449e4e 100644 --- a/test/moves/dynamax_cannon.test.ts +++ b/test/moves/dynamax_cannon.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Moves } from "#enums/moves"; diff --git a/test/moves/effectiveness.test.ts b/test/moves/effectiveness.test.ts index fb03f1c10a0..efcbc9c3293 100644 --- a/test/moves/effectiveness.test.ts +++ b/test/moves/effectiveness.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { TrainerSlot } from "#enums/trainer-slot"; import { PokemonType } from "#enums/pokemon-type"; diff --git a/test/moves/fell_stinger.test.ts b/test/moves/fell_stinger.test.ts index 2ffa44c5a3a..766fedf68dc 100644 --- a/test/moves/fell_stinger.test.ts +++ b/test/moves/fell_stinger.test.ts @@ -7,7 +7,7 @@ import { Moves } from "#enums/moves"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import { WeatherType } from "#app/enums/weather-type"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; describe("Moves - Fell Stinger", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/fly.test.ts b/test/moves/fly.test.ts index 0bd7d22b2a7..37fa42b608d 100644 --- a/test/moves/fly.test.ts +++ b/test/moves/fly.test.ts @@ -8,7 +8,7 @@ import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; describe("Moves - Fly", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/freezy_frost.test.ts b/test/moves/freezy_frost.test.ts index c1ac4054e70..d764600bc78 100644 --- a/test/moves/freezy_frost.test.ts +++ b/test/moves/freezy_frost.test.ts @@ -5,7 +5,7 @@ import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { CommandPhase } from "#app/phases/command-phase"; describe("Moves - Freezy Frost", () => { diff --git a/test/moves/fusion_flare_bolt.test.ts b/test/moves/fusion_flare_bolt.test.ts index c340aeea63f..32df10b4c7c 100644 --- a/test/moves/fusion_flare_bolt.test.ts +++ b/test/moves/fusion_flare_bolt.test.ts @@ -1,6 +1,6 @@ import { Stat } from "#enums/stat"; import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/test/moves/glaive_rush.test.ts b/test/moves/glaive_rush.test.ts index d3531b172e2..28d6328c095 100644 --- a/test/moves/glaive_rush.test.ts +++ b/test/moves/glaive_rush.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; diff --git a/test/moves/hard_press.test.ts b/test/moves/hard_press.test.ts index 8891f0bf0e2..425993fb1a9 100644 --- a/test/moves/hard_press.test.ts +++ b/test/moves/hard_press.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/hyper_beam.test.ts b/test/moves/hyper_beam.test.ts index 5cd54e9b46a..b1a244f2ea4 100644 --- a/test/moves/hyper_beam.test.ts +++ b/test/moves/hyper_beam.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Moves } from "#app/enums/moves"; diff --git a/test/moves/lash_out.test.ts b/test/moves/lash_out.test.ts index 8395633f5c0..16632ec0065 100644 --- a/test/moves/lash_out.test.ts +++ b/test/moves/lash_out.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/last_respects.test.ts b/test/moves/last_respects.test.ts index ccab8a43415..891b287dece 100644 --- a/test/moves/last_respects.test.ts +++ b/test/moves/last_respects.test.ts @@ -3,7 +3,7 @@ import { BattlerIndex } from "#app/battle"; import { Species } from "#enums/species"; import { Abilities } from "#enums/abilities"; import GameManager from "#test/testUtils/gameManager"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import Phaser from "phaser"; diff --git a/test/moves/light_screen.test.ts b/test/moves/light_screen.test.ts index 9cc6944ed3e..b77bb1c790b 100644 --- a/test/moves/light_screen.test.ts +++ b/test/moves/light_screen.test.ts @@ -1,7 +1,8 @@ import type BattleScene from "#app/battle-scene"; import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; -import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; +import { CritOnlyAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; diff --git a/test/moves/magic_coat.test.ts b/test/moves/magic_coat.test.ts index 2cc8dea8938..e96125a23ac 100644 --- a/test/moves/magic_coat.test.ts +++ b/test/moves/magic_coat.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; diff --git a/test/moves/metronome.test.ts b/test/moves/metronome.test.ts index 80f32a3a6fb..bf045f5e9f9 100644 --- a/test/moves/metronome.test.ts +++ b/test/moves/metronome.test.ts @@ -1,5 +1,6 @@ import { RechargingTag, SemiInvulnerableTag } from "#app/data/battler-tags"; -import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; +import { RandomMoveAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import { CommandPhase } from "#app/phases/command-phase"; diff --git a/test/moves/moongeist_beam.test.ts b/test/moves/moongeist_beam.test.ts index 117fe513e17..94197683ea4 100644 --- a/test/moves/moongeist_beam.test.ts +++ b/test/moves/moongeist_beam.test.ts @@ -1,4 +1,5 @@ -import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; +import { RandomMoveAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/pledge_moves.test.ts b/test/moves/pledge_moves.test.ts index c866d15357c..d3b8e60ac62 100644 --- a/test/moves/pledge_moves.test.ts +++ b/test/moves/pledge_moves.test.ts @@ -1,7 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/ability"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves, FlinchAttr } from "#app/data/moves/move"; +import { FlinchAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { PokemonType } from "#enums/pokemon-type"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Stat } from "#enums/stat"; diff --git a/test/moves/powder.test.ts b/test/moves/powder.test.ts index 522b0b74ca7..510564e0f53 100644 --- a/test/moves/powder.test.ts +++ b/test/moves/powder.test.ts @@ -5,7 +5,8 @@ import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { BerryPhase } from "#app/phases/berry-phase"; -import { MoveResult, PokemonMove } from "#app/field/pokemon"; +import { MoveResult } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { PokemonType } from "#enums/pokemon-type"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { StatusEffect } from "#enums/status-effect"; diff --git a/test/moves/protect.test.ts b/test/moves/protect.test.ts index d50c490f7d3..65de079982f 100644 --- a/test/moves/protect.test.ts +++ b/test/moves/protect.test.ts @@ -5,7 +5,7 @@ import { Species } from "#enums/species"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Stat } from "#enums/stat"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; diff --git a/test/moves/rage_fist.test.ts b/test/moves/rage_fist.test.ts index f44901c5aba..73d83f4929c 100644 --- a/test/moves/rage_fist.test.ts +++ b/test/moves/rage_fist.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/moves/reflect.test.ts b/test/moves/reflect.test.ts index ac879a7cc2b..272e5c2972c 100644 --- a/test/moves/reflect.test.ts +++ b/test/moves/reflect.test.ts @@ -1,7 +1,8 @@ import type BattleScene from "#app/battle-scene"; import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; -import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; +import { CritOnlyAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; diff --git a/test/moves/retaliate.test.ts b/test/moves/retaliate.test.ts index e916c9ffeaa..57d29b4fdfc 100644 --- a/test/moves/retaliate.test.ts +++ b/test/moves/retaliate.test.ts @@ -3,7 +3,7 @@ import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; import { Species } from "#enums/species"; import { Moves } from "#enums/moves"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; describe("Moves - Retaliate", () => { diff --git a/test/moves/rollout.test.ts b/test/moves/rollout.test.ts index 89270c2dfc7..456f029cda1 100644 --- a/test/moves/rollout.test.ts +++ b/test/moves/rollout.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { CommandPhase } from "#app/phases/command-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/round.test.ts b/test/moves/round.test.ts index 82f080a25ea..ec9f3f69a5e 100644 --- a/test/moves/round.test.ts +++ b/test/moves/round.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/scale_shot.test.ts b/test/moves/scale_shot.test.ts index 2be632adb54..ee759b8404a 100644 --- a/test/moves/scale_shot.test.ts +++ b/test/moves/scale_shot.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; diff --git a/test/moves/secret_power.test.ts b/test/moves/secret_power.test.ts index 37f1664251b..40802dcc51f 100644 --- a/test/moves/secret_power.test.ts +++ b/test/moves/secret_power.test.ts @@ -2,7 +2,7 @@ import { Abilities } from "#enums/abilities"; import { Biome } from "#enums/biome"; import { Moves } from "#enums/moves"; import { Stat } from "#enums/stat"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/moves/shell_side_arm.test.ts b/test/moves/shell_side_arm.test.ts index a5b065b76cb..232182ffef0 100644 --- a/test/moves/shell_side_arm.test.ts +++ b/test/moves/shell_side_arm.test.ts @@ -1,5 +1,6 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves, ShellSideArmCategoryAttr } from "#app/data/moves/move"; +import { ShellSideArmCategoryAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/shell_trap.test.ts b/test/moves/shell_trap.test.ts index 2df94cdb828..d3ba67843ac 100644 --- a/test/moves/shell_trap.test.ts +++ b/test/moves/shell_trap.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import { MoveResult } from "#app/field/pokemon"; diff --git a/test/moves/sketch.test.ts b/test/moves/sketch.test.ts index dfbf2eca713..94f37757a6a 100644 --- a/test/moves/sketch.test.ts +++ b/test/moves/sketch.test.ts @@ -1,13 +1,15 @@ import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; -import { MoveResult, PokemonMove } from "#app/field/pokemon"; +import { MoveResult } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { StatusEffect } from "#app/enums/status-effect"; import { BattlerIndex } from "#app/battle"; -import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; +import { RandomMoveAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; describe("Moves - Sketch", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/solar_beam.test.ts b/test/moves/solar_beam.test.ts index dffd4f210e5..b8a28065b64 100644 --- a/test/moves/solar_beam.test.ts +++ b/test/moves/solar_beam.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#enums/battler-tag-type"; import { WeatherType } from "#enums/weather-type"; import { MoveResult } from "#app/field/pokemon"; diff --git a/test/moves/sparkly_swirl.test.ts b/test/moves/sparkly_swirl.test.ts index 6cd357c7e0e..1908772598a 100644 --- a/test/moves/sparkly_swirl.test.ts +++ b/test/moves/sparkly_swirl.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/spectral_thief.test.ts b/test/moves/spectral_thief.test.ts index 2e52b118a74..271cb03073a 100644 --- a/test/moves/spectral_thief.test.ts +++ b/test/moves/spectral_thief.test.ts @@ -1,7 +1,7 @@ import { Abilities } from "#enums/abilities"; import { BattlerIndex } from "#app/battle"; import { Stat } from "#enums/stat"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/moves/spit_up.test.ts b/test/moves/spit_up.test.ts index d71647bda52..7ef6e5e5b14 100644 --- a/test/moves/spit_up.test.ts +++ b/test/moves/spit_up.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { TurnMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { MoveResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/steamroller.test.ts b/test/moves/steamroller.test.ts index ba96928e01d..a0e4c29cce5 100644 --- a/test/moves/steamroller.test.ts +++ b/test/moves/steamroller.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { DamageCalculationResult } from "#app/field/pokemon"; +import type { DamageCalculationResult } from "#app/interfaces/damage-calculation-result"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/stockpile.test.ts b/test/moves/stockpile.test.ts index 033f24d5229..f6e6a0087f6 100644 --- a/test/moves/stockpile.test.ts +++ b/test/moves/stockpile.test.ts @@ -1,6 +1,6 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; -import type { TurnMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { MoveResult } from "#app/field/pokemon"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; diff --git a/test/moves/substitute.test.ts b/test/moves/substitute.test.ts index 23f7f4af4b9..68b90bf7cf8 100644 --- a/test/moves/substitute.test.ts +++ b/test/moves/substitute.test.ts @@ -1,7 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; import { SubstituteTag, TrappedTag } from "#app/data/battler-tags"; -import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move"; +import { StealHeldItemChanceAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { MoveResult } from "#app/field/pokemon"; import type { CommandPhase } from "#app/phases/command-phase"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/swallow.test.ts b/test/moves/swallow.test.ts index baa03801079..86af584a174 100644 --- a/test/moves/swallow.test.ts +++ b/test/moves/swallow.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { TurnMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { MoveResult } from "#app/field/pokemon"; import { MovePhase } from "#app/phases/move-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; diff --git a/test/moves/telekinesis.test.ts b/test/moves/telekinesis.test.ts index 1355cb975f3..7537ba0168a 100644 --- a/test/moves/telekinesis.test.ts +++ b/test/moves/telekinesis.test.ts @@ -1,5 +1,5 @@ import { BattlerTagType } from "#enums/battler-tag-type"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index c1a2b999fa0..9d17ea6a3cc 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -1,10 +1,11 @@ import { BattlerIndex } from "#app/battle"; import { Stat } from "#enums/stat"; -import { allMoves, TeraMoveCategoryAttr } from "#app/data/moves/move"; +import { TeraMoveCategoryAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/toxic.test.ts b/test/moves/toxic.test.ts index f2b1f82fe02..ab536364f6a 100644 --- a/test/moves/toxic.test.ts +++ b/test/moves/toxic.test.ts @@ -5,7 +5,7 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { StatusEffect } from "#enums/status-effect"; import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; describe("Moves - Toxic", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/triple_arrows.test.ts b/test/moves/triple_arrows.test.ts index eb434b25815..d1d14f7d3e6 100644 --- a/test/moves/triple_arrows.test.ts +++ b/test/moves/triple_arrows.test.ts @@ -1,4 +1,5 @@ -import { allMoves, FlinchAttr, StatStageChangeAttr } from "#app/data/moves/move"; +import { FlinchAttr, StatStageChangeAttr } from "#app/data/moves/move"; +import { allMoves } from "#app/data/moves/all-moves"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import type Move from "#app/data/moves/move"; diff --git a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts index 3c7bda8febd..728129007e7 100644 --- a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts +++ b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts @@ -8,7 +8,8 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vite import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { runMysteryEncounterToEnd } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; +import { PlayerPokemon } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { AnOfferYouCantRefuseEncounter } from "#app/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts index 9befe77e688..c1e6a635f31 100644 --- a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts +++ b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts @@ -11,7 +11,7 @@ import { } from "#test/mystery-encounter/encounter-test-utils"; import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Mode } from "#app/ui/ui"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts index 4bbe76e5c72..7b3d87463bf 100644 --- a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts +++ b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts @@ -15,7 +15,7 @@ import { import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Mode } from "#app/ui/ui"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts index 77cd65e51b9..5ea836d8aa6 100644 --- a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts +++ b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts @@ -17,7 +17,7 @@ import { Moves } from "#enums/moves"; import { DancingLessonsEncounter } from "#app/data/mystery-encounters/encounters/dancing-lessons-encounter"; import { Mode } from "#app/ui/ui"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { CommandPhase } from "#app/phases/command-phase"; import { MovePhase } from "#app/phases/move-phase"; diff --git a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts index d233e72932a..82d80bc3970 100644 --- a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts +++ b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts @@ -11,7 +11,7 @@ import { } from "#test/mystery-encounter/encounter-test-utils"; import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Mode } from "#app/ui/ui"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; diff --git a/test/mystery-encounter/encounters/part-timer-encounter.test.ts b/test/mystery-encounter/encounters/part-timer-encounter.test.ts index 639a2e140ff..308aa9839e9 100644 --- a/test/mystery-encounter/encounters/part-timer-encounter.test.ts +++ b/test/mystery-encounter/encounters/part-timer-encounter.test.ts @@ -14,7 +14,7 @@ import { CIVILIZATION_ENCOUNTER_BIOMES } from "#app/data/mystery-encounters/myst import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { PartTimerEncounter } from "#app/data/mystery-encounters/encounters/part-timer-encounter"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Moves } from "#enums/moves"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; diff --git a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts index a9e6a339d36..0d0298901d0 100644 --- a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts @@ -17,7 +17,7 @@ import { TheStrongStuffEncounter } from "#app/data/mystery-encounters/encounters import { Nature } from "#enums/nature"; import { BerryType } from "#enums/berry-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { Mode } from "#app/ui/ui"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { BerryModifier, PokemonBaseStatTotalModifier } from "#app/modifier/modifier"; diff --git a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts index df7bbb9f424..44c8e7a8915 100644 --- a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts +++ b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts @@ -12,7 +12,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Biome } from "#app/enums/biome"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; import { Species } from "#app/enums/species"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { HealShopCostModifier, HitHealModifier, TurnHealModifier } from "#app/modifier/modifier"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { modifierTypes, type PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; diff --git a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts index 452dfcf3784..e4928406a18 100644 --- a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts +++ b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts @@ -10,7 +10,7 @@ import { } from "#test/mystery-encounter/encounter-test-utils"; import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index 543f46b2026..333f95f2014 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -1,7 +1,7 @@ import type { BattlerIndex } from "#app/battle"; import { Button } from "#app/enums/buttons"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/field/pokemon"; +import { PokemonMove } from "#app/data/moves/pokemon-move"; import Overrides from "#app/overrides"; import type { CommandPhase } from "#app/phases/command-phase"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; From b41eee3c7f64be3b2c83ea30fb33210e87f73766 Mon Sep 17 00:00:00 2001 From: damocleas Date: Mon, 14 Apr 2025 12:28:36 -0400 Subject: [PATCH 021/102] Revert "[Refactor] Move many interfaces and enums to their own file" (#5661) Revert "[Refactor] Move many interfaces and enums to their own file (#5646)" This reverts commit c82e01eed377cacc5d3ffd2ef9caa27270e8a2dc. --- src/@types/damage-result.ts | 10 - src/battle-scene.ts | 2 +- src/battle.ts | 3 +- src/data/ability.ts | 9 +- src/data/arena-tag.ts | 5 +- src/data/balance/egg-moves.ts | 2 +- src/data/balance/pokemon-evolutions.ts | 60 ++++- src/data/battle-anims.ts | 3 +- src/data/battler-tags.ts | 5 +- src/data/berry.ts | 2 +- src/data/challenge.ts | 2 +- src/data/moves/all-moves.ts | 3 - src/data/moves/move.ts | 21 +- src/data/moves/pokemon-move.ts | 93 -------- .../encounters/absolute-avarice-encounter.ts | 3 +- .../encounters/bug-type-superfan-encounter.ts | 4 +- .../encounters/clowning-around-encounter.ts | 2 +- .../encounters/dancing-lessons-encounter.ts | 3 +- .../encounters/field-trip-encounter.ts | 3 +- .../encounters/fiery-fallout-encounter.ts | 2 +- .../encounters/fun-and-games-encounter.ts | 2 +- .../global-trade-system-encounter.ts | 3 +- .../encounters/lost-at-sea-encounter.ts | 2 +- .../slumbering-snorlax-encounter.ts | 3 +- .../encounters/the-strong-stuff-encounter.ts | 2 +- .../encounters/trash-to-treasure-encounter.ts | 2 +- .../encounters/uncommon-breed-encounter.ts | 2 +- .../encounters/weird-dream-encounter.ts | 2 +- .../mystery-encounter-requirements.ts | 3 +- .../mystery-encounters/mystery-encounter.ts | 3 +- .../can-learn-move-requirement.ts | 2 +- .../utils/encounter-phase-utils.ts | 7 +- src/data/pokemon-forms.ts | 2 +- src/data/pokemon-species.ts | 7 +- src/data/trainers/trainer-config.ts | 2 +- src/enums/ai-type.ts | 5 - src/enums/evolution-item.ts | 48 ---- src/enums/field-position.ts | 5 - src/enums/hit-result.ts | 15 -- src/enums/learn-move-context.ts | 8 - src/enums/species-wild-evolution-delay.ts | 8 - src/field/damage-number-handler.ts | 4 +- src/field/pokemon.ts | 206 ++++++++++++++++-- src/interfaces/attack-move-result.ts | 12 - src/interfaces/damage-calculation-result.ts | 11 - src/interfaces/turn-move.ts | 12 - src/modifier/modifier-type.ts | 9 +- src/modifier/modifier.ts | 2 +- src/overrides.ts | 2 +- src/phases/command-phase.ts | 5 +- src/phases/damage-anim-phase.ts | 3 +- src/phases/encounter-phase.ts | 2 +- src/phases/evolution-phase.ts | 10 +- src/phases/faint-phase.ts | 7 +- src/phases/learn-move-phase.ts | 2 +- src/phases/move-charge-phase.ts | 2 +- src/phases/move-effect-phase.ts | 5 +- src/phases/move-header-phase.ts | 2 +- src/phases/move-phase.ts | 4 +- src/phases/pokemon-heal-phase.ts | 2 +- src/phases/pokemon-transform-phase.ts | 2 +- src/phases/select-target-phase.ts | 2 +- src/phases/summon-phase.ts | 2 +- src/phases/switch-summon-phase.ts | 3 +- src/phases/toggle-double-position-phase.ts | 2 +- src/phases/turn-start-phase.ts | 5 +- src/phases/weather-effect-phase.ts | 2 +- src/system/game-data.ts | 2 +- src/system/pokemon-data.ts | 3 +- src/ui/fight-ui-handler.ts | 2 +- src/ui/modifier-select-ui-handler.ts | 2 +- src/ui/party-ui-handler.ts | 6 +- src/ui/pokedex-page-ui-handler.ts | 2 +- src/ui/pokedex-scan-ui-handler.ts | 2 +- src/ui/pokedex-ui-handler.ts | 2 +- src/ui/pokemon-hatch-info-container.ts | 2 +- src/ui/starter-select-ui-handler.ts | 2 +- src/ui/summary-ui-handler.ts | 3 +- test/abilities/aura_break.test.ts | 2 +- test/abilities/battery.test.ts | 2 +- test/abilities/battle_bond.test.ts | 3 +- test/abilities/flower_veil.test.ts | 2 +- test/abilities/friend_guard.test.ts | 2 +- test/abilities/galvanize.test.ts | 4 +- test/abilities/hustle.test.ts | 2 +- test/abilities/infiltrator.test.ts | 2 +- test/abilities/libero.test.ts | 2 +- test/abilities/magic_bounce.test.ts | 2 +- test/abilities/power_spot.test.ts | 2 +- test/abilities/protean.test.ts | 2 +- test/abilities/sap_sipper.test.ts | 3 +- test/abilities/serene_grace.test.ts | 2 +- test/abilities/sheer_force.test.ts | 3 +- test/abilities/steely_spirit.test.ts | 2 +- test/abilities/supreme_overlord.test.ts | 2 +- test/abilities/tera_shell.test.ts | 2 +- test/abilities/unburden.test.ts | 3 +- test/abilities/wimp_out.test.ts | 9 +- test/abilities/wonder_skin.test.ts | 2 +- test/arena/arena_gravity.test.ts | 2 +- test/arena/grassy_terrain.test.ts | 2 +- test/arena/weather_fog.test.ts | 2 +- test/arena/weather_strong_winds.test.ts | 2 +- test/battle/damage_calculation.test.ts | 2 +- test/battlerTags/substitute.test.ts | 6 +- test/enemy_command.test.ts | 4 +- test/evolution.test.ts | 7 +- test/imports.test.ts | 2 +- test/items/reviver_seed.test.ts | 2 +- test/moves/astonish.test.ts | 2 +- test/moves/aurora_veil.test.ts | 3 +- test/moves/burning_jealousy.test.ts | 2 +- test/moves/ceaseless_edge.test.ts | 2 +- test/moves/copycat.test.ts | 3 +- test/moves/destiny_bond.test.ts | 2 +- test/moves/diamond_storm.test.ts | 2 +- test/moves/dig.test.ts | 2 +- test/moves/dragon_tail.test.ts | 2 +- test/moves/dynamax_cannon.test.ts | 2 +- test/moves/effectiveness.test.ts | 2 +- test/moves/fell_stinger.test.ts | 2 +- test/moves/fly.test.ts | 2 +- test/moves/freezy_frost.test.ts | 2 +- test/moves/fusion_flare_bolt.test.ts | 2 +- test/moves/glaive_rush.test.ts | 2 +- test/moves/hard_press.test.ts | 2 +- test/moves/hyper_beam.test.ts | 2 +- test/moves/lash_out.test.ts | 2 +- test/moves/last_respects.test.ts | 2 +- test/moves/light_screen.test.ts | 3 +- test/moves/magic_coat.test.ts | 2 +- test/moves/metronome.test.ts | 3 +- test/moves/moongeist_beam.test.ts | 3 +- test/moves/pledge_moves.test.ts | 3 +- test/moves/powder.test.ts | 3 +- test/moves/protect.test.ts | 2 +- test/moves/rage_fist.test.ts | 2 +- test/moves/reflect.test.ts | 3 +- test/moves/retaliate.test.ts | 2 +- test/moves/rollout.test.ts | 2 +- test/moves/round.test.ts | 2 +- test/moves/scale_shot.test.ts | 2 +- test/moves/secret_power.test.ts | 2 +- test/moves/shell_side_arm.test.ts | 3 +- test/moves/shell_trap.test.ts | 2 +- test/moves/sketch.test.ts | 6 +- test/moves/solar_beam.test.ts | 2 +- test/moves/sparkly_swirl.test.ts | 2 +- test/moves/spectral_thief.test.ts | 2 +- test/moves/spit_up.test.ts | 4 +- test/moves/steamroller.test.ts | 4 +- test/moves/stockpile.test.ts | 2 +- test/moves/substitute.test.ts | 3 +- test/moves/swallow.test.ts | 2 +- test/moves/telekinesis.test.ts | 2 +- test/moves/tera_blast.test.ts | 5 +- test/moves/toxic.test.ts | 2 +- test/moves/triple_arrows.test.ts | 3 +- ...an-offer-you-cant-refuse-encounter.test.ts | 3 +- .../bug-type-superfan-encounter.test.ts | 2 +- .../clowning-around-encounter.test.ts | 2 +- .../dancing-lessons-encounter.test.ts | 2 +- .../fight-or-flight-encounter.test.ts | 2 +- .../encounters/part-timer-encounter.test.ts | 2 +- .../the-strong-stuff-encounter.test.ts | 2 +- .../trash-to-treasure-encounter.test.ts | 2 +- .../uncommon-breed-encounter.test.ts | 2 +- test/testUtils/helpers/moveHelper.ts | 2 +- 168 files changed, 455 insertions(+), 490 deletions(-) delete mode 100644 src/@types/damage-result.ts delete mode 100644 src/data/moves/all-moves.ts delete mode 100644 src/data/moves/pokemon-move.ts delete mode 100644 src/enums/ai-type.ts delete mode 100644 src/enums/evolution-item.ts delete mode 100644 src/enums/field-position.ts delete mode 100644 src/enums/hit-result.ts delete mode 100644 src/enums/learn-move-context.ts delete mode 100644 src/enums/species-wild-evolution-delay.ts delete mode 100644 src/interfaces/attack-move-result.ts delete mode 100644 src/interfaces/damage-calculation-result.ts delete mode 100644 src/interfaces/turn-move.ts diff --git a/src/@types/damage-result.ts b/src/@types/damage-result.ts deleted file mode 100644 index 7086d843cf4..00000000000 --- a/src/@types/damage-result.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { HitResult } from "#enums/hit-result"; - -export type DamageResult = - | HitResult.EFFECTIVE - | HitResult.SUPER_EFFECTIVE - | HitResult.NOT_VERY_EFFECTIVE - | HitResult.ONE_HIT_KO - | HitResult.CONFUSION - | HitResult.INDIRECT_KO - | HitResult.INDIRECT; diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 12dbfca68e8..dd983f2b397 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -51,7 +51,7 @@ import { initGameSpeed } from "#app/system/game-speed"; import { Arena, ArenaBase } from "#app/field/arena"; import { GameData } from "#app/system/game-data"; import { addTextObject, getTextColor, TextStyle } from "#app/ui/text"; -import { allMoves } from "./data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MusicPreference } from "#app/system/settings/settings"; import { getDefaultModifierTypeForTier, diff --git a/src/battle.ts b/src/battle.ts index 1122db2679a..fb5af223b8f 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -15,8 +15,7 @@ import { MoneyMultiplierModifier, PokemonHeldItemModifier } from "./modifier/mod import type { PokeballType } from "#enums/pokeball"; import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { SpeciesFormKey } from "#enums/species-form-key"; -import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; -import type { TurnMove } from "./interfaces/turn-move"; +import type { EnemyPokemon, PlayerPokemon, TurnMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattleSpec } from "#enums/battle-spec"; diff --git a/src/data/ability.ts b/src/data/ability.ts index 02cc12dd0f4..3e32a624f9f 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -1,8 +1,6 @@ -import type { EnemyPokemon } from "../field/pokemon"; -import type { PokemonMove } from "./moves/pokemon-move"; +import type { EnemyPokemon, PokemonMove } from "../field/pokemon"; import type Pokemon from "../field/pokemon"; -import { MoveResult, PlayerPokemon } from "../field/pokemon"; -import { HitResult } from "#enums/hit-result"; +import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; import { getPokemonNameWithAffix } from "../messages"; @@ -12,8 +10,7 @@ import { BattlerTagLapseType, GroundedTag } from "./battler-tags"; import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect"; import { Gender } from "./gender"; import type Move from "./moves/move"; -import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move"; -import { allMoves } from "./moves/all-moves"; +import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index c6a1515685f..871f622f70a 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -2,13 +2,12 @@ import { globalScene } from "#app/global-scene"; import type { Arena } from "#app/field/arena"; import { PokemonType } from "#enums/pokemon-type"; import { BooleanHolder, NumberHolder, toDmgValue } from "#app/utils"; -import { allMoves } from "./moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { getPokemonNameWithAffix } from "#app/messages"; import type Pokemon from "#app/field/pokemon"; -import { HitResult } from "#enums/hit-result"; -import { PokemonMove } from "./moves/pokemon-move"; +import { HitResult, PokemonMove } from "#app/field/pokemon"; import { StatusEffect } from "#enums/status-effect"; import type { BattlerIndex } from "#app/battle"; import { diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 98f3347764c..74f6a2c1afb 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { getEnumKeys, getEnumValues } from "#app/utils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index 70b616be8e5..17f71f3c3c9 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -14,10 +14,66 @@ import { DamageMoneyRewardModifier, ExtraModifierModifier, MoneyMultiplierModifi import { SpeciesFormKey } from "#enums/species-form-key"; import { speciesStarterCosts } from "./starters"; import i18next from "i18next"; -import { SpeciesWildEvolutionDelay } from "#enums/species-wild-evolution-delay"; -import { EvolutionItem } from "#enums/evolution-item"; +export enum SpeciesWildEvolutionDelay { + NONE, + SHORT, + MEDIUM, + LONG, + VERY_LONG, + NEVER +} + +export enum EvolutionItem { + NONE, + + LINKING_CORD, + SUN_STONE, + MOON_STONE, + LEAF_STONE, + FIRE_STONE, + WATER_STONE, + THUNDER_STONE, + ICE_STONE, + DUSK_STONE, + DAWN_STONE, + SHINY_STONE, + CRACKED_POT, + SWEET_APPLE, + TART_APPLE, + STRAWBERRY_SWEET, + UNREMARKABLE_TEACUP, + UPGRADE, + DUBIOUS_DISC, + DRAGON_SCALE, + PRISM_SCALE, + RAZOR_CLAW, + RAZOR_FANG, + REAPER_CLOTH, + ELECTIRIZER, + MAGMARIZER, + PROTECTOR, + SACHET, + WHIPPED_DREAM, + SYRUPY_APPLE, + CHIPPED_POT, + GALARICA_CUFF, + GALARICA_WREATH, + AUSPICIOUS_ARMOR, + MALICIOUS_ARMOR, + MASTERPIECE_TEACUP, + SUN_FLUTE, + MOON_FLUTE, + + BLACK_AUGURITE = 51, + PEAT_BLOCK, + METAL_ALLOY, + SCROLL_OF_DARKNESS, + SCROLL_OF_WATERS, + LEADERS_CREST +} + /** * Pokemon Evolution tuple type consisting of: * @property 0 {@linkcode Species} The species of the Pokemon. diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 396cf71d984..511c80bee72 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -1,6 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, SelfStatusMove } from "./moves/move"; -import { allMoves } from "./moves/all-moves"; +import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, SelfStatusMove, allMoves } from "./moves/move"; import { MoveFlags } from "#enums/MoveFlags"; import type Pokemon from "../field/pokemon"; import { type nil, getFrameMs, getEnumKeys, getEnumValues, animationFileName } from "../utils"; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index c3dcfc49ef6..76e91485460 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -11,12 +11,12 @@ import { import { ChargeAnim, CommonAnim, CommonBattleAnim, MoveChargeAnim } from "#app/data/battle-anims"; import type Move from "#app/data/moves/move"; import { + allMoves, applyMoveAttrs, ConsecutiveUseDoublePowerAttr, HealOnAllyAttr, StatusCategoryOnAllyAttr, } from "#app/data/moves/move"; -import { allMoves } from "./moves/all-moves"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveCategory } from "#enums/MoveCategory"; import { SpeciesFormChangeAbilityTrigger } from "#app/data/pokemon-forms"; @@ -24,8 +24,7 @@ import { getStatusEffectHealText } from "#app/data/status-effect"; import { TerrainType } from "#app/data/terrain"; import { PokemonType } from "#enums/pokemon-type"; import type Pokemon from "#app/field/pokemon"; -import { MoveResult } from "#app/field/pokemon"; -import { HitResult } from "#enums/hit-result"; +import { HitResult, MoveResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { CommonAnimPhase } from "#app/phases/common-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/src/data/berry.ts b/src/data/berry.ts index aaa0dda6e7f..8a58d337aa4 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -1,6 +1,6 @@ import { getPokemonNameWithAffix } from "../messages"; import type Pokemon from "../field/pokemon"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "../field/pokemon"; import { getStatusEffectHealText } from "./status-effect"; import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils"; import { diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 9a3c329a70b..51616c3f00f 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -6,7 +6,7 @@ import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "./moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import type { FixedBattleConfig } from "#app/battle"; import { ClassicFixedBossWaves, BattleType, getRandomTrainerFunc } from "#app/battle"; import Trainer, { TrainerVariant } from "#app/field/trainer"; diff --git a/src/data/moves/all-moves.ts b/src/data/moves/all-moves.ts deleted file mode 100644 index c7b6d11a08d..00000000000 --- a/src/data/moves/all-moves.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type Move from "./move"; - -export const allMoves: Move[] = []; diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 591894f5f1e..962a13bb840 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -12,17 +12,16 @@ import { TypeBoostTag, } from "../battler-tags"; import { getPokemonNameWithAffix } from "../../messages"; -import type { AttackMoveResult } from "#app/interfaces/attack-move-result"; -import type { TurnMove } from "#app/interfaces/turn-move"; +import type { AttackMoveResult, TurnMove } from "../../field/pokemon"; import type Pokemon from "../../field/pokemon"; import { EnemyPokemon, + FieldPosition, + HitResult, MoveResult, PlayerPokemon, + PokemonMove, } from "../../field/pokemon"; -import { HitResult } from "#enums/hit-result"; -import { FieldPosition } from "#enums/field-position"; -import { PokemonMove } from "./pokemon-move"; import { getNonVolatileStatusEffects, getStatusEffectHealText, @@ -122,7 +121,6 @@ import { MoveFlags } from "#enums/MoveFlags"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; -import { allMoves } from "./all-moves"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean; @@ -8259,7 +8257,11 @@ export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveT return { targets: set.filter(p => p?.isActive(true)).map(p => p.getBattlerIndex()).filter(t => t !== undefined), multiple }; } -allMoves.push(new SelfStatusMove(Moves.NONE, PokemonType.NORMAL, MoveCategory.STATUS, -1, -1, 0, 1)); +export const allMoves: Move[] = [ + new SelfStatusMove(Moves.NONE, PokemonType.NORMAL, MoveCategory.STATUS, -1, -1, 0, 1), +]; + +export const selfStatLowerMoves: Moves[] = []; export function initMoves() { allMoves.push( @@ -11248,4 +11250,9 @@ export function initMoves() { new AttackMove(Moves.MALIGNANT_CHAIN, PokemonType.POISON, MoveCategory.SPECIAL, 100, 100, 5, 50, 0, 9) .attr(StatusEffectAttr, StatusEffect.TOXIC) ); + allMoves.map(m => { + if (m.getAttrs(StatStageChangeAttr).some(a => a.selfTarget && a.stages < 0)) { + selfStatLowerMoves.push(m.id); + } + }); } diff --git a/src/data/moves/pokemon-move.ts b/src/data/moves/pokemon-move.ts deleted file mode 100644 index 49ccaba698b..00000000000 --- a/src/data/moves/pokemon-move.ts +++ /dev/null @@ -1,93 +0,0 @@ -import * as Utils from "#app/utils"; -import { allMoves } from "./all-moves"; -import type { Moves } from "#enums/moves"; -import type Pokemon from "#app/field/pokemon"; -import type Move from "./move"; - -/** - * Wrapper class for the {@linkcode Move} class for Pokemon to interact with. - * These are the moves assigned to a {@linkcode Pokemon} object. - * It links to {@linkcode Move} class via the move ID. - * Compared to {@linkcode Move}, this class also tracks if a move has received. - * PP Ups, amount of PP used, and things like that. - * @see {@linkcode isUsable} - checks if move is restricted, out of PP, or not implemented. - * @see {@linkcode getMove} - returns {@linkcode Move} object by looking it up via ID. - * @see {@linkcode usePp} - removes a point of PP from the move. - * @see {@linkcode getMovePp} - returns amount of PP a move currently has. - * @see {@linkcode getPpRatio} - returns the current PP amount / max PP amount. - * @see {@linkcode getName} - returns name of {@linkcode Move}. - **/ -export class PokemonMove { - public moveId: Moves; - public ppUsed: number; - public ppUp: number; - public virtual: boolean; - - /** - * If defined and nonzero, overrides the maximum PP of the move (e.g., due to move being copied by Transform). - * This also nullifies all effects of `ppUp`. - */ - public maxPpOverride?: number; - - constructor(moveId: Moves, ppUsed = 0, ppUp = 0, virtual = false, maxPpOverride?: number) { - this.moveId = moveId; - this.ppUsed = ppUsed; - this.ppUp = ppUp; - this.virtual = virtual; - this.maxPpOverride = maxPpOverride; - } - - /** - * Checks whether the move can be selected or performed by a Pokemon, without consideration for the move's targets. - * The move is unusable if it is out of PP, restricted by an effect, or unimplemented. - * - * @param pokemon - {@linkcode Pokemon} that would be using this move - * @param ignorePp - If `true`, skips the PP check - * @param ignoreRestrictionTags - If `true`, skips the check for move restriction tags (see {@link MoveRestrictionBattlerTag}) - * @returns `true` if the move can be selected and used by the Pokemon, otherwise `false`. - */ - isUsable(pokemon: Pokemon, ignorePp = false, ignoreRestrictionTags = false): boolean { - if (this.moveId && !ignoreRestrictionTags && pokemon.isMoveRestricted(this.moveId, pokemon)) { - return false; - } - - if (this.getMove().name.endsWith(" (N)")) { - return false; - } - - return ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1; - } - - getMove(): Move { - return allMoves[this.moveId]; - } - - /** - * Sets {@link ppUsed} for this move and ensures the value does not exceed {@link getMovePp} - * @param {number} count Amount of PP to use - */ - usePp(count = 1) { - this.ppUsed = Math.min(this.ppUsed + count, this.getMovePp()); - } - - getMovePp(): number { - return this.maxPpOverride || this.getMove().pp + this.ppUp * Utils.toDmgValue(this.getMove().pp / 5); - } - - getPpRatio(): number { - return 1 - this.ppUsed / this.getMovePp(); - } - - getName(): string { - return this.getMove().name; - } - - /** - * Copies an existing move or creates a valid PokemonMove object from json representing one - * @param source - The data for the move to copy - * @return A valid pokemonmove object - */ - static loadMove(source: PokemonMove | any): PokemonMove { - return new PokemonMove(source.moveId, source.ppUsed, source.ppUp, source.virtual, source.maxPpOverride); - } -} diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index b781f14fad1..85f40a41e51 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -7,8 +7,7 @@ import { transitionMysteryEncounterIntroVisuals, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; import type { BerryModifierType, PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index c6971c42364..1e4c9a3b957 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -24,7 +24,7 @@ import { TrainerType } from "#enums/trainer-type"; import { Species } from "#enums/species"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { getEncounterText, showEncounterDialogue } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; import { Moves } from "#enums/moves"; @@ -50,7 +50,7 @@ import { } from "#app/modifier/modifier"; import i18next from "i18next"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 15fad6dacbf..eca99fc0c13 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -37,7 +37,7 @@ import { Mode } from "#app/ui/ui"; import i18next from "i18next"; import type { OptionSelectConfig } from "#app/ui/abstact-option-select-ui-handler"; import type { PlayerPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Ability } from "#app/data/ability"; import { BerryModifier } from "#app/modifier/modifier"; import { BerryType } from "#enums/berry-type"; diff --git a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts index 90ea6a69c0d..75527e1f8c1 100644 --- a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts +++ b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts @@ -23,8 +23,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { TrainerSlot } from "#enums/trainer-slot"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { modifierTypes } from "#app/modifier/modifier-type"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; diff --git a/src/data/mystery-encounters/encounters/field-trip-encounter.ts b/src/data/mystery-encounters/encounters/field-trip-encounter.ts index 4e330fab3d9..a1964aa5ab4 100644 --- a/src/data/mystery-encounters/encounters/field-trip-encounter.ts +++ b/src/data/mystery-encounters/encounters/field-trip-encounter.ts @@ -7,8 +7,7 @@ import { setEncounterExp, setEncounterRewards, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import type { PlayerPokemon } from "#app/field/pokemon"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import { modifierTypes } from "#app/modifier/modifier-type"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index d868184a7fa..6118fe3d0de 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -26,7 +26,7 @@ import { Gender } from "#app/data/gender"; import { PokemonType } from "#enums/pokemon-type"; import { BattlerIndex } from "#app/battle"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Moves } from "#enums/moves"; import { EncounterBattleAnim } from "#app/data/battle-anims"; import { WeatherType } from "#enums/weather-type"; diff --git a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts index a9fc24c70b7..282c6c149ff 100644 --- a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts +++ b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts @@ -13,7 +13,7 @@ import { MysteryEncounterOptionBuilder } from "#app/data/mystery-encounters/myst import { TrainerSlot } from "#enums/trainer-slot"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { FieldPosition } from "#enums/field-position"; +import { FieldPosition } from "#app/field/pokemon"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MoneyRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index fce496e5e17..f80620647b0 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -26,8 +26,7 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { NumberHolder, isNullOrUndefined, randInt, randSeedInt, randSeedShuffle, randSeedItem } from "#app/utils"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; import { HiddenAbilityRateBoosterModifier, diff --git a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts index 030678b77b1..97fd5783ebb 100644 --- a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts +++ b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts @@ -11,7 +11,7 @@ import { applyDamageToPokemon } from "#app/data/mystery-encounters/utils/encount import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; const OPTION_1_REQUIRED_MOVE = Moves.SURF; const OPTION_2_REQUIRED_MOVE = Moves.FLY; diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index 97a17af43d0..bfa1204a8ba 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -21,8 +21,7 @@ import { import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; -import { AiType } from "#enums/ai-type"; +import { AiType, PokemonMove } from "#app/field/pokemon"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; diff --git a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts index af0363f37e3..c994c6e993f 100644 --- a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts @@ -17,7 +17,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Species } from "#enums/species"; import { Nature } from "#enums/nature"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { modifyPlayerPokemonBST } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { Moves } from "#enums/moves"; diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index 2203ac041f8..e60fe0ddc18 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -25,7 +25,7 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { randSeedInt } from "#app/utils"; diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index 4e3c238aeba..ed1866c7a1b 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -10,7 +10,7 @@ import { import { CHARMING_MOVES } from "#app/data/mystery-encounters/requirements/requirement-groups"; import type Pokemon from "#app/field/pokemon"; import type { EnemyPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index be0c0bdff54..22ec52e976c 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -16,7 +16,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { NumberHolder, isNullOrUndefined, randSeedInt, randSeedShuffle } from "#app/utils"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; diff --git a/src/data/mystery-encounters/mystery-encounter-requirements.ts b/src/data/mystery-encounters/mystery-encounter-requirements.ts index 0c146fe485d..f9aedf2c1a7 100644 --- a/src/data/mystery-encounters/mystery-encounter-requirements.ts +++ b/src/data/mystery-encounters/mystery-encounter-requirements.ts @@ -1,7 +1,6 @@ import { globalScene } from "#app/global-scene"; import { allAbilities } from "#app/data/ability"; -import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; -import { EvolutionItem } from "#enums/evolution-item"; +import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { Nature } from "#enums/nature"; import { FormChangeItem, pokemonFormChanges, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; import { StatusEffect } from "#enums/status-effect"; diff --git a/src/data/mystery-encounters/mystery-encounter.ts b/src/data/mystery-encounters/mystery-encounter.ts index 8010983f9f3..ff098d4d7dd 100644 --- a/src/data/mystery-encounters/mystery-encounter.ts +++ b/src/data/mystery-encounters/mystery-encounter.ts @@ -1,6 +1,5 @@ import type { EnemyPartyConfig } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import type { PlayerPokemon } from "#app/field/pokemon"; -import type { PokemonMove } from "../moves/pokemon-move"; +import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { capitalizeFirstLetter, isNullOrUndefined } from "#app/utils"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts index 598b0ffae70..a7ffe3e26ca 100644 --- a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts +++ b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts @@ -1,6 +1,6 @@ import type { Moves } from "#app/enums/moves"; import type { PlayerPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { isNullOrUndefined } from "#app/utils"; import { EncounterPokemonRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 6ab650d5f9b..a9f6b787878 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -7,12 +7,9 @@ import { WEIGHT_INCREMENT_ON_SPAWN_MISS, } from "#app/data/mystery-encounters/mystery-encounters"; import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; -import type { PlayerPokemon } from "#app/field/pokemon"; -import type { AiType } from "#enums/ai-type"; +import type { AiType, PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, PokemonSummonData } from "#app/field/pokemon"; -import { FieldPosition } from "#enums/field-position"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { EnemyPokemon, FieldPosition, PokemonMove, PokemonSummonData } from "#app/field/pokemon"; import type { CustomModifierSettings, ModifierType } from "#app/modifier/modifier-type"; import { getPartyLuckValue, diff --git a/src/data/pokemon-forms.ts b/src/data/pokemon-forms.ts index 6f36bfde74f..63e166c7fc4 100644 --- a/src/data/pokemon-forms.ts +++ b/src/data/pokemon-forms.ts @@ -1,7 +1,7 @@ import { PokemonFormChangeItemModifier } from "../modifier/modifier"; import type Pokemon from "../field/pokemon"; import { StatusEffect } from "#enums/status-effect"; -import { allMoves } from "./moves/all-moves"; +import { allMoves } from "./moves/move"; import { MoveCategory } from "#enums/MoveCategory"; import type { Constructor, nil } from "#app/utils"; import { Abilities } from "#enums/abilities"; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index ced828fbc6b..a27c00121dc 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -13,8 +13,11 @@ import { uncatchableSpecies } from "#app/data/balance/biomes"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate } from "#app/data/exp"; import type { EvolutionLevel } from "#app/data/balance/pokemon-evolutions"; -import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; -import { SpeciesWildEvolutionDelay } from "#enums/species-wild-evolution-delay"; +import { + SpeciesWildEvolutionDelay, + pokemonEvolutions, + pokemonPrevolutions, +} from "#app/data/balance/pokemon-evolutions"; import { PokemonType } from "#enums/pokemon-type"; import type { LevelMoves } from "#app/data/balance/pokemon-level-moves"; import { diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index c87f72bd912..0ab7119dab9 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { toReadableString, isNullOrUndefined, randSeedItem, randSeedInt } from "#app/utils"; import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import { getPokemonSpecies } from "#app/data/pokemon-species"; diff --git a/src/enums/ai-type.ts b/src/enums/ai-type.ts deleted file mode 100644 index 13931172a4a..00000000000 --- a/src/enums/ai-type.ts +++ /dev/null @@ -1,5 +0,0 @@ -export enum AiType { - RANDOM, - SMART_RANDOM, - SMART -} diff --git a/src/enums/evolution-item.ts b/src/enums/evolution-item.ts deleted file mode 100644 index 3b5e493b378..00000000000 --- a/src/enums/evolution-item.ts +++ /dev/null @@ -1,48 +0,0 @@ -export enum EvolutionItem { - NONE, - - LINKING_CORD, - SUN_STONE, - MOON_STONE, - LEAF_STONE, - FIRE_STONE, - WATER_STONE, - THUNDER_STONE, - ICE_STONE, - DUSK_STONE, - DAWN_STONE, - SHINY_STONE, - CRACKED_POT, - SWEET_APPLE, - TART_APPLE, - STRAWBERRY_SWEET, - UNREMARKABLE_TEACUP, - UPGRADE, - DUBIOUS_DISC, - DRAGON_SCALE, - PRISM_SCALE, - RAZOR_CLAW, - RAZOR_FANG, - REAPER_CLOTH, - ELECTIRIZER, - MAGMARIZER, - PROTECTOR, - SACHET, - WHIPPED_DREAM, - SYRUPY_APPLE, - CHIPPED_POT, - GALARICA_CUFF, - GALARICA_WREATH, - AUSPICIOUS_ARMOR, - MALICIOUS_ARMOR, - MASTERPIECE_TEACUP, - SUN_FLUTE, - MOON_FLUTE, - - BLACK_AUGURITE = 51, - PEAT_BLOCK, - METAL_ALLOY, - SCROLL_OF_DARKNESS, - SCROLL_OF_WATERS, - LEADERS_CREST -} diff --git a/src/enums/field-position.ts b/src/enums/field-position.ts deleted file mode 100644 index 5b7f9c6c570..00000000000 --- a/src/enums/field-position.ts +++ /dev/null @@ -1,5 +0,0 @@ -export enum FieldPosition { - CENTER, - LEFT, - RIGHT -} diff --git a/src/enums/hit-result.ts b/src/enums/hit-result.ts deleted file mode 100644 index 3e62587dd6c..00000000000 --- a/src/enums/hit-result.ts +++ /dev/null @@ -1,15 +0,0 @@ -export enum HitResult { - EFFECTIVE = 1, - SUPER_EFFECTIVE, - NOT_VERY_EFFECTIVE, - ONE_HIT_KO, - NO_EFFECT, - STATUS, - HEAL, - FAIL, - MISS, - INDIRECT, - IMMUNE, - CONFUSION, - INDIRECT_KO -} diff --git a/src/enums/learn-move-context.ts b/src/enums/learn-move-context.ts deleted file mode 100644 index 26001cbcce8..00000000000 --- a/src/enums/learn-move-context.ts +++ /dev/null @@ -1,8 +0,0 @@ -export enum LearnMoveContext { - MISC, - LEVEL_UP, - RELEARN, - EVOLUTION, - EVOLUTION_FUSED, // If fusionSpecies has Evolved - EVOLUTION_FUSED_BASE, // If fusion's base species has Evolved -} diff --git a/src/enums/species-wild-evolution-delay.ts b/src/enums/species-wild-evolution-delay.ts deleted file mode 100644 index 7555dc0e8f6..00000000000 --- a/src/enums/species-wild-evolution-delay.ts +++ /dev/null @@ -1,8 +0,0 @@ -export enum SpeciesWildEvolutionDelay { - NONE, - SHORT, - MEDIUM, - LONG, - VERY_LONG, - NEVER -} diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index 3bb001bf005..a527b148fff 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -1,7 +1,7 @@ import { TextStyle, addTextObject } from "../ui/text"; -import type { DamageResult } from "#app/@types/damage-result"; +import type { DamageResult } from "./pokemon"; import type Pokemon from "./pokemon"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "./pokemon"; import { formatStat, fixedInt } from "#app/utils"; import type { BattlerIndex } from "../battle"; import { globalScene } from "#app/global-scene"; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 162a5118f65..b59b7ba01fe 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -17,6 +17,7 @@ import { applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, + allMoves, TypelessAttr, CritOnlyAttr, getMoveTargets, @@ -41,7 +42,6 @@ import { VariableMoveTypeChartAttr, HpSplitAttr, } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import type { PokemonSpeciesForm } from "#app/data/pokemon-species"; @@ -214,7 +214,7 @@ import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeLapseTeraTrigger, SpeciesFormChangeMoveLearnedTrigger, - SpeciesFormChangePostMoveTrigger, + SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { TerrainType } from "#app/data/terrain"; import type { TrainerSlot } from "#enums/trainer-slot"; @@ -259,15 +259,21 @@ import { MoveFlags } from "#enums/MoveFlags"; import { timedEventManager } from "#app/global-event-manager"; import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { ResetStatusPhase } from "#app/phases/reset-status-phase"; -import { LearnMoveContext } from "#enums/learn-move-context"; -import { TurnMove } from "#app/interfaces/turn-move"; -import { AiType } from "#enums/ai-type"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; -import { DamageCalculationResult } from "#app/interfaces/damage-calculation-result"; -import { FieldPosition } from "#enums/field-position"; -import { AttackMoveResult } from "#app/interfaces/attack-move-result"; -import { HitResult } from "#enums/hit-result"; -import { DamageResult } from "#app/@types/damage-result"; + +export enum LearnMoveSituation { + MISC, + LEVEL_UP, + RELEARN, + EVOLUTION, + EVOLUTION_FUSED, // If fusionSpecies has Evolved + EVOLUTION_FUSED_BASE, // If fusion's base species has Evolved +} + +export enum FieldPosition { + CENTER, + LEFT, + RIGHT, +} export default abstract class Pokemon extends Phaser.GameObjects.Container { public id: number; @@ -2919,7 +2925,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { includeEvolutionMoves = false, simulateEvolutionChain = false, includeRelearnerMoves = false, - learnSituation: LearnMoveContext = LearnMoveContext.MISC, + learnSituation: LearnMoveSituation = LearnMoveSituation.MISC, ): LevelMoves { const ret: LevelMoves = []; let levelMoves: LevelMoves = []; @@ -2927,7 +2933,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { startingLevel = this.level; } if ( - learnSituation === LearnMoveContext.EVOLUTION_FUSED && + learnSituation === LearnMoveSituation.EVOLUTION_FUSED && this.fusionSpecies ) { // For fusion evolutions, get ONLY the moves of the component mon that evolved @@ -2979,7 +2985,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } if ( this.fusionSpecies && - learnSituation !== LearnMoveContext.EVOLUTION_FUSED_BASE + learnSituation !== LearnMoveSituation.EVOLUTION_FUSED_BASE ) { // For fusion evolutions, get ONLY the moves of the component mon that evolved if (simulateEvolutionChain) { @@ -7773,6 +7779,24 @@ interface IllusionData { level?: number } +export interface TurnMove { + move: Moves; + targets: BattlerIndex[]; + result?: MoveResult; + virtual?: boolean; + turn?: number; + ignorePP?: boolean; +} + +export interface AttackMoveResult { + move: Moves; + result: DamageResult; + damage: number; + critical: boolean; + sourceId: number; + sourceBattlerIndex: BattlerIndex; +} + export class PokemonSummonData { /** [Atk, Def, SpAtk, SpDef, Spd, Acc, Eva] */ public statStages: number[] = [0, 0, 0, 0, 0, 0, 0]; @@ -7845,6 +7869,12 @@ export class PokemonTurnData { public extraTurns = 0; } +export enum AiType { + RANDOM, + SMART_RANDOM, + SMART, +} + export enum MoveResult { PENDING, SUCCESS, @@ -7852,3 +7882,151 @@ export enum MoveResult { MISS, OTHER, } + +export enum HitResult { + EFFECTIVE = 1, + SUPER_EFFECTIVE, + NOT_VERY_EFFECTIVE, + ONE_HIT_KO, + NO_EFFECT, + STATUS, + HEAL, + FAIL, + MISS, + INDIRECT, + IMMUNE, + CONFUSION, + INDIRECT_KO, +} + +export type DamageResult = + | HitResult.EFFECTIVE + | HitResult.SUPER_EFFECTIVE + | HitResult.NOT_VERY_EFFECTIVE + | HitResult.ONE_HIT_KO + | HitResult.CONFUSION + | HitResult.INDIRECT_KO + | HitResult.INDIRECT; + +/** Interface containing the results of a damage calculation for a given move */ +export interface DamageCalculationResult { + /** `true` if the move was cancelled (thus suppressing "No Effect" messages) */ + cancelled: boolean; + /** The effectiveness of the move */ + result: HitResult; + /** The damage dealt by the move */ + damage: number; +} + +/** + * Wrapper class for the {@linkcode Move} class for Pokemon to interact with. + * These are the moves assigned to a {@linkcode Pokemon} object. + * It links to {@linkcode Move} class via the move ID. + * Compared to {@linkcode Move}, this class also tracks if a move has received. + * PP Ups, amount of PP used, and things like that. + * @see {@linkcode isUsable} - checks if move is restricted, out of PP, or not implemented. + * @see {@linkcode getMove} - returns {@linkcode Move} object by looking it up via ID. + * @see {@linkcode usePp} - removes a point of PP from the move. + * @see {@linkcode getMovePp} - returns amount of PP a move currently has. + * @see {@linkcode getPpRatio} - returns the current PP amount / max PP amount. + * @see {@linkcode getName} - returns name of {@linkcode Move}. + **/ +export class PokemonMove { + public moveId: Moves; + public ppUsed: number; + public ppUp: number; + public virtual: boolean; + + /** + * If defined and nonzero, overrides the maximum PP of the move (e.g., due to move being copied by Transform). + * This also nullifies all effects of `ppUp`. + */ + public maxPpOverride?: number; + + constructor( + moveId: Moves, + ppUsed = 0, + ppUp = 0, + virtual = false, + maxPpOverride?: number, + ) { + this.moveId = moveId; + this.ppUsed = ppUsed; + this.ppUp = ppUp; + this.virtual = virtual; + this.maxPpOverride = maxPpOverride; + } + + /** + * Checks whether the move can be selected or performed by a Pokemon, without consideration for the move's targets. + * The move is unusable if it is out of PP, restricted by an effect, or unimplemented. + * + * @param {Pokemon} pokemon {@linkcode Pokemon} that would be using this move + * @param {boolean} ignorePp If `true`, skips the PP check + * @param {boolean} ignoreRestrictionTags If `true`, skips the check for move restriction tags (see {@link MoveRestrictionBattlerTag}) + * @returns `true` if the move can be selected and used by the Pokemon, otherwise `false`. + */ + isUsable( + pokemon: Pokemon, + ignorePp = false, + ignoreRestrictionTags = false, + ): boolean { + if ( + this.moveId && + !ignoreRestrictionTags && + pokemon.isMoveRestricted(this.moveId, pokemon) + ) { + return false; + } + + if (this.getMove().name.endsWith(" (N)")) { + return false; + } + + return ( + ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1 + ); + } + + getMove(): Move { + return allMoves[this.moveId]; + } + + /** + * Sets {@link ppUsed} for this move and ensures the value does not exceed {@link getMovePp} + * @param {number} count Amount of PP to use + */ + usePp(count = 1) { + this.ppUsed = Math.min(this.ppUsed + count, this.getMovePp()); + } + + getMovePp(): number { + return ( + this.maxPpOverride || + this.getMove().pp + this.ppUp * toDmgValue(this.getMove().pp / 5) + ); + } + + getPpRatio(): number { + return 1 - this.ppUsed / this.getMovePp(); + } + + getName(): string { + return this.getMove().name; + } + + /** + * Copies an existing move or creates a valid PokemonMove object from json representing one + * @param {PokemonMove | any} source The data for the move to copy + * @return {PokemonMove} A valid pokemonmove object + */ + static loadMove(source: PokemonMove | any): PokemonMove { + return new PokemonMove( + source.moveId, + source.ppUsed, + source.ppUp, + source.virtual, + source.maxPpOverride, + ); + } +} diff --git a/src/interfaces/attack-move-result.ts b/src/interfaces/attack-move-result.ts deleted file mode 100644 index f91d31a69ee..00000000000 --- a/src/interfaces/attack-move-result.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { BattlerIndex } from "#app/battle"; -import type { DamageResult } from "#app/@types/damage-result"; -import type { Moves } from "#enums/moves"; - -export interface AttackMoveResult { - move: Moves; - result: DamageResult; - damage: number; - critical: boolean; - sourceId: number; - sourceBattlerIndex: BattlerIndex; -} diff --git a/src/interfaces/damage-calculation-result.ts b/src/interfaces/damage-calculation-result.ts deleted file mode 100644 index 1220ff7b57d..00000000000 --- a/src/interfaces/damage-calculation-result.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { HitResult } from "#enums/hit-result"; - -/** Interface containing the results of a damage calculation for a given move */ -export interface DamageCalculationResult { - /** `true` if the move was cancelled (thus suppressing "No Effect" messages) */ - cancelled: boolean; - /** The effectiveness of the move */ - result: HitResult; - /** The damage dealt by the move */ - damage: number; -} diff --git a/src/interfaces/turn-move.ts b/src/interfaces/turn-move.ts deleted file mode 100644 index 639d309256e..00000000000 --- a/src/interfaces/turn-move.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { BattlerIndex } from "#app/battle"; -import type { MoveResult } from "#app/field/pokemon"; -import type { Moves } from "#enums/moves"; - -export interface TurnMove { - move: Moves; - targets: BattlerIndex[]; - result?: MoveResult; - virtual?: boolean; - turn?: number; - ignorePP?: boolean; -} diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 852593d922c..8feb60c7778 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1,10 +1,8 @@ import { globalScene } from "#app/global-scene"; -import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; -import { EvolutionItem } from "#enums/evolution-item"; +import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { tmPoolTiers, tmSpecies } from "#app/data/balance/tms"; import { getBerryEffectDescription, getBerryName } from "#app/data/berry"; -import { AttackMove } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, AttackMove } from "#app/data/moves/move"; import { getNatureName, getNatureStatMultiplier } from "#app/data/nature"; import { getPokeballCatchMultiplier, getPokeballName, MAX_PER_TYPE_POKEBALLS } from "#app/data/pokeball"; import { @@ -15,8 +13,7 @@ import { } from "#app/data/pokemon-forms"; import { getStatusEffectDescriptor } from "#app/data/status-effect"; import { PokemonType } from "#enums/pokemon-type"; -import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { EnemyPokemon, PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 7860d0f9296..80f14ba22ce 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1,7 +1,7 @@ import { FusionSpeciesFormEvolution, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { getBerryEffectFunc, getBerryPredicate } from "#app/data/berry"; import { getLevelTotalExp } from "#app/data/exp"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MAX_PER_TYPE_POKEBALLS } from "#app/data/pokeball"; import { type FormChangeItem, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; import { getStatusEffectHealText } from "#app/data/status-effect"; diff --git a/src/overrides.ts b/src/overrides.ts index 49efb5eed33..21c72cd7b98 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -1,5 +1,5 @@ import { type PokeballCounts } from "#app/battle-scene"; -import { EvolutionItem } from "#enums/evolution-item"; +import { EvolutionItem } from "#app/data/balance/pokemon-evolutions"; import { Gender } from "#app/data/gender"; import { FormChangeItem } from "#app/data/pokemon-forms"; import { Variant } from "#app/sprites/variant"; diff --git a/src/phases/command-phase.ts b/src/phases/command-phase.ts index c65f121d20e..8691ac453ca 100644 --- a/src/phases/command-phase.ts +++ b/src/phases/command-phase.ts @@ -11,9 +11,8 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Biome } from "#app/enums/biome"; import { Moves } from "#app/enums/moves"; import { PokeballType } from "#enums/pokeball"; -import type { PlayerPokemon } from "#app/field/pokemon"; -import type { TurnMove } from "#app/interfaces/turn-move"; -import { FieldPosition } from "#enums/field-position"; +import type { PlayerPokemon, TurnMove } from "#app/field/pokemon"; +import { FieldPosition } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; diff --git a/src/phases/damage-anim-phase.ts b/src/phases/damage-anim-phase.ts index 91b21376515..696a2e55b6f 100644 --- a/src/phases/damage-anim-phase.ts +++ b/src/phases/damage-anim-phase.ts @@ -1,8 +1,7 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { BattleSpec } from "#enums/battle-spec"; -import type { DamageResult } from "#app/@types/damage-result"; -import { HitResult } from "#enums/hit-result"; +import { type DamageResult, HitResult } from "#app/field/pokemon"; import { fixedInt } from "#app/utils"; import { PokemonPhase } from "#app/phases/pokemon-phase"; diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 9e28de32c4a..15f3d102e41 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -11,7 +11,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { getRandomWeatherType } from "#app/data/weather"; import { EncounterPhaseEvent } from "#app/events/battle-scene"; import type Pokemon from "#app/field/pokemon"; -import { FieldPosition } from "#enums/field-position"; +import { FieldPosition } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { BoostBugSpawnModifier, IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier"; import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; diff --git a/src/phases/evolution-phase.ts b/src/phases/evolution-phase.ts index 076b7dec80d..203c7542eff 100644 --- a/src/phases/evolution-phase.ts +++ b/src/phases/evolution-phase.ts @@ -10,7 +10,7 @@ import { Mode } from "#app/ui/ui"; import { cos, sin } from "#app/field/anims"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { LearnMoveContext } from "#enums/learn-move-context"; +import { LearnMoveSituation } from "#app/field/pokemon"; import { getTypeRgb } from "#app/data/type"; import i18next from "i18next"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -343,11 +343,11 @@ export class EvolutionPhase extends Phase { this.evolutionHandler.canCancel = false; this.pokemon.evolve(this.evolution, this.pokemon.species).then(() => { - const learnSituation: LearnMoveContext = this.fusionSpeciesEvolved - ? LearnMoveContext.EVOLUTION_FUSED + const learnSituation: LearnMoveSituation = this.fusionSpeciesEvolved + ? LearnMoveSituation.EVOLUTION_FUSED : this.pokemon.fusionSpecies - ? LearnMoveContext.EVOLUTION_FUSED_BASE - : LearnMoveContext.EVOLUTION; + ? LearnMoveSituation.EVOLUTION_FUSED_BASE + : LearnMoveSituation.EVOLUTION; const levelMoves = this.pokemon .getLevelMoves(this.lastLevel + 1, true, false, false, learnSituation) .filter(lm => lm[0] === EVOLVE_MOVE); diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 4c418679047..7e1ae4ec07b 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -12,16 +12,13 @@ import { import type { DestinyBondTag, GrudgeTag } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { battleSpecDialogue } from "#app/data/dialogue"; -import { PostVictoryStatStageChangeAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, PostVictoryStatStageChangeAttr } from "#app/data/moves/move"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { BattleSpec } from "#app/enums/battle-spec"; import { StatusEffect } from "#app/enums/status-effect"; import type { EnemyPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { PlayerPokemon } from "#app/field/pokemon"; -import { HitResult } from "#enums/hit-result"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { HitResult, PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonInstantReviveModifier } from "#app/modifier/modifier"; import { SwitchType } from "#enums/switch-type"; diff --git a/src/phases/learn-move-phase.ts b/src/phases/learn-move-phase.ts index a939298f620..4107a9cf087 100644 --- a/src/phases/learn-move-phase.ts +++ b/src/phases/learn-move-phase.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; import type Move from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { SpeciesFormChangeMoveLearnedTrigger } from "#app/data/pokemon-forms"; import { Moves } from "#enums/moves"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/move-charge-phase.ts b/src/phases/move-charge-phase.ts index ccaf6d054b9..26ad85bbe03 100644 --- a/src/phases/move-charge-phase.ts +++ b/src/phases/move-charge-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { MoveChargeAnim } from "#app/data/battle-anims"; import { applyMoveChargeAttrs, MoveEffectAttr, InstantChargeAttr } from "#app/data/moves/move"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { BooleanHolder } from "#app/utils"; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index c13c411be68..acc7ac0f63a 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -49,10 +49,9 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { PokemonType } from "#enums/pokemon-type"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { MoveResult } from "#app/field/pokemon"; -import { HitResult } from "#enums/hit-result"; +import { HitResult, MoveResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { ContactHeldItemTransferChanceModifier, diff --git a/src/phases/move-header-phase.ts b/src/phases/move-header-phase.ts index c255b45190b..c320df462d1 100644 --- a/src/phases/move-header-phase.ts +++ b/src/phases/move-header-phase.ts @@ -1,5 +1,5 @@ import { applyMoveAttrs, MoveHeaderAttr } from "#app/data/moves/move"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { BattlePhase } from "./battle-phase"; diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 032ac6d06ab..478229dcae8 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -16,6 +16,7 @@ import { CommonAnim } from "#app/data/battle-anims"; import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags"; import { AddArenaTrapTagAttr, + allMoves, applyMoveAttrs, BypassRedirectAttr, BypassSleepAttr, @@ -26,14 +27,13 @@ import { PreMoveMessageAttr, PreUseInterruptAttr, } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; import { MoveFlags } from "#enums/MoveFlags"; import { SpeciesFormChangePreMoveTrigger } from "#app/data/pokemon-forms"; import { getStatusEffectActivationText, getStatusEffectHealText } from "#app/data/status-effect"; import { PokemonType } from "#enums/pokemon-type"; import { getTerrainBlockMessage, getWeatherBlockMessage } from "#app/data/weather"; import { MoveUsedEvent } from "#app/events/battle-scene"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/pokemon-heal-phase.ts b/src/phases/pokemon-heal-phase.ts index 84dc8a5e116..651c625b23a 100644 --- a/src/phases/pokemon-heal-phase.ts +++ b/src/phases/pokemon-heal-phase.ts @@ -3,7 +3,7 @@ import type { BattlerIndex } from "#app/battle"; import { CommonAnim } from "#app/data/battle-anims"; import { getStatusEffectHealText } from "#app/data/status-effect"; import { StatusEffect } from "#app/enums/status-effect"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { HealingBoosterModifier } from "#app/modifier/modifier"; import { HealAchv } from "#app/system/achv"; diff --git a/src/phases/pokemon-transform-phase.ts b/src/phases/pokemon-transform-phase.ts index fb9a28a5a26..b33689321b5 100644 --- a/src/phases/pokemon-transform-phase.ts +++ b/src/phases/pokemon-transform-phase.ts @@ -2,7 +2,7 @@ import type { BattlerIndex } from "#app/battle"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; import { EFFECTIVE_STATS, BATTLE_STATS } from "#enums/stat"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import { PokemonPhase } from "./pokemon-phase"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/select-target-phase.ts b/src/phases/select-target-phase.ts index edd56ba60ed..035eaff41fa 100644 --- a/src/phases/select-target-phase.ts +++ b/src/phases/select-target-phase.ts @@ -5,7 +5,7 @@ import { Mode } from "#app/ui/ui"; import { CommandPhase } from "./command-phase"; import { PokemonPhase } from "./pokemon-phase"; import i18next from "#app/plugins/i18n"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; export class SelectTargetPhase extends PokemonPhase { // biome-ignore lint/complexity/noUselessConstructor: This makes `fieldIndex` required diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index e053b18e4d7..7379d509e55 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -5,7 +5,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { PlayerGender } from "#app/enums/player-gender"; import { addPokeballOpenParticles } from "#app/field/anims"; import type Pokemon from "#app/field/pokemon"; -import { FieldPosition } from "#enums/field-position"; +import { FieldPosition } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import i18next from "i18next"; import { PartyMemberPokemonPhase } from "./party-member-pokemon-phase"; diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index f39a3e62bb6..d63cdb90f25 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -6,8 +6,7 @@ import { PreSummonAbAttr, PreSwitchOutAbAttr, } from "#app/data/ability"; -import { ForceSwitchOutAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; import { getPokeballTintColor } from "#app/data/pokeball"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { TrainerSlot } from "#enums/trainer-slot"; diff --git a/src/phases/toggle-double-position-phase.ts b/src/phases/toggle-double-position-phase.ts index c4766f888aa..37f47d5cf95 100644 --- a/src/phases/toggle-double-position-phase.ts +++ b/src/phases/toggle-double-position-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { FieldPosition } from "#enums/field-position"; +import { FieldPosition } from "#app/field/pokemon"; import { BattlePhase } from "./battle-phase"; export class ToggleDoublePositionPhase extends BattlePhase { diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index 5941e0af163..d5b4160fe1b 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -1,10 +1,9 @@ import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/ability"; -import { MoveHeaderAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, MoveHeaderAttr } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { BypassSpeedChanceModifier } from "#app/modifier/modifier"; import { Command } from "#app/ui/command-ui-handler"; import { randSeedShuffle, BooleanHolder } from "#app/utils"; diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index 256894457fc..5284c9fba85 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -14,7 +14,7 @@ import { getWeatherDamageMessage, getWeatherLapseMessage } from "#app/data/weath import { BattlerTagType } from "#app/enums/battler-tag-type"; import { WeatherType } from "#app/enums/weather-type"; import type Pokemon from "#app/field/pokemon"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "#app/field/pokemon"; import { BooleanHolder, toDmgValue } from "#app/utils"; import { CommonAnimPhase } from "./common-anim-phase"; diff --git a/src/system/game-data.ts b/src/system/game-data.ts index e87c735f459..53146301666 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -30,7 +30,7 @@ import { Nature } from "#enums/nature"; import { GameStats } from "#app/system/game-stats"; import { Tutorial } from "#app/tutorial"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { TrainerVariant } from "#app/field/trainer"; import type { Variant } from "#app/sprites/variant"; import { setSettingGamepad, SettingGamepad, settingGamepadDefaults } from "#app/system/settings/settings-gamepad"; diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 7579fc3b78d..97ce494a43a 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -5,8 +5,7 @@ import type { Nature } from "#enums/nature"; import type { PokeballType } from "#enums/pokeball"; import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; import { Status } from "../data/status-effect"; -import Pokemon, { EnemyPokemon, PokemonSummonData } from "../field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; import { loadBattlerTag } from "../data/battler-tags"; diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 63c0703fa18..27985629e3d 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -10,7 +10,7 @@ import { getLocalizedSpriteKey, fixedInt, padInt } from "#app/utils"; import { MoveCategory } from "#enums/MoveCategory"; import i18next from "i18next"; import { Button } from "#enums/buttons"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import type { CommandPhase } from "#app/phases/command-phase"; import MoveInfoOverlay from "./move-info-overlay"; diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index f0ff351bb8a..26351d4dbf1 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -9,7 +9,7 @@ import { LockModifierTiersModifier, PokemonHeldItemModifier, HealShopCostModifie import { handleTutorial, Tutorial } from "../tutorial"; import { Button } from "#enums/buttons"; import MoveInfoOverlay from "./move-info-overlay"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "../data/moves/move"; import { formatMoney, NumberHolder } from "#app/utils"; import Overrides from "#app/overrides"; import i18next from "i18next"; diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index a42e0caadae..ba90108c274 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -1,5 +1,4 @@ -import type { PlayerPokemon } from "#app/field/pokemon"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { addBBCodeTextObject, addTextObject, getTextColor, TextStyle } from "#app/ui/text"; @@ -12,8 +11,7 @@ import { PokemonHeldItemModifier, SwitchEffectTransferModifier, } from "#app/modifier/modifier"; -import { ForceSwitchOutAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; import { StatusEffect } from "#enums/status-effect"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "#app/ui/pokemon-icon-anim-handler"; diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 1011fc89ae0..407ebfcd843 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -9,7 +9,7 @@ import { allAbilities } from "#app/data/ability"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { getNatureName } from "#app/data/nature"; import type { SpeciesFormChange } from "#app/data/pokemon-forms"; import { pokemonFormChanges } from "#app/data/pokemon-forms"; diff --git a/src/ui/pokedex-scan-ui-handler.ts b/src/ui/pokedex-scan-ui-handler.ts index 54c32fb34a1..b34246b97d1 100644 --- a/src/ui/pokedex-scan-ui-handler.ts +++ b/src/ui/pokedex-scan-ui-handler.ts @@ -7,7 +7,7 @@ import { isNullOrUndefined } from "#app/utils"; import { Mode } from "./ui"; import { FilterTextRow } from "./filter-text"; import { allAbilities } from "#app/data/ability"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { allSpecies } from "#app/data/pokemon-species"; import i18next from "i18next"; diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index 22ce5b833af..59b06d476a2 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -38,7 +38,7 @@ import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import { FilterText, FilterTextRow } from "./filter-text"; import { allAbilities } from "#app/data/ability"; import { starterPassiveAbilities } from "#app/data/balance/passives"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { speciesTmMoves } from "#app/data/balance/tms"; import { pokemonPrevolutions, pokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { Biome } from "#enums/biome"; diff --git a/src/ui/pokemon-hatch-info-container.ts b/src/ui/pokemon-hatch-info-container.ts index 77f9f5090a0..692f0f1d374 100644 --- a/src/ui/pokemon-hatch-info-container.ts +++ b/src/ui/pokemon-hatch-info-container.ts @@ -4,7 +4,7 @@ import { PokemonType } from "#enums/pokemon-type"; import { rgbHexToRgba, padInt } from "#app/utils"; import { TextStyle, addTextObject } from "#app/ui/text"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Species } from "#enums/species"; import { getEggTierForSpecies } from "#app/data/egg"; import { starterColors } from "#app/battle-scene"; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 680f752096b..3e2940f45b9 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -13,7 +13,7 @@ import { allAbilities } from "#app/data/ability"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { getNatureName } from "#app/data/nature"; import { pokemonFormChanges } from "#app/data/pokemon-forms"; import type { LevelMoves } from "#app/data/balance/pokemon-level-moves"; diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index d82082f0872..04bcf71d7ae 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -12,8 +12,7 @@ import { toReadableString, formatStat, } from "#app/utils"; -import type { PlayerPokemon } from "#app/field/pokemon"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; +import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters"; import { argbFromRgba } from "@material/material-color-utilities"; import { getTypeRgb } from "#app/data/type"; diff --git a/test/abilities/aura_break.test.ts b/test/abilities/aura_break.test.ts index 30841fdbe0c..86b6c69ec8b 100644 --- a/test/abilities/aura_break.test.ts +++ b/test/abilities/aura_break.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/battery.test.ts b/test/abilities/battery.test.ts index 78db19e67ff..cc7570c3d31 100644 --- a/test/abilities/battery.test.ts +++ b/test/abilities/battery.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/abilities/battle_bond.test.ts b/test/abilities/battle_bond.test.ts index e615b5746c0..6305d7dedc5 100644 --- a/test/abilities/battle_bond.test.ts +++ b/test/abilities/battle_bond.test.ts @@ -1,5 +1,4 @@ -import { MultiHitAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, MultiHitAttr } from "#app/data/moves/move"; import { MultiHitType } from "#enums/MultiHitType"; import { Status } from "#app/data/status-effect"; import { Abilities } from "#enums/abilities"; diff --git a/test/abilities/flower_veil.test.ts b/test/abilities/flower_veil.test.ts index d91c92e8c9f..c26a952acff 100644 --- a/test/abilities/flower_veil.test.ts +++ b/test/abilities/flower_veil.test.ts @@ -7,7 +7,7 @@ import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#enums/battler-tag-type"; import { allAbilities } from "#app/data/ability"; diff --git a/test/abilities/friend_guard.test.ts b/test/abilities/friend_guard.test.ts index cee82ca2c69..30175fe37e0 100644 --- a/test/abilities/friend_guard.test.ts +++ b/test/abilities/friend_guard.test.ts @@ -6,7 +6,7 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/ability"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MoveCategory } from "#enums/MoveCategory"; describe("Moves - Friend Guard", () => { diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts index 4efb6bb068f..c1e02c6c8d8 100644 --- a/test/abilities/galvanize.test.ts +++ b/test/abilities/galvanize.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/abilities/hustle.test.ts b/test/abilities/hustle.test.ts index fbfa23e90d6..40197cf9e97 100644 --- a/test/abilities/hustle.test.ts +++ b/test/abilities/hustle.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import { Moves } from "#enums/moves"; diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index e9ecf366a37..6278439651c 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -1,5 +1,5 @@ import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Stat } from "#enums/stat"; diff --git a/test/abilities/libero.test.ts b/test/abilities/libero.test.ts index 96a6b3c5d93..22abf1c248f 100644 --- a/test/abilities/libero.test.ts +++ b/test/abilities/libero.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Weather } from "#app/data/weather"; import type { PlayerPokemon } from "#app/field/pokemon"; diff --git a/test/abilities/magic_bounce.test.ts b/test/abilities/magic_bounce.test.ts index c785827c910..f9a076776aa 100644 --- a/test/abilities/magic_bounce.test.ts +++ b/test/abilities/magic_bounce.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/ability"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; diff --git a/test/abilities/power_spot.test.ts b/test/abilities/power_spot.test.ts index 68ace696d4a..e29b5ecf775 100644 --- a/test/abilities/power_spot.test.ts +++ b/test/abilities/power_spot.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/abilities/protean.test.ts b/test/abilities/protean.test.ts index ca5e67139e1..574033bb13f 100644 --- a/test/abilities/protean.test.ts +++ b/test/abilities/protean.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Weather } from "#app/data/weather"; import type { PlayerPokemon } from "#app/field/pokemon"; diff --git a/test/abilities/sap_sipper.test.ts b/test/abilities/sap_sipper.test.ts index b27f97099b9..f4f02844cbc 100644 --- a/test/abilities/sap_sipper.test.ts +++ b/test/abilities/sap_sipper.test.ts @@ -9,8 +9,7 @@ import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { RandomMoveAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; // See also: TypeImmunityAbAttr describe("Abilities - Sap Sipper", () => { diff --git a/test/abilities/serene_grace.test.ts b/test/abilities/serene_grace.test.ts index 30073f30b24..65ca96acbbc 100644 --- a/test/abilities/serene_grace.test.ts +++ b/test/abilities/serene_grace.test.ts @@ -4,7 +4,7 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { FlinchAttr } from "#app/data/moves/move"; diff --git a/test/abilities/sheer_force.test.ts b/test/abilities/sheer_force.test.ts index 74c7b30a846..4a1c20cde5c 100644 --- a/test/abilities/sheer_force.test.ts +++ b/test/abilities/sheer_force.test.ts @@ -7,8 +7,7 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { FlinchAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, FlinchAttr } from "#app/data/moves/move"; describe("Abilities - Sheer Force", () => { let phaserGame: Phaser.Game; diff --git a/test/abilities/steely_spirit.test.ts b/test/abilities/steely_spirit.test.ts index 6e8331ea51a..b180ff8919e 100644 --- a/test/abilities/steely_spirit.test.ts +++ b/test/abilities/steely_spirit.test.ts @@ -1,5 +1,5 @@ import { allAbilities } from "#app/data/ability"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/supreme_overlord.test.ts b/test/abilities/supreme_overlord.test.ts index 69ff4f393b6..a71bf0a9354 100644 --- a/test/abilities/supreme_overlord.test.ts +++ b/test/abilities/supreme_overlord.test.ts @@ -7,7 +7,7 @@ import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; describe("Abilities - Supreme Overlord", () => { let phaserGame: Phaser.Game; diff --git a/test/abilities/tera_shell.test.ts b/test/abilities/tera_shell.test.ts index bd88c21f52d..a99ecfd4ce1 100644 --- a/test/abilities/tera_shell.test.ts +++ b/test/abilities/tera_shell.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/abilities/unburden.test.ts b/test/abilities/unburden.test.ts index 7012c4cf065..8f18604011c 100644 --- a/test/abilities/unburden.test.ts +++ b/test/abilities/unburden.test.ts @@ -1,7 +1,6 @@ import { BattlerIndex } from "#app/battle"; import { PostItemLostAbAttr } from "#app/data/ability"; -import { StealHeldItemChanceAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move"; import type Pokemon from "#app/field/pokemon"; import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier"; import { Abilities } from "#enums/abilities"; diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index c81fa2071c5..294025a10e7 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; import { toDmgValue } from "#app/utils"; import { Abilities } from "#enums/abilities"; @@ -534,12 +534,12 @@ describe("Abilities - Wimp Out", () => { .enemyAbility(Abilities.WIMP_OUT) .startingLevel(50) .enemyLevel(1) - .enemyMoveset([Moves.SPLASH, Moves.ENDURE]) + .enemyMoveset([ Moves.SPLASH, Moves.ENDURE ]) .battleType("double") - .moveset([Moves.DRAGON_ENERGY, Moves.SPLASH]) + .moveset([ Moves.DRAGON_ENERGY, Moves.SPLASH ]) .startingWave(wave); - await game.classicMode.startBattle([Species.REGIDRAGO, Species.MAGIKARP]); + await game.classicMode.startBattle([ Species.REGIDRAGO, Species.MAGIKARP ]); // turn 1 game.move.select(Moves.DRAGON_ENERGY, 0); @@ -549,5 +549,6 @@ describe("Abilities - Wimp Out", () => { await game.phaseInterceptor.to("SelectModifierPhase"); expect(game.scene.currentBattle.waveIndex).toBe(wave + 1); + }); }); diff --git a/test/abilities/wonder_skin.test.ts b/test/abilities/wonder_skin.test.ts index fe24cdad5ec..18d5be36aef 100644 --- a/test/abilities/wonder_skin.test.ts +++ b/test/abilities/wonder_skin.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/arena/arena_gravity.test.ts b/test/arena/arena_gravity.test.ts index 7e72d14460a..a5ce84667f0 100644 --- a/test/arena/arena_gravity.test.ts +++ b/test/arena/arena_gravity.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; diff --git a/test/arena/grassy_terrain.test.ts b/test/arena/grassy_terrain.test.ts index 9ee9d2ef434..d92fb24be5a 100644 --- a/test/arena/grassy_terrain.test.ts +++ b/test/arena/grassy_terrain.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/arena/weather_fog.test.ts b/test/arena/weather_fog.test.ts index b240bfa7386..784c4886648 100644 --- a/test/arena/weather_fog.test.ts +++ b/test/arena/weather_fog.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Moves } from "#enums/moves"; diff --git a/test/arena/weather_strong_winds.test.ts b/test/arena/weather_strong_winds.test.ts index 50d25947612..3a9235d9eb9 100644 --- a/test/arena/weather_strong_winds.test.ts +++ b/test/arena/weather_strong_winds.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { StatusEffect } from "#app/enums/status-effect"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; import { Abilities } from "#enums/abilities"; diff --git a/test/battle/damage_calculation.test.ts b/test/battle/damage_calculation.test.ts index 11bb8246ca1..dab1fc81caa 100644 --- a/test/battle/damage_calculation.test.ts +++ b/test/battle/damage_calculation.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type { EnemyPersistentModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import { Abilities } from "#enums/abilities"; diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index f2ee741bca2..fca3dc5ef7e 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -1,7 +1,5 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import type { PokemonTurnData } from "#app/field/pokemon"; -import type { PokemonMove } from "#app/data/moves/pokemon-move"; -import type { TurnMove } from "#app/interfaces/turn-move"; +import type { PokemonTurnData, TurnMove, PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import type BattleScene from "#app/battle-scene"; @@ -9,7 +7,7 @@ import { BattlerTagLapseType, BindTag, SubstituteTag } from "#app/data/battler-t import { Moves } from "#app/enums/moves"; import { PokemonAnimType } from "#app/enums/pokemon-anim-type"; import * as messages from "#app/messages"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/enemy_command.test.ts b/test/enemy_command.test.ts index cfa141cf89e..6d5cc2698a3 100644 --- a/test/enemy_command.test.ts +++ b/test/enemy_command.test.ts @@ -1,11 +1,11 @@ import type BattleScene from "#app/battle-scene"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MoveCategory } from "#enums/MoveCategory"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import type { EnemyPokemon } from "#app/field/pokemon"; -import { AiType } from "#enums/ai-type"; +import { AiType } from "#app/field/pokemon"; import { randSeedInt } from "#app/utils"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/evolution.test.ts b/test/evolution.test.ts index 62a06f868e8..dd6795bf161 100644 --- a/test/evolution.test.ts +++ b/test/evolution.test.ts @@ -1,5 +1,8 @@ -import { pokemonEvolutions, SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; -import { SpeciesWildEvolutionDelay } from "#enums/species-wild-evolution-delay"; +import { + pokemonEvolutions, + SpeciesFormEvolution, + SpeciesWildEvolutionDelay, +} from "#app/data/balance/pokemon-evolutions"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; diff --git a/test/imports.test.ts b/test/imports.test.ts index ada7eff0109..128308dbd14 100644 --- a/test/imports.test.ts +++ b/test/imports.test.ts @@ -4,7 +4,7 @@ import { describe, expect, it } from "vitest"; async function importModule() { try { initStatsKeys(); - const { PokemonMove } = await import("#app/data/moves/pokemon-move"); + const { PokemonMove } = await import("#app/field/pokemon"); const { Species } = await import("#enums/species"); return { PokemonMove, diff --git a/test/items/reviver_seed.test.ts b/test/items/reviver_seed.test.ts index e1e7e0d554e..c06f354a94a 100644 --- a/test/items/reviver_seed.test.ts +++ b/test/items/reviver_seed.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { PokemonInstantReviveModifier } from "#app/modifier/modifier"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/astonish.test.ts b/test/moves/astonish.test.ts index 69a312d4517..53922060ae6 100644 --- a/test/moves/astonish.test.ts +++ b/test/moves/astonish.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BerryPhase } from "#app/phases/berry-phase"; import { CommandPhase } from "#app/phases/command-phase"; diff --git a/test/moves/aurora_veil.test.ts b/test/moves/aurora_veil.test.ts index 06637d0764e..31f6497bae5 100644 --- a/test/moves/aurora_veil.test.ts +++ b/test/moves/aurora_veil.test.ts @@ -1,8 +1,7 @@ import type BattleScene from "#app/battle-scene"; import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; -import { CritOnlyAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/moves/burning_jealousy.test.ts b/test/moves/burning_jealousy.test.ts index c618b46e842..60387df4226 100644 --- a/test/moves/burning_jealousy.test.ts +++ b/test/moves/burning_jealousy.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { StatusEffect } from "#app/enums/status-effect"; import { Moves } from "#enums/moves"; diff --git a/test/moves/ceaseless_edge.test.ts b/test/moves/ceaseless_edge.test.ts index 227645df360..d54f1bd9f21 100644 --- a/test/moves/ceaseless_edge.test.ts +++ b/test/moves/ceaseless_edge.test.ts @@ -1,5 +1,5 @@ import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/test/moves/copycat.test.ts b/test/moves/copycat.test.ts index 615206275d4..0d9b0951f89 100644 --- a/test/moves/copycat.test.ts +++ b/test/moves/copycat.test.ts @@ -1,6 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { RandomMoveAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; import { Stat } from "#app/enums/stat"; import { MoveResult } from "#app/field/pokemon"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/destiny_bond.test.ts b/test/moves/destiny_bond.test.ts index 9873d678b8c..c39d40427ad 100644 --- a/test/moves/destiny_bond.test.ts +++ b/test/moves/destiny_bond.test.ts @@ -1,6 +1,6 @@ import type { ArenaTrapTag } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Moves } from "#enums/moves"; diff --git a/test/moves/diamond_storm.test.ts b/test/moves/diamond_storm.test.ts index 73a1aee3fd2..2363122f0d7 100644 --- a/test/moves/diamond_storm.test.ts +++ b/test/moves/diamond_storm.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/dig.test.ts b/test/moves/dig.test.ts index 14e7efee19b..81339111656 100644 --- a/test/moves/dig.test.ts +++ b/test/moves/dig.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; diff --git a/test/moves/dragon_tail.test.ts b/test/moves/dragon_tail.test.ts index a571312473d..37e8aa2fe1b 100644 --- a/test/moves/dragon_tail.test.ts +++ b/test/moves/dragon_tail.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Status } from "#app/data/status-effect"; import { Challenges } from "#enums/challenges"; import { StatusEffect } from "#enums/status-effect"; diff --git a/test/moves/dynamax_cannon.test.ts b/test/moves/dynamax_cannon.test.ts index b2590449e4e..9cf3106b9c1 100644 --- a/test/moves/dynamax_cannon.test.ts +++ b/test/moves/dynamax_cannon.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Moves } from "#enums/moves"; diff --git a/test/moves/effectiveness.test.ts b/test/moves/effectiveness.test.ts index efcbc9c3293..fb03f1c10a0 100644 --- a/test/moves/effectiveness.test.ts +++ b/test/moves/effectiveness.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { TrainerSlot } from "#enums/trainer-slot"; import { PokemonType } from "#enums/pokemon-type"; diff --git a/test/moves/fell_stinger.test.ts b/test/moves/fell_stinger.test.ts index 766fedf68dc..2ffa44c5a3a 100644 --- a/test/moves/fell_stinger.test.ts +++ b/test/moves/fell_stinger.test.ts @@ -7,7 +7,7 @@ import { Moves } from "#enums/moves"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import { WeatherType } from "#app/enums/weather-type"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; describe("Moves - Fell Stinger", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/fly.test.ts b/test/moves/fly.test.ts index 37fa42b608d..0bd7d22b2a7 100644 --- a/test/moves/fly.test.ts +++ b/test/moves/fly.test.ts @@ -8,7 +8,7 @@ import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; describe("Moves - Fly", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/freezy_frost.test.ts b/test/moves/freezy_frost.test.ts index d764600bc78..c1ac4054e70 100644 --- a/test/moves/freezy_frost.test.ts +++ b/test/moves/freezy_frost.test.ts @@ -5,7 +5,7 @@ import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { CommandPhase } from "#app/phases/command-phase"; describe("Moves - Freezy Frost", () => { diff --git a/test/moves/fusion_flare_bolt.test.ts b/test/moves/fusion_flare_bolt.test.ts index 32df10b4c7c..c340aeea63f 100644 --- a/test/moves/fusion_flare_bolt.test.ts +++ b/test/moves/fusion_flare_bolt.test.ts @@ -1,6 +1,6 @@ import { Stat } from "#enums/stat"; import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/test/moves/glaive_rush.test.ts b/test/moves/glaive_rush.test.ts index 28d6328c095..d3531b172e2 100644 --- a/test/moves/glaive_rush.test.ts +++ b/test/moves/glaive_rush.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; diff --git a/test/moves/hard_press.test.ts b/test/moves/hard_press.test.ts index 425993fb1a9..8891f0bf0e2 100644 --- a/test/moves/hard_press.test.ts +++ b/test/moves/hard_press.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/hyper_beam.test.ts b/test/moves/hyper_beam.test.ts index b1a244f2ea4..5cd54e9b46a 100644 --- a/test/moves/hyper_beam.test.ts +++ b/test/moves/hyper_beam.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Moves } from "#app/enums/moves"; diff --git a/test/moves/lash_out.test.ts b/test/moves/lash_out.test.ts index 16632ec0065..8395633f5c0 100644 --- a/test/moves/lash_out.test.ts +++ b/test/moves/lash_out.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/last_respects.test.ts b/test/moves/last_respects.test.ts index 891b287dece..ccab8a43415 100644 --- a/test/moves/last_respects.test.ts +++ b/test/moves/last_respects.test.ts @@ -3,7 +3,7 @@ import { BattlerIndex } from "#app/battle"; import { Species } from "#enums/species"; import { Abilities } from "#enums/abilities"; import GameManager from "#test/testUtils/gameManager"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import Phaser from "phaser"; diff --git a/test/moves/light_screen.test.ts b/test/moves/light_screen.test.ts index b77bb1c790b..9cc6944ed3e 100644 --- a/test/moves/light_screen.test.ts +++ b/test/moves/light_screen.test.ts @@ -1,8 +1,7 @@ import type BattleScene from "#app/battle-scene"; import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; -import { CritOnlyAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; diff --git a/test/moves/magic_coat.test.ts b/test/moves/magic_coat.test.ts index e96125a23ac..2cc8dea8938 100644 --- a/test/moves/magic_coat.test.ts +++ b/test/moves/magic_coat.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; diff --git a/test/moves/metronome.test.ts b/test/moves/metronome.test.ts index bf045f5e9f9..80f32a3a6fb 100644 --- a/test/moves/metronome.test.ts +++ b/test/moves/metronome.test.ts @@ -1,6 +1,5 @@ import { RechargingTag, SemiInvulnerableTag } from "#app/data/battler-tags"; -import { RandomMoveAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import { CommandPhase } from "#app/phases/command-phase"; diff --git a/test/moves/moongeist_beam.test.ts b/test/moves/moongeist_beam.test.ts index 94197683ea4..117fe513e17 100644 --- a/test/moves/moongeist_beam.test.ts +++ b/test/moves/moongeist_beam.test.ts @@ -1,5 +1,4 @@ -import { RandomMoveAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/pledge_moves.test.ts b/test/moves/pledge_moves.test.ts index d3b8e60ac62..c866d15357c 100644 --- a/test/moves/pledge_moves.test.ts +++ b/test/moves/pledge_moves.test.ts @@ -1,8 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/ability"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { FlinchAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, FlinchAttr } from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Stat } from "#enums/stat"; diff --git a/test/moves/powder.test.ts b/test/moves/powder.test.ts index 510564e0f53..522b0b74ca7 100644 --- a/test/moves/powder.test.ts +++ b/test/moves/powder.test.ts @@ -5,8 +5,7 @@ import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { BerryPhase } from "#app/phases/berry-phase"; -import { MoveResult } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { MoveResult, PokemonMove } from "#app/field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { StatusEffect } from "#enums/status-effect"; diff --git a/test/moves/protect.test.ts b/test/moves/protect.test.ts index 65de079982f..d50c490f7d3 100644 --- a/test/moves/protect.test.ts +++ b/test/moves/protect.test.ts @@ -5,7 +5,7 @@ import { Species } from "#enums/species"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Stat } from "#enums/stat"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; diff --git a/test/moves/rage_fist.test.ts b/test/moves/rage_fist.test.ts index 73d83f4929c..f44901c5aba 100644 --- a/test/moves/rage_fist.test.ts +++ b/test/moves/rage_fist.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/moves/reflect.test.ts b/test/moves/reflect.test.ts index 272e5c2972c..ac879a7cc2b 100644 --- a/test/moves/reflect.test.ts +++ b/test/moves/reflect.test.ts @@ -1,8 +1,7 @@ import type BattleScene from "#app/battle-scene"; import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; -import { CritOnlyAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; diff --git a/test/moves/retaliate.test.ts b/test/moves/retaliate.test.ts index 57d29b4fdfc..e916c9ffeaa 100644 --- a/test/moves/retaliate.test.ts +++ b/test/moves/retaliate.test.ts @@ -3,7 +3,7 @@ import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; import { Species } from "#enums/species"; import { Moves } from "#enums/moves"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; describe("Moves - Retaliate", () => { diff --git a/test/moves/rollout.test.ts b/test/moves/rollout.test.ts index 456f029cda1..89270c2dfc7 100644 --- a/test/moves/rollout.test.ts +++ b/test/moves/rollout.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { CommandPhase } from "#app/phases/command-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/round.test.ts b/test/moves/round.test.ts index ec9f3f69a5e..82f080a25ea 100644 --- a/test/moves/round.test.ts +++ b/test/moves/round.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import type { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/scale_shot.test.ts b/test/moves/scale_shot.test.ts index ee759b8404a..2be632adb54 100644 --- a/test/moves/scale_shot.test.ts +++ b/test/moves/scale_shot.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; diff --git a/test/moves/secret_power.test.ts b/test/moves/secret_power.test.ts index 40802dcc51f..37f1664251b 100644 --- a/test/moves/secret_power.test.ts +++ b/test/moves/secret_power.test.ts @@ -2,7 +2,7 @@ import { Abilities } from "#enums/abilities"; import { Biome } from "#enums/biome"; import { Moves } from "#enums/moves"; import { Stat } from "#enums/stat"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/moves/shell_side_arm.test.ts b/test/moves/shell_side_arm.test.ts index 232182ffef0..a5b065b76cb 100644 --- a/test/moves/shell_side_arm.test.ts +++ b/test/moves/shell_side_arm.test.ts @@ -1,6 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { ShellSideArmCategoryAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, ShellSideArmCategoryAttr } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/shell_trap.test.ts b/test/moves/shell_trap.test.ts index d3ba67843ac..2df94cdb828 100644 --- a/test/moves/shell_trap.test.ts +++ b/test/moves/shell_trap.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import { MoveResult } from "#app/field/pokemon"; diff --git a/test/moves/sketch.test.ts b/test/moves/sketch.test.ts index 94f37757a6a..dfbf2eca713 100644 --- a/test/moves/sketch.test.ts +++ b/test/moves/sketch.test.ts @@ -1,15 +1,13 @@ import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; -import { MoveResult } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { MoveResult, PokemonMove } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { StatusEffect } from "#app/enums/status-effect"; import { BattlerIndex } from "#app/battle"; -import { RandomMoveAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, RandomMoveAttr } from "#app/data/moves/move"; describe("Moves - Sketch", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/solar_beam.test.ts b/test/moves/solar_beam.test.ts index b8a28065b64..dffd4f210e5 100644 --- a/test/moves/solar_beam.test.ts +++ b/test/moves/solar_beam.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#enums/battler-tag-type"; import { WeatherType } from "#enums/weather-type"; import { MoveResult } from "#app/field/pokemon"; diff --git a/test/moves/sparkly_swirl.test.ts b/test/moves/sparkly_swirl.test.ts index 1908772598a..6cd357c7e0e 100644 --- a/test/moves/sparkly_swirl.test.ts +++ b/test/moves/sparkly_swirl.test.ts @@ -1,4 +1,4 @@ -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/spectral_thief.test.ts b/test/moves/spectral_thief.test.ts index 271cb03073a..2e52b118a74 100644 --- a/test/moves/spectral_thief.test.ts +++ b/test/moves/spectral_thief.test.ts @@ -1,7 +1,7 @@ import { Abilities } from "#enums/abilities"; import { BattlerIndex } from "#app/battle"; import { Stat } from "#enums/stat"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/moves/spit_up.test.ts b/test/moves/spit_up.test.ts index 7ef6e5e5b14..d71647bda52 100644 --- a/test/moves/spit_up.test.ts +++ b/test/moves/spit_up.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { TurnMove } from "#app/interfaces/turn-move"; +import type { TurnMove } from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/steamroller.test.ts b/test/moves/steamroller.test.ts index a0e4c29cce5..ba96928e01d 100644 --- a/test/moves/steamroller.test.ts +++ b/test/moves/steamroller.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { DamageCalculationResult } from "#app/interfaces/damage-calculation-result"; +import type { DamageCalculationResult } from "#app/field/pokemon"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/stockpile.test.ts b/test/moves/stockpile.test.ts index f6e6a0087f6..033f24d5229 100644 --- a/test/moves/stockpile.test.ts +++ b/test/moves/stockpile.test.ts @@ -1,6 +1,6 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; -import type { TurnMove } from "#app/interfaces/turn-move"; +import type { TurnMove } from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; diff --git a/test/moves/substitute.test.ts b/test/moves/substitute.test.ts index 68b90bf7cf8..23f7f4af4b9 100644 --- a/test/moves/substitute.test.ts +++ b/test/moves/substitute.test.ts @@ -1,8 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; import { SubstituteTag, TrappedTag } from "#app/data/battler-tags"; -import { StealHeldItemChanceAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move"; import { MoveResult } from "#app/field/pokemon"; import type { CommandPhase } from "#app/phases/command-phase"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/swallow.test.ts b/test/moves/swallow.test.ts index 86af584a174..baa03801079 100644 --- a/test/moves/swallow.test.ts +++ b/test/moves/swallow.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { TurnMove } from "#app/interfaces/turn-move"; +import type { TurnMove } from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { MovePhase } from "#app/phases/move-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; diff --git a/test/moves/telekinesis.test.ts b/test/moves/telekinesis.test.ts index 7537ba0168a..1355cb975f3 100644 --- a/test/moves/telekinesis.test.ts +++ b/test/moves/telekinesis.test.ts @@ -1,5 +1,5 @@ import { BattlerTagType } from "#enums/battler-tag-type"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index 9d17ea6a3cc..c1a2b999fa0 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -1,11 +1,10 @@ import { BattlerIndex } from "#app/battle"; import { Stat } from "#enums/stat"; -import { TeraMoveCategoryAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, TeraMoveCategoryAttr } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; -import { HitResult } from "#enums/hit-result"; +import { HitResult } from "#app/field/pokemon"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/toxic.test.ts b/test/moves/toxic.test.ts index ab536364f6a..f2b1f82fe02 100644 --- a/test/moves/toxic.test.ts +++ b/test/moves/toxic.test.ts @@ -5,7 +5,7 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { StatusEffect } from "#enums/status-effect"; import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves } from "#app/data/moves/move"; describe("Moves - Toxic", () => { let phaserGame: Phaser.Game; diff --git a/test/moves/triple_arrows.test.ts b/test/moves/triple_arrows.test.ts index d1d14f7d3e6..eb434b25815 100644 --- a/test/moves/triple_arrows.test.ts +++ b/test/moves/triple_arrows.test.ts @@ -1,5 +1,4 @@ -import { FlinchAttr, StatStageChangeAttr } from "#app/data/moves/move"; -import { allMoves } from "#app/data/moves/all-moves"; +import { allMoves, FlinchAttr, StatStageChangeAttr } from "#app/data/moves/move"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import type Move from "#app/data/moves/move"; diff --git a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts index 728129007e7..3c7bda8febd 100644 --- a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts +++ b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts @@ -8,8 +8,7 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vite import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { runMysteryEncounterToEnd } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { PlayerPokemon } from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import { AnOfferYouCantRefuseEncounter } from "#app/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts index c1e6a635f31..9befe77e688 100644 --- a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts +++ b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts @@ -11,7 +11,7 @@ import { } from "#test/mystery-encounter/encounter-test-utils"; import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Mode } from "#app/ui/ui"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts index 7b3d87463bf..4bbe76e5c72 100644 --- a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts +++ b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts @@ -15,7 +15,7 @@ import { import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Mode } from "#app/ui/ui"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts index 5ea836d8aa6..77cd65e51b9 100644 --- a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts +++ b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts @@ -17,7 +17,7 @@ import { Moves } from "#enums/moves"; import { DancingLessonsEncounter } from "#app/data/mystery-encounters/encounters/dancing-lessons-encounter"; import { Mode } from "#app/ui/ui"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { CommandPhase } from "#app/phases/command-phase"; import { MovePhase } from "#app/phases/move-phase"; diff --git a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts index 82d80bc3970..d233e72932a 100644 --- a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts +++ b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts @@ -11,7 +11,7 @@ import { } from "#test/mystery-encounter/encounter-test-utils"; import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Mode } from "#app/ui/ui"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; diff --git a/test/mystery-encounter/encounters/part-timer-encounter.test.ts b/test/mystery-encounter/encounters/part-timer-encounter.test.ts index 308aa9839e9..639a2e140ff 100644 --- a/test/mystery-encounter/encounters/part-timer-encounter.test.ts +++ b/test/mystery-encounter/encounters/part-timer-encounter.test.ts @@ -14,7 +14,7 @@ import { CIVILIZATION_ENCOUNTER_BIOMES } from "#app/data/mystery-encounters/myst import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { PartTimerEncounter } from "#app/data/mystery-encounters/encounters/part-timer-encounter"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Moves } from "#enums/moves"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; diff --git a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts index 0d0298901d0..a9e6a339d36 100644 --- a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts @@ -17,7 +17,7 @@ import { TheStrongStuffEncounter } from "#app/data/mystery-encounters/encounters import { Nature } from "#enums/nature"; import { BerryType } from "#enums/berry-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { Mode } from "#app/ui/ui"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { BerryModifier, PokemonBaseStatTotalModifier } from "#app/modifier/modifier"; diff --git a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts index 44c8e7a8915..df7bbb9f424 100644 --- a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts +++ b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts @@ -12,7 +12,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Biome } from "#app/enums/biome"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; import { Species } from "#app/enums/species"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { HealShopCostModifier, HitHealModifier, TurnHealModifier } from "#app/modifier/modifier"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { modifierTypes, type PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; diff --git a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts index e4928406a18..452dfcf3784 100644 --- a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts +++ b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts @@ -10,7 +10,7 @@ import { } from "#test/mystery-encounter/encounter-test-utils"; import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index 333f95f2014..543f46b2026 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -1,7 +1,7 @@ import type { BattlerIndex } from "#app/battle"; import { Button } from "#app/enums/buttons"; import type Pokemon from "#app/field/pokemon"; -import { PokemonMove } from "#app/data/moves/pokemon-move"; +import { PokemonMove } from "#app/field/pokemon"; import Overrides from "#app/overrides"; import type { CommandPhase } from "#app/phases/command-phase"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; From 8216a379bf37efaed799261ac757df485af0914f Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Mon, 14 Apr 2025 12:37:26 -0500 Subject: [PATCH 022/102] [Dev][GitHub] Update to node 22 (#5586) * Update node and workflows to use version 22.14 * Update @types/node package * Update engines field in package.json * Hardcode node version in github pages workflow * Update to checkout@v4 in github pages workflow --- .github/workflows/deploy-beta.yml | 2 +- .github/workflows/deploy.yml | 2 +- .github/workflows/github-pages.yml | 10 +++++----- .github/workflows/quality.yml | 1 + .github/workflows/test-shard-template.yml | 5 +++-- .nvmrc | 2 +- README.md | 2 +- package-lock.json | 17 +++++++++-------- package.json | 4 ++-- 9 files changed, 24 insertions(+), 21 deletions(-) diff --git a/.github/workflows/deploy-beta.yml b/.github/workflows/deploy-beta.yml index d8d8126193d..8b0e33a18c4 100644 --- a/.github/workflows/deploy-beta.yml +++ b/.github/workflows/deploy-beta.yml @@ -15,7 +15,7 @@ jobs: submodules: 'recursive' - uses: actions/setup-node@v4 with: - node-version: "20" + node-version-file: '.nvmrc' - name: Install dependencies run: npm ci - name: Build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e40b18eb69b..00190e477d5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -18,7 +18,7 @@ jobs: submodules: 'recursive' - uses: actions/setup-node@v4 with: - node-version: "20" + node-version-file: '.nvmrc' - name: Install dependencies run: npm ci - name: Build diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml index 58067ac81ac..b7d5fb95c1e 100644 --- a/.github/workflows/github-pages.yml +++ b/.github/workflows/github-pages.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout repository for Typedoc - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: 'recursive' path: pokerogue_docs @@ -34,14 +34,14 @@ jobs: sudo apt update sudo apt install -y git openssh-client - - name: Setup Node 20.13.1 - uses: actions/setup-node@v1 + - name: Setup Node 22.14.1 + uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Checkout repository for Github Pages if: github.event_name == 'push' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: pokerogue_gh ref: gh-pages diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 7e33a77a73a..d9592662998 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -29,6 +29,7 @@ jobs: uses: actions/setup-node@v4 # Use the setup-node action version 4 with: node-version-file: '.nvmrc' + cache: 'npm' - name: Install Node.js dependencies # Step to install Node.js dependencies run: npm ci # Use 'npm ci' to install dependencies diff --git a/.github/workflows/test-shard-template.yml b/.github/workflows/test-shard-template.yml index 9fc41d1b965..cee452f3a59 100644 --- a/.github/workflows/test-shard-template.yml +++ b/.github/workflows/test-shard-template.yml @@ -19,13 +19,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out Git repository - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 with: submodules: 'recursive' - name: Set up Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version-file: '.nvmrc' + cache: 'npm' - name: Install Node.js dependencies run: npm ci - name: Run tests diff --git a/.nvmrc b/.nvmrc index 9bcccb9439d..517f38666b4 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.13.1 +v22.14.0 diff --git a/README.md b/README.md index 5bb3ecfd26f..56392808b3c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ If you have the motivation and experience with Typescript/Javascript (or are wil #### Prerequisites -- node: 20.13.1 +- node: 22.14.0 - npm: [how to install](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) #### Running Locally diff --git a/package-lock.json b/package-lock.json index 6b880370f0b..622eac908de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "@hpcc-js/wasm": "^2.22.4", "@stylistic/eslint-plugin-ts": "^4.1.0", "@types/jsdom": "^21.1.7", - "@types/node": "^20.12.13", + "@types/node": "^22.13.14", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", "@vitest/coverage-istanbul": "^3.0.9", @@ -2582,12 +2582,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", + "version": "22.13.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.14.tgz", + "integrity": "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.20.0" } }, "node_modules/@types/statuses": { @@ -7312,9 +7313,9 @@ "dev": true }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index c84e926fc35..ffe4c06bea0 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@hpcc-js/wasm": "^2.22.4", "@stylistic/eslint-plugin-ts": "^4.1.0", "@types/jsdom": "^21.1.7", - "@types/node": "^20.12.13", + "@types/node": "^22.13.14", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", "@vitest/coverage-istanbul": "^3.0.9", @@ -67,6 +67,6 @@ "phaser3-rex-plugins": "^1.80.14" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" } } From 3ec8f236f92b022e370eedcc6b695c057c6d7ac2 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Mon, 14 Apr 2025 20:13:05 -0400 Subject: [PATCH 023/102] [Refactor] Change how rival event rewards are generated (#5638) * Change how rival event rewards are generated * Simplify to switch case Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/data/trainers/trainer-config.ts | 13 ------------- src/phases/trainer-victory-phase.ts | 6 ------ src/phases/victory-phase.ts | 21 +++++++++++++++------ 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index 0ab7119dab9..4efe294f7d0 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -116,7 +116,6 @@ export class TrainerConfig { public modifierRewardFuncs: ModifierTypeFunc[] = []; public partyTemplates: TrainerPartyTemplate[]; public partyTemplateFunc: PartyTemplateFunc; - public eventRewardFuncs: ModifierTypeFunc[] = []; public partyMemberFuncs: PartyMemberFuncs = {}; public speciesPools: TrainerTierPools; public speciesFilter: PokemonSpeciesFilter; @@ -517,16 +516,6 @@ export class TrainerConfig { // return ret; // } - /** - * Sets eventRewardFuncs to the active event rewards for the specified wave - * @param wave Associated with {@linkcode getFixedBattleEventRewards} - * @returns this - */ - setEventModifierRewardFuncs(wave: number): TrainerConfig { - this.eventRewardFuncs = timedEventManager.getFixedBattleEventRewards(wave).map(r => modifierTypes[r]); - return this; - } - setModifierRewardFuncs(...modifierTypeFuncs: (() => ModifierTypeFunc)[]): TrainerConfig { this.modifierRewardFuncs = modifierTypeFuncs.map(func => () => { const modifierTypeFunc = func(); @@ -3692,7 +3681,6 @@ export const trainerConfigs: TrainerConfigs = { () => modifierTypes.SUPER_EXP_CHARM, () => modifierTypes.EXP_SHARE, ) - .setEventModifierRewardFuncs(8) .setPartyMemberFunc( 0, getRandomPartyMemberFunc( @@ -3760,7 +3748,6 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_rival") .setPartyTemplates(trainerPartyTemplates.RIVAL_2) .setModifierRewardFuncs(() => modifierTypes.EXP_SHARE) - .setEventModifierRewardFuncs(25) .setPartyMemberFunc( 0, getRandomPartyMemberFunc( diff --git a/src/phases/trainer-victory-phase.ts b/src/phases/trainer-victory-phase.ts index 637ddea8b56..f17071f118e 100644 --- a/src/phases/trainer-victory-phase.ts +++ b/src/phases/trainer-victory-phase.ts @@ -26,12 +26,6 @@ export class TrainerVictoryPhase extends BattlePhase { globalScene.unshiftPhase(new ModifierRewardPhase(modifierRewardFunc)); } - if (timedEventManager.isEventActive()) { - for (const rewardFunc of globalScene.currentBattle.trainer?.config.eventRewardFuncs!) { - globalScene.unshiftPhase(new ModifierRewardPhase(rewardFunc)); - } - } - const trainerType = globalScene.currentBattle.trainer?.config.trainerType!; // TODO: is this bang correct? // Validate Voucher for boss trainers if (vouchers.hasOwnProperty(TrainerType[trainerType])) { diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index 78bf72195e8..9f4412fe270 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -13,6 +13,7 @@ import { SelectModifierPhase } from "./select-modifier-phase"; import { TrainerVictoryPhase } from "./trainer-victory-phase"; import { handleMysteryEncounterVictory } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { globalScene } from "#app/global-scene"; +import { timedEventManager } from "#app/global-event-manager"; export class VictoryPhase extends PokemonPhase { /** If true, indicates that the phase is intended for EXP purposes only, and not to continue a battle to next phase */ @@ -53,12 +54,20 @@ export class VictoryPhase extends PokemonPhase { } if (globalScene.gameMode.isEndless || !globalScene.gameMode.isWaveFinal(globalScene.currentBattle.waveIndex)) { globalScene.pushPhase(new EggLapsePhase()); - if ( - globalScene.gameMode.isClassic && - globalScene.currentBattle.waveIndex === ClassicFixedBossWaves.EVIL_BOSS_2 - ) { - // Should get Lock Capsule on 165 before shop phase so it can be used in the rewards shop - globalScene.pushPhase(new ModifierRewardPhase(modifierTypes.LOCK_CAPSULE)); + if (globalScene.gameMode.isClassic) { + switch (globalScene.currentBattle.waveIndex) { + case ClassicFixedBossWaves.RIVAL_1: + case ClassicFixedBossWaves.RIVAL_2: + // Get event modifiers for this wave + timedEventManager + .getFixedBattleEventRewards(globalScene.currentBattle.waveIndex) + .map(r => globalScene.pushPhase(new ModifierRewardPhase(modifierTypes[r]))); + break; + case ClassicFixedBossWaves.EVIL_BOSS_2: + // Should get Lock Capsule on 165 before shop phase so it can be used in the rewards shop + globalScene.pushPhase(new ModifierRewardPhase(modifierTypes.LOCK_CAPSULE)); + break; + } } if (globalScene.currentBattle.waveIndex % 10) { globalScene.pushPhase(new SelectModifierPhase(undefined, undefined, this.getFixedBattleCustomModifiers())); From 4740b593a02dfdc0b45e5515d56bf30a0d7cf4f8 Mon Sep 17 00:00:00 2001 From: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Date: Tue, 15 Apr 2025 00:27:14 -0500 Subject: [PATCH 024/102] =?UTF-8?q?[Balance]=20Fix=20Depot=20Agent=20train?= =?UTF-8?q?er=20type=20lacking=20Pok=C3=A9mon=20(#5623)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix Depot Agent trainer type lacking Pokémon Also removes a stray duplicate Barboach from the Fisherman. --- src/data/trainers/trainer-config.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index 4efe294f7d0..d9922ecc097 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -1318,7 +1318,16 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO], [TrainerPoolTier.SUPER_RARE]: [Species.QUAXLY, Species.JANGMO_O], }), - [TrainerType.DEPOT_AGENT]: new TrainerConfig(++t).setMoneyMultiplier(1.45).setEncounterBgm(TrainerType.CLERK), + [TrainerType.DEPOT_AGENT]: new TrainerConfig(++t) + .setMoneyMultiplier(1.45) + .setEncounterBgm(TrainerType.CLERK) + .setPartyTemplates( + trainerPartyTemplates.TWO_AVG, + trainerPartyTemplates.THREE_WEAK, + trainerPartyTemplates.THREE_AVG, + trainerPartyTemplates.FOUR_WEAK, + ) + .setSpeciesFilter(s => s.isOfType(PokemonType.GROUND)), [TrainerType.DOCTOR]: new TrainerConfig(++t) .setHasGenders("Nurse", "lass") .setHasDouble("Medical Team") @@ -1369,7 +1378,6 @@ export const trainerConfigs: TrainerConfigs = { Species.CHINCHOU, Species.CORSOLA, Species.WAILMER, - Species.BARBOACH, Species.CLAMPERL, Species.LUVDISC, Species.MANTYKE, From ff44cbfa97b834bfbb9172ceef5abce1d9cec13d Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Tue, 15 Apr 2025 09:08:35 -0500 Subject: [PATCH 025/102] [Refactor] Refactor ability file part 1 (#5589) * Move ability.ts to subfolder * Extract types out of ability.ts * Update imports in ability.ts and friends * Cleanup imports in ability.ts * Re-add imports lost during sort * Update imports forgotten during rebase * Re-import proper type from enums * Update biome.jsonc Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Add commit to force tests to rerun --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- biome.jsonc | 2 +- src/@types/ability-types.ts | 11 + src/battle-scene.ts | 4 +- src/data/abilities/ab-attrs/ab-attr.ts | 54 ++++ src/data/abilities/ability-class.ts | 137 +++++++++ src/data/{ => abilities}/ability.ts | 266 ++++-------------- src/data/arena-tag.ts | 2 +- src/data/battler-tags.ts | 4 +- src/data/berry.ts | 2 +- src/data/data-lists.ts | 3 + src/data/moves/move.ts | 4 +- .../encounters/clowning-around-encounter.ts | 2 +- .../encounters/fiery-fallout-encounter.ts | 2 +- .../the-winstrate-challenge-encounter.ts | 2 +- .../encounters/training-session-encounter.ts | 4 +- .../mystery-encounter-requirements.ts | 2 +- src/data/weather.ts | 2 +- src/field/arena.ts | 2 +- src/field/pokemon.ts | 7 +- src/loading-scene.ts | 2 +- src/modifier/modifier.ts | 2 +- src/phases/attempt-run-phase.ts | 7 +- src/phases/battle-end-phase.ts | 2 +- src/phases/berry-phase.ts | 2 +- src/phases/encounter-phase.ts | 2 +- src/phases/faint-phase.ts | 2 +- src/phases/move-effect-phase.ts | 2 +- src/phases/move-end-phase.ts | 2 +- src/phases/move-phase.ts | 2 +- src/phases/new-biome-encounter-phase.ts | 2 +- src/phases/obtain-status-effect-phase.ts | 2 +- src/phases/post-summon-phase.ts | 2 +- src/phases/post-turn-status-effect-phase.ts | 2 +- src/phases/quiet-form-change-phase.ts | 2 +- src/phases/stat-stage-change-phase.ts | 2 +- src/phases/summon-phase.ts | 2 +- src/phases/switch-summon-phase.ts | 2 +- src/phases/turn-end-phase.ts | 2 +- src/phases/turn-start-phase.ts | 2 +- src/phases/weather-effect-phase.ts | 2 +- src/ui/pokedex-page-ui-handler.ts | 2 +- src/ui/pokedex-scan-ui-handler.ts | 2 +- src/ui/pokedex-ui-handler.ts | 2 +- src/ui/starter-select-ui-handler.ts | 4 +- src/ui/summary-ui-handler.ts | 2 +- test/abilities/arena_trap.test.ts | 2 +- test/abilities/flower_gift.test.ts | 2 +- test/abilities/flower_veil.test.ts | 2 +- test/abilities/forecast.test.ts | 2 +- test/abilities/friend_guard.test.ts | 2 +- test/abilities/good_as_gold.test.ts | 2 +- test/abilities/magic_bounce.test.ts | 2 +- test/abilities/neutralizing_gas.test.ts | 2 +- test/abilities/quick_draw.test.ts | 3 +- test/abilities/sand_veil.test.ts | 3 +- test/abilities/shield_dust.test.ts | 2 +- test/abilities/steely_spirit.test.ts | 2 +- test/abilities/unburden.test.ts | 2 +- test/battle/ability_swap.test.ts | 2 +- test/moves/flame_burst.test.ts | 2 +- test/moves/pledge_moves.test.ts | 2 +- test/moves/safeguard.test.ts | 3 +- test/moves/secret_power.test.ts | 3 +- test/testUtils/testFileInitialization.ts | 2 +- 64 files changed, 337 insertions(+), 276 deletions(-) create mode 100644 src/@types/ability-types.ts create mode 100644 src/data/abilities/ab-attrs/ab-attr.ts create mode 100644 src/data/abilities/ability-class.ts rename src/data/{ => abilities}/ability.ts (97%) create mode 100644 src/data/data-lists.ts diff --git a/biome.jsonc b/biome.jsonc index da80d8ee127..9d0e6a9b5ff 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -31,7 +31,7 @@ "src/overrides.ts", // TODO: these files are too big and complex, ignore them until their respective refactors "src/data/moves/move.ts", - "src/data/ability.ts", + "src/data/abilities/ability.ts", "src/field/pokemon.ts", // this file is just too big: diff --git a/src/@types/ability-types.ts b/src/@types/ability-types.ts new file mode 100644 index 00000000000..5d21aaaa844 --- /dev/null +++ b/src/@types/ability-types.ts @@ -0,0 +1,11 @@ +import type { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; +import type Move from "#app/data/moves/move"; +import type Pokemon from "#app/field/pokemon"; +import type { BattleStat } from "#enums/stat"; + +export type AbAttrApplyFunc = (attr: TAttr, passive: boolean) => void; +export type AbAttrSuccessFunc = (attr: TAttr, passive: boolean) => boolean; +export type AbAttrCondition = (pokemon: Pokemon) => boolean; +export type PokemonAttackCondition = (user: Pokemon | null, target: Pokemon | null, move: Move) => boolean; +export type PokemonDefendCondition = (target: Pokemon, user: Pokemon, move: Move) => boolean; +export type PokemonStatStageChangeCondition = (target: Pokemon, statsChanged: BattleStat[], stages: number) => boolean; diff --git a/src/battle-scene.ts b/src/battle-scene.ts index dd983f2b397..90f53d6a95e 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -67,7 +67,6 @@ import { } from "#app/modifier/modifier-type"; import AbilityBar from "#app/ui/ability-bar"; import { - allAbilities, applyAbAttrs, applyPostBattleInitAbAttrs, applyPostItemLostAbAttrs, @@ -75,7 +74,8 @@ import { DoubleBattleChanceAbAttr, PostBattleInitAbAttr, PostItemLostAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; +import { allAbilities } from "./data/data-lists"; import type { FixedBattleConfig } from "#app/battle"; import Battle, { BattleType } from "#app/battle"; import type { GameMode } from "#app/game-mode"; diff --git a/src/data/abilities/ab-attrs/ab-attr.ts b/src/data/abilities/ab-attrs/ab-attr.ts new file mode 100644 index 00000000000..c8ead691b25 --- /dev/null +++ b/src/data/abilities/ab-attrs/ab-attr.ts @@ -0,0 +1,54 @@ +import type { AbAttrCondition } from "#app/@types/ability-types"; +import type Pokemon from "#app/field/pokemon"; +import type * as Utils from "#app/utils"; + +export abstract class AbAttr { + public showAbility: boolean; + private extraCondition: AbAttrCondition; + + constructor(showAbility = true) { + this.showAbility = showAbility; + } + + /** + * Applies ability effects without checking conditions + * @param _pokemon - The pokemon to apply this ability to + * @param _passive - Whether or not the ability is a passive + * @param _simulated - Whether the call is simulated + * @param _args - Extra args passed to the function. Handled by child classes. + * @see {@linkcode canApply} + */ + apply( + _pokemon: Pokemon, + _passive: boolean, + _simulated: boolean, + _cancelled: Utils.BooleanHolder | null, + _args: any[], + ): void {} + + getTriggerMessage(_pokemon: Pokemon, _abilityName: string, ..._args: any[]): string | null { + return null; + } + + getCondition(): AbAttrCondition | null { + return this.extraCondition || null; + } + + addCondition(condition: AbAttrCondition): AbAttr { + this.extraCondition = condition; + return this; + } + + /** + * Returns a boolean describing whether the ability can be applied under current conditions + * @param _pokemon - The pokemon to apply this ability to + * @param _passive - Whether or not the ability is a passive + * @param _simulated - Whether the call is simulated + * @param _args - Extra args passed to the function. Handled by child classes. + * @returns `true` if the ability can be applied, `false` otherwise + * @see {@linkcode apply} + */ + canApply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + return true; + } +} diff --git a/src/data/abilities/ability-class.ts b/src/data/abilities/ability-class.ts new file mode 100644 index 00000000000..b4cda2482d4 --- /dev/null +++ b/src/data/abilities/ability-class.ts @@ -0,0 +1,137 @@ +import { Abilities } from "#enums/abilities"; +import type { AbAttrCondition } from "#app/@types/ability-types"; +import type { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; +import i18next from "i18next"; +import type { Localizable } from "#app/interfaces/locales"; +import type { Constructor } from "#app/utils"; + +export class Ability implements Localizable { + public id: Abilities; + + private nameAppend: string; + public name: string; + public description: string; + public generation: number; + public isBypassFaint: boolean; + public isIgnorable: boolean; + public isSuppressable = true; + public isCopiable = true; + public isReplaceable = true; + public attrs: AbAttr[]; + public conditions: AbAttrCondition[]; + + constructor(id: Abilities, generation: number) { + this.id = id; + + this.nameAppend = ""; + this.generation = generation; + this.attrs = []; + this.conditions = []; + + this.isSuppressable = true; + this.isCopiable = true; + this.isReplaceable = true; + + this.localize(); + } + + public get isSwappable(): boolean { + return this.isCopiable && this.isReplaceable; + } + localize(): void { + const i18nKey = Abilities[this.id] + .split("_") + .filter(f => f) + .map((f, i) => (i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase())) + .join("") as string; + + this.name = this.id ? `${i18next.t(`ability:${i18nKey}.name`) as string}${this.nameAppend}` : ""; + this.description = this.id ? (i18next.t(`ability:${i18nKey}.description`) as string) : ""; + } + + /** + * Get all ability attributes that match `attrType` + * @param attrType any attribute that extends {@linkcode AbAttr} + * @returns Array of attributes that match `attrType`, Empty Array if none match. + */ + getAttrs(attrType: Constructor): T[] { + return this.attrs.filter((a): a is T => a instanceof attrType); + } + + /** + * Check if an ability has an attribute that matches `attrType` + * @param attrType any attribute that extends {@linkcode AbAttr} + * @returns true if the ability has attribute `attrType` + */ + hasAttr(attrType: Constructor): boolean { + return this.attrs.some(attr => attr instanceof attrType); + } + + attr>(AttrType: T, ...args: ConstructorParameters): Ability { + const attr = new AttrType(...args); + this.attrs.push(attr); + + return this; + } + + conditionalAttr>( + condition: AbAttrCondition, + AttrType: T, + ...args: ConstructorParameters + ): Ability { + const attr = new AttrType(...args); + attr.addCondition(condition); + this.attrs.push(attr); + + return this; + } + + bypassFaint(): Ability { + this.isBypassFaint = true; + return this; + } + + ignorable(): Ability { + this.isIgnorable = true; + return this; + } + + unsuppressable(): Ability { + this.isSuppressable = false; + return this; + } + + uncopiable(): Ability { + this.isCopiable = false; + return this; + } + + unreplaceable(): Ability { + this.isReplaceable = false; + return this; + } + + condition(condition: AbAttrCondition): Ability { + this.conditions.push(condition); + + return this; + } + + partial(): this { + this.nameAppend += " (P)"; + return this; + } + + unimplemented(): this { + this.nameAppend += " (N)"; + return this; + } + + /** + * Internal flag used for developers to document edge cases. When using this, please be sure to document the edge case. + * @returns the ability + */ + edgeCase(): this { + return this; + } +} diff --git a/src/data/ability.ts b/src/data/abilities/ability.ts similarity index 97% rename from src/data/ability.ts rename to src/data/abilities/ability.ts index 3e32a624f9f..17a8eddf47f 100644 --- a/src/data/ability.ts +++ b/src/data/abilities/ability.ts @@ -1,228 +1,75 @@ -import type { EnemyPokemon, PokemonMove } from "../field/pokemon"; -import type Pokemon from "../field/pokemon"; -import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon"; -import { PokemonType } from "#enums/pokemon-type"; +import { HitResult, MoveResult, PlayerPokemon } from "#app/field/pokemon"; import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; -import { getPokemonNameWithAffix } from "../messages"; -import type { Weather } from "#app/data/weather"; -import type { BattlerTag } from "./battler-tags"; -import { BattlerTagLapseType, GroundedTag } from "./battler-tags"; +import { getPokemonNameWithAffix } from "#app/messages"; +import { BattlerTagLapseType, GroundedTag } from "#app/data/battler-tags"; import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect"; -import { Gender } from "./gender"; -import type Move from "./moves/move"; -import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move"; -import { MoveFlags } from "#enums/MoveFlags"; -import { MoveTarget } from "#enums/MoveTarget"; -import { MoveCategory } from "#enums/MoveCategory"; -import type { ArenaTrapTag, SuppressAbilitiesTag } from "./arena-tag"; -import { ArenaTagSide } from "./arena-tag"; -import { BerryModifier, HitHealModifier, PokemonHeldItemModifier } from "../modifier/modifier"; -import { TerrainType } from "./terrain"; -import { SpeciesFormChangeAbilityTrigger, SpeciesFormChangeRevertWeatherFormTrigger, SpeciesFormChangeWeatherTrigger } from "./pokemon-forms"; +import { Gender } from "#app/data/gender"; +import { + AttackMove, + FlinchAttr, + OneHitKOAttr, + HitHealAttr, + allMoves, + StatusMove, + SelfStatusMove, + VariablePowerAttr, + applyMoveAttrs, + VariableMoveTypeAttr, + RandomMovesetMoveAttr, + RandomMoveAttr, + NaturePowerAttr, + CopyMoveAttr, + NeutralDamageAgainstFlyingTypeMultiplierAttr, + FixedDamageAttr, +} from "#app/data/moves/move"; +import { ArenaTagSide } from "#app/data/arena-tag"; +import { BerryModifier, HitHealModifier, PokemonHeldItemModifier } from "#app/modifier/modifier"; +import { TerrainType } from "#app/data/terrain"; +import { SpeciesFormChangeAbilityTrigger, SpeciesFormChangeRevertWeatherFormTrigger, SpeciesFormChangeWeatherTrigger } from "#app/data/pokemon-forms"; import i18next from "i18next"; -import type { Localizable } from "#app/interfaces/locales"; -import { Command } from "../ui/command-ui-handler"; +import { Command } from "#app/ui/command-ui-handler"; import { BerryModifierType } from "#app/modifier/modifier-type"; -import { getPokeballName } from "./pokeball"; -import type { BattlerIndex } from "#app/battle"; +import { getPokeballName } from "#app/data/pokeball"; import { BattleType } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { ArenaTagType } from "#enums/arena-tag-type"; -import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Stat, type BattleStat, type EffectiveStat, BATTLE_STATS, EFFECTIVE_STATS, getStatKey } from "#app/enums/stat"; import { MovePhase } from "#app/phases/move-phase"; import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { globalScene } from "#app/global-scene"; -import { SwitchType } from "#app/enums/switch-type"; import { SwitchPhase } from "#app/phases/switch-phase"; import { SwitchSummonPhase } from "#app/phases/switch-summon-phase"; import { BattleEndPhase } from "#app/phases/battle-end-phase"; import { NewBattlePhase } from "#app/phases/new-battle-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; +import { PokemonTransformPhase } from "#app/phases/pokemon-transform-phase"; +import { allAbilities } from "#app/data/data-lists"; +import { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; +import { Ability } from "#app/data/abilities/ability-class"; + +// Enum imports +import { Stat, type BattleStat , BATTLE_STATS, EFFECTIVE_STATS, getStatKey, type EffectiveStat } from "#enums/stat"; +import { PokemonType } from "#enums/pokemon-type"; import { PokemonAnimType } from "#enums/pokemon-anim-type"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; -import { PokemonTransformPhase } from "#app/phases/pokemon-transform-phase"; +import { Abilities } from "#enums/abilities"; +import { ArenaTagType } from "#enums/arena-tag-type"; +import { BattlerTagType } from "#enums/battler-tag-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { SwitchType } from "#enums/switch-type"; +import { MoveFlags } from "#enums/MoveFlags"; +import { MoveTarget } from "#enums/MoveTarget"; +import { MoveCategory } from "#enums/MoveCategory"; -export class Ability implements Localizable { - public id: Abilities; - - private nameAppend: string; - public name: string; - public description: string; - public generation: number; - public isBypassFaint: boolean; - public isIgnorable: boolean; - public isSuppressable = true; - public isCopiable = true; - public isReplaceable = true; - public attrs: AbAttr[]; - public conditions: AbAttrCondition[]; - - constructor(id: Abilities, generation: number) { - this.id = id; - - this.nameAppend = ""; - this.generation = generation; - this.attrs = []; - this.conditions = []; - - this.isSuppressable = true; - this.isCopiable = true; - this.isReplaceable = true; - - this.localize(); - } - - public get isSwappable(): boolean { - return this.isCopiable && this.isReplaceable; - } - localize(): void { - const i18nKey = Abilities[this.id].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join("") as string; - - this.name = this.id ? `${i18next.t(`ability:${i18nKey}.name`) as string}${this.nameAppend}` : ""; - this.description = this.id ? i18next.t(`ability:${i18nKey}.description`) as string : ""; - } - - /** - * Get all ability attributes that match `attrType` - * @param attrType any attribute that extends {@linkcode AbAttr} - * @returns Array of attributes that match `attrType`, Empty Array if none match. - */ - getAttrs(attrType: Constructor ): T[] { - return this.attrs.filter((a): a is T => a instanceof attrType); - } - - /** - * Check if an ability has an attribute that matches `attrType` - * @param attrType any attribute that extends {@linkcode AbAttr} - * @returns true if the ability has attribute `attrType` - */ - hasAttr(attrType: Constructor): boolean { - return this.attrs.some((attr) => attr instanceof attrType); - } - - attr>(AttrType: T, ...args: ConstructorParameters): Ability { - const attr = new AttrType(...args); - this.attrs.push(attr); - - return this; - } - - conditionalAttr>(condition: AbAttrCondition, AttrType: T, ...args: ConstructorParameters): Ability { - const attr = new AttrType(...args); - attr.addCondition(condition); - this.attrs.push(attr); - - return this; - } - - bypassFaint(): Ability { - this.isBypassFaint = true; - return this; - } - - ignorable(): Ability { - this.isIgnorable = true; - return this; - } - - unsuppressable(): Ability { - this.isSuppressable = false; - return this; - } - - uncopiable(): Ability { - this.isCopiable = false; - return this; - } - - unreplaceable(): Ability { - this.isReplaceable = false; - return this; - } - - condition(condition: AbAttrCondition): Ability { - this.conditions.push(condition); - - return this; - } - - partial(): this { - this.nameAppend += " (P)"; - return this; - } - - unimplemented(): this { - this.nameAppend += " (N)"; - return this; - } - - /** - * Internal flag used for developers to document edge cases. When using this, please be sure to document the edge case. - * @returns the ability - */ - edgeCase(): this { - return this; - } -} - -type AbAttrApplyFunc = (attr: TAttr, passive: boolean) => void; -type AbAttrSuccessFunc = (attr: TAttr, passive: boolean) => boolean; -type AbAttrCondition = (pokemon: Pokemon) => boolean; - -// TODO: Can this be improved? -type PokemonAttackCondition = (user: Pokemon | null, target: Pokemon | null, move: Move) => boolean; -type PokemonDefendCondition = (target: Pokemon, user: Pokemon, move: Move) => boolean; -type PokemonStatStageChangeCondition = (target: Pokemon, statsChanged: BattleStat[], stages: number) => boolean; - -export abstract class AbAttr { - public showAbility: boolean; - private extraCondition: AbAttrCondition; - - constructor(showAbility = true) { - this.showAbility = showAbility; - } - - /** - * Applies ability effects without checking conditions - * @param pokemon - The pokemon to apply this ability to - * @param passive - Whether or not the ability is a passive - * @param simulated - Whether the call is simulated - * @param args - Extra args passed to the function. Handled by child classes. - * @see {@linkcode canApply} - */ - apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder | null, args: any[]): void {} - - getTriggerMessage(_pokemon: Pokemon, _abilityName: string, ..._args: any[]): string | null { - return null; - } - - getCondition(): AbAttrCondition | null { - return this.extraCondition || null; - } - - addCondition(condition: AbAttrCondition): AbAttr { - this.extraCondition = condition; - return this; - } - - /** - * Returns a boolean describing whether the ability can be applied under current conditions - * @param pokemon - The pokemon to apply this ability to - * @param passive - Whether or not the ability is a passive - * @param simulated - Whether the call is simulated - * @param args - Extra args passed to the function. Handled by child classes. - * @returns `true` if the ability can be applied, `false` otherwise - * @see {@linkcode apply} - */ - canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return true; - } -} +// Type imports +import type { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; +import type Pokemon from "#app/field/pokemon"; +import type { Weather } from "#app/data/weather"; +import type { BattlerTag } from "#app/data/battler-tags"; +import type { AbAttrCondition, PokemonDefendCondition, PokemonStatStageChangeCondition, PokemonAttackCondition, AbAttrApplyFunc, AbAttrSuccessFunc } from "#app/@types/ability-types"; +import type { BattlerIndex } from "#app/battle"; +import type Move from "#app/data/moves/move"; +import type { ArenaTrapTag, SuppressAbilitiesTag } from "#app/data/arena-tag"; export class BlockRecoilDamageAttr extends AbAttr { constructor() { @@ -233,7 +80,7 @@ export class BlockRecoilDamageAttr extends AbAttr { cancelled.value = true; } - getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]) { + getTriggerMessage(pokemon: Pokemon, abilityName: string, ..._args: any[]) { return i18next.t("abilityTriggers:blockRecoilDamage", { pokemonName: getPokemonNameWithAffix(pokemon), abilityName: abilityName }); } } @@ -6453,10 +6300,9 @@ function getPokemonWithWeatherBasedForms() { ); } -export const allAbilities = [ new Ability(Abilities.NONE, 3) ]; - export function initAbilities() { allAbilities.push( + new Ability(Abilities.NONE, 3), new Ability(Abilities.STENCH, 3) .attr(PostAttackApplyBattlerTagAbAttr, false, (user, target, move) => !move.hasAttr(FlinchAttr) && !move.hitsSubstitute(user, target) ? 10 : 0, BattlerTagType.FLINCHED), new Ability(Abilities.DRIZZLE, 3) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 871f622f70a..1fe1eca4bba 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -18,7 +18,7 @@ import { applyAbAttrs, applyOnGainAbAttrs, applyOnLoseAbAttrs, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { Stat } from "#enums/stat"; import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims"; import i18next from "i18next"; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 76e91485460..401fd9903d1 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -1,13 +1,13 @@ import { globalScene } from "#app/global-scene"; import { - allAbilities, applyAbAttrs, BlockNonDirectDamageAbAttr, FlinchEffectAbAttr, ProtectStatAbAttr, ConditionalUserFieldProtectStatAbAttr, ReverseDrainAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; +import { allAbilities } from "./data-lists"; import { ChargeAnim, CommonAnim, CommonBattleAnim, MoveChargeAnim } from "#app/data/battle-anims"; import type Move from "#app/data/moves/move"; import { diff --git a/src/data/berry.ts b/src/data/berry.ts index 8a58d337aa4..e118b45711c 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -9,7 +9,7 @@ import { ReduceBerryUseThresholdAbAttr, applyAbAttrs, applyPostItemLostAbAttrs, -} from "./ability"; +} from "./abilities/ability"; import i18next from "i18next"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; diff --git a/src/data/data-lists.ts b/src/data/data-lists.ts new file mode 100644 index 00000000000..d3c31abc851 --- /dev/null +++ b/src/data/data-lists.ts @@ -0,0 +1,3 @@ +import type { Ability } from "./abilities/ability-class"; + +export const allAbilities: Ability[] = []; diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 962a13bb840..b68dd0d3e1d 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -34,7 +34,6 @@ import { WeatherType } from "#enums/weather-type"; import type { ArenaTrapTag } from "../arena-tag"; import { ArenaTagSide, WeakenMoveTypeTag } from "../arena-tag"; import { - allAbilities, AllyMoveCategoryPowerBoostAbAttr, applyAbAttrs, applyPostAttackAbAttrs, @@ -65,7 +64,8 @@ import { UserFieldMoveTypePowerBoostAbAttr, VariableMovePowerAbAttr, WonderSkinAbAttr, -} from "../ability"; +} from "../abilities/ability"; +import { allAbilities } from "../data-lists"; import { AttackTypeBoosterModifier, BerryModifier, diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index eca99fc0c13..5edc2e6bbc5 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -38,7 +38,7 @@ import i18next from "i18next"; import type { OptionSelectConfig } from "#app/ui/abstact-option-select-ui-handler"; import type { PlayerPokemon } from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; -import { Ability } from "#app/data/ability"; +import { Ability } from "#app/data/abilities/ability-class"; import { BerryModifier } from "#app/modifier/modifier"; import { BerryType } from "#enums/berry-type"; import { BattlerIndex } from "#app/battle"; diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index 6118fe3d0de..f0b7a05a21c 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -46,7 +46,7 @@ import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; -import { Ability } from "#app/data/ability"; +import { Ability } from "#app/data/abilities/ability-class"; import { FIRE_RESISTANT_ABILITIES } from "#app/data/mystery-encounters/requirements/requirement-groups"; /** the i18n namespace for the encounter */ diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index aca04ad50ed..41bf87351f4 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -24,7 +24,7 @@ import { PokemonType } from "#enums/pokemon-type"; import { BerryType } from "#enums/berry-type"; import { Stat } from "#enums/stat"; import { SpeciesFormChangeAbilityTrigger } from "#app/data/pokemon-forms"; -import { applyPostBattleInitAbAttrs, PostBattleInitAbAttr } from "#app/data/ability"; +import { applyPostBattleInitAbAttrs, PostBattleInitAbAttr } from "#app/data/abilities/ability"; import { showEncounterDialogue, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import { PartyHealPhase } from "#app/phases/party-heal-phase"; diff --git a/src/data/mystery-encounters/encounters/training-session-encounter.ts b/src/data/mystery-encounters/encounters/training-session-encounter.ts index cc56f3efa42..e8711be172d 100644 --- a/src/data/mystery-encounters/encounters/training-session-encounter.ts +++ b/src/data/mystery-encounters/encounters/training-session-encounter.ts @@ -1,5 +1,5 @@ -import type { Ability } from "#app/data/ability"; -import { allAbilities } from "#app/data/ability"; +import type { Ability } from "#app/data/abilities/ability-class"; +import { allAbilities } from "#app/data/data-lists"; import type { EnemyPartyConfig } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { initBattleWithEnemyConfig, diff --git a/src/data/mystery-encounters/mystery-encounter-requirements.ts b/src/data/mystery-encounters/mystery-encounter-requirements.ts index f9aedf2c1a7..948e3e96ef0 100644 --- a/src/data/mystery-encounters/mystery-encounter-requirements.ts +++ b/src/data/mystery-encounters/mystery-encounter-requirements.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "../data-lists"; import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { Nature } from "#enums/nature"; import { FormChangeItem, pokemonFormChanges, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; diff --git a/src/data/weather.ts b/src/data/weather.ts index a8dd0a66492..31b460bbddb 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -6,7 +6,7 @@ import { PokemonType } from "#enums/pokemon-type"; import type Move from "./moves/move"; import { AttackMove } from "./moves/move"; import { randSeedInt } from "#app/utils"; -import { SuppressWeatherEffectAbAttr } from "./ability"; +import { SuppressWeatherEffectAbAttr } from "./abilities/ability"; import { TerrainType, getTerrainName } from "./terrain"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; diff --git a/src/field/arena.ts b/src/field/arena.ts index adc3123ce81..1bc465c7dbb 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -26,7 +26,7 @@ import { PostTerrainChangeAbAttr, PostWeatherChangeAbAttr, TerrainEventTypeChangeAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import type Pokemon from "#app/field/pokemon"; import Overrides from "#app/overrides"; import { TagAddedEvent, TagRemovedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena"; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index b59b7ba01fe..22ede4260c3 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -136,7 +136,8 @@ import { WeakenMoveScreenTag, } from "#app/data/arena-tag"; import type { SuppressAbilitiesTag } from "#app/data/arena-tag"; -import type { Ability, AbAttr } from "#app/data/ability"; +import type { Ability } from "#app/data/abilities/ability-class"; +import type { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; import { StatMultiplierAbAttr, BlockCritAbAttr, @@ -151,7 +152,6 @@ import { StatusEffectImmunityAbAttr, TypeImmunityAbAttr, WeightMultiplierAbAttr, - allAbilities, applyAbAttrs, applyStatMultiplierAbAttrs, applyPreApplyBattlerTagAbAttrs, @@ -188,7 +188,8 @@ import { applyAllyStatMultiplierAbAttrs, AllyStatMultiplierAbAttr, MoveAbilityBypassAbAttr -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; +import { allAbilities } from "#app/data/data-lists"; import type PokemonData from "#app/system/pokemon-data"; import { BattlerIndex } from "#app/battle"; import { Mode } from "#app/ui/ui"; diff --git a/src/loading-scene.ts b/src/loading-scene.ts index b45cf64ff56..4ec2fdf1bb2 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -11,7 +11,7 @@ import { initEggMoves } from "#app/data/balance/egg-moves"; import { initPokemonForms } from "#app/data/pokemon-forms"; import { initSpecies } from "#app/data/pokemon-species"; import { initMoves } from "#app/data/moves/move"; -import { initAbilities } from "#app/data/ability"; +import { initAbilities } from "#app/data/abilities/ability"; import { initAchievements } from "#app/system/achv"; import { initTrainerTypeDialogue } from "#app/data/dialogue"; import { initChallenges } from "#app/data/challenge"; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 80f14ba22ce..851fa33cedc 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -47,7 +47,7 @@ import { } from "./modifier-type"; import { Color, ShadowColor } from "#enums/color"; import { FRIENDSHIP_GAIN_FROM_RARE_CANDY } from "#app/data/balance/starters"; -import { applyAbAttrs, CommanderAbAttr } from "#app/data/ability"; +import { applyAbAttrs, CommanderAbAttr } from "#app/data/abilities/ability"; import { globalScene } from "#app/global-scene"; export type ModifierPredicate = (modifier: Modifier) => boolean; diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index e5691f5fb8e..5c51e5c589d 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -1,4 +1,9 @@ -import { applyAbAttrs, applyPreLeaveFieldAbAttrs, PreLeaveFieldAbAttr, RunSuccessAbAttr } from "#app/data/ability"; +import { + applyAbAttrs, + applyPreLeaveFieldAbAttrs, + PreLeaveFieldAbAttr, + RunSuccessAbAttr, +} from "#app/data/abilities/ability"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import type { PlayerPokemon, EnemyPokemon } from "#app/field/pokemon"; diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index 0d831c65b52..275a9017dfa 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { applyPostBattleAbAttrs, PostBattleAbAttr } from "#app/data/ability"; +import { applyPostBattleAbAttrs, PostBattleAbAttr } from "#app/data/abilities/ability"; import { LapsingPersistentModifier, LapsingPokemonHeldItemModifier } from "#app/modifier/modifier"; import { BattlePhase } from "./battle-phase"; import { GameOverPhase } from "./game-over-phase"; diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index e5614739903..ae593f66f34 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -1,4 +1,4 @@ -import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/ability"; +import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/abilities/ability"; import { CommonAnim } from "#app/data/battle-anims"; import { BerryUsedEvent } from "#app/events/battle-scene"; import { getPokemonNameWithAffix } from "#app/messages"; diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 15f3d102e41..67236c1c041 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -1,7 +1,7 @@ import { BattlerIndex, BattleType } from "#app/battle"; import { globalScene } from "#app/global-scene"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; -import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/ability"; +import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/abilities/ability"; import { initEncounterAnims, loadEncounterAnimAssets } from "#app/data/battle-anims"; import { getCharVariantFromDialogue } from "#app/data/dialogue"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 7e1ae4ec07b..01a556115a6 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -8,7 +8,7 @@ import { PostFaintAbAttr, PostKnockOutAbAttr, PostVictoryAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import type { DestinyBondTag, GrudgeTag } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { battleSpecDialogue } from "#app/data/dialogue"; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index acc7ac0f63a..af9f685eebe 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -14,7 +14,7 @@ import { PostDefendAbAttr, ReflectStatusMoveAbAttr, TypeImmunityAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { ArenaTagSide, ConditionalProtectTag } from "#app/data/arena-tag"; import { MoveAnim } from "#app/data/battle-anims"; import { diff --git a/src/phases/move-end-phase.ts b/src/phases/move-end-phase.ts index 176abee5e98..037596dca59 100644 --- a/src/phases/move-end-phase.ts +++ b/src/phases/move-end-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { PokemonPhase } from "./pokemon-phase"; import type { BattlerIndex } from "#app/battle"; -import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/ability"; +import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/abilities/ability"; import type Pokemon from "#app/field/pokemon"; export class MoveEndPhase extends PokemonPhase { diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 478229dcae8..dc394b8a134 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -10,7 +10,7 @@ import { PostMoveUsedAbAttr, RedirectMoveAbAttr, ReduceStatusEffectDurationAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import type { DelayedAttackTag } from "#app/data/arena-tag"; import { CommonAnim } from "#app/data/battle-anims"; import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags"; diff --git a/src/phases/new-biome-encounter-phase.ts b/src/phases/new-biome-encounter-phase.ts index 3449a562c4a..6a7afcb8da8 100644 --- a/src/phases/new-biome-encounter-phase.ts +++ b/src/phases/new-biome-encounter-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { applyAbAttrs, PostBiomeChangeAbAttr } from "#app/data/ability"; +import { applyAbAttrs, PostBiomeChangeAbAttr } from "#app/data/abilities/ability"; import { getRandomWeatherType } from "#app/data/weather"; import { NextEncounterPhase } from "./next-encounter-phase"; diff --git a/src/phases/obtain-status-effect-phase.ts b/src/phases/obtain-status-effect-phase.ts index cba9399b996..10ae195b02f 100644 --- a/src/phases/obtain-status-effect-phase.ts +++ b/src/phases/obtain-status-effect-phase.ts @@ -7,7 +7,7 @@ import type Pokemon from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonPhase } from "./pokemon-phase"; import { SpeciesFormChangeStatusEffectTrigger } from "#app/data/pokemon-forms"; -import { applyPostSetStatusAbAttrs, PostSetStatusAbAttr } from "#app/data/ability"; +import { applyPostSetStatusAbAttrs, PostSetStatusAbAttr } from "#app/data/abilities/ability"; import { isNullOrUndefined } from "#app/utils"; export class ObtainStatusEffectPhase extends PokemonPhase { diff --git a/src/phases/post-summon-phase.ts b/src/phases/post-summon-phase.ts index 45b0a0f65ce..446d45bb2fa 100644 --- a/src/phases/post-summon-phase.ts +++ b/src/phases/post-summon-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { applyAbAttrs, applyPostSummonAbAttrs, CommanderAbAttr, PostSummonAbAttr } from "#app/data/ability"; +import { applyAbAttrs, applyPostSummonAbAttrs, CommanderAbAttr, PostSummonAbAttr } from "#app/data/abilities/ability"; import { ArenaTrapTag } from "#app/data/arena-tag"; import { StatusEffect } from "#app/enums/status-effect"; import { PokemonPhase } from "./pokemon-phase"; diff --git a/src/phases/post-turn-status-effect-phase.ts b/src/phases/post-turn-status-effect-phase.ts index 619ef22d01e..af9a9ac1c29 100644 --- a/src/phases/post-turn-status-effect-phase.ts +++ b/src/phases/post-turn-status-effect-phase.ts @@ -7,7 +7,7 @@ import { BlockStatusDamageAbAttr, PostDamageAbAttr, ReduceBurnDamageAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { CommonBattleAnim, CommonAnim } from "#app/data/battle-anims"; import { getStatusEffectActivationText } from "#app/data/status-effect"; import { BattleSpec } from "#app/enums/battle-spec"; diff --git a/src/phases/quiet-form-change-phase.ts b/src/phases/quiet-form-change-phase.ts index 1512609abf9..f476919a628 100644 --- a/src/phases/quiet-form-change-phase.ts +++ b/src/phases/quiet-form-change-phase.ts @@ -16,7 +16,7 @@ import { ClearTerrainAbAttr, ClearWeatherAbAttr, PostTeraFormChangeStatChangeAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; export class QuietFormChangePhase extends BattlePhase { protected pokemon: Pokemon; diff --git a/src/phases/stat-stage-change-phase.ts b/src/phases/stat-stage-change-phase.ts index 4c82661a3bb..f52e4fb06a0 100644 --- a/src/phases/stat-stage-change-phase.ts +++ b/src/phases/stat-stage-change-phase.ts @@ -10,7 +10,7 @@ import { ReflectStatStageChangeAbAttr, StatStageChangeCopyAbAttr, StatStageChangeMultiplierAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { ArenaTagSide, MistTag } from "#app/data/arena-tag"; import type { ArenaTag } from "#app/data/arena-tag"; import type Pokemon from "#app/field/pokemon"; diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index 7379d509e55..60d45f19c0c 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -13,7 +13,7 @@ import { PostSummonPhase } from "./post-summon-phase"; import { GameOverPhase } from "./game-over-phase"; import { ShinySparklePhase } from "./shiny-sparkle-phase"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; -import { applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/ability"; +import { applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/abilities/ability"; import { globalScene } from "#app/global-scene"; export class SummonPhase extends PartyMemberPokemonPhase { diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index d63cdb90f25..f8728f3f9b9 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -5,7 +5,7 @@ import { PostDamageForceSwitchAbAttr, PreSummonAbAttr, PreSwitchOutAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; import { getPokeballTintColor } from "#app/data/pokeball"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; diff --git a/src/phases/turn-end-phase.ts b/src/phases/turn-end-phase.ts index 9b84ea05e58..fe16a4a864e 100644 --- a/src/phases/turn-end-phase.ts +++ b/src/phases/turn-end-phase.ts @@ -1,4 +1,4 @@ -import { applyPostTurnAbAttrs, PostTurnAbAttr } from "#app/data/ability"; +import { applyPostTurnAbAttrs, PostTurnAbAttr } from "#app/data/abilities/ability"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { TerrainType } from "#app/data/terrain"; import { WeatherType } from "#app/enums/weather-type"; diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index d5b4160fe1b..ba6ace2d188 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -1,4 +1,4 @@ -import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/ability"; +import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/abilities/ability"; import { allMoves, MoveHeaderAttr } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index 5284c9fba85..b83eab43b65 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -7,7 +7,7 @@ import { BlockNonDirectDamageAbAttr, applyPostWeatherLapseAbAttrs, PostWeatherLapseAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { CommonAnim } from "#app/data/battle-anims"; import type { Weather } from "#app/data/weather"; import { getWeatherDamageMessage, getWeatherLapseMessage } from "#app/data/weather"; diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 407ebfcd843..3f8959c6219 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -5,7 +5,7 @@ import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import { starterColors } from "#app/battle-scene"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; diff --git a/src/ui/pokedex-scan-ui-handler.ts b/src/ui/pokedex-scan-ui-handler.ts index b34246b97d1..171040f6f12 100644 --- a/src/ui/pokedex-scan-ui-handler.ts +++ b/src/ui/pokedex-scan-ui-handler.ts @@ -6,7 +6,7 @@ import type { OptionSelectItem } from "./abstact-option-select-ui-handler"; import { isNullOrUndefined } from "#app/utils"; import { Mode } from "./ui"; import { FilterTextRow } from "./filter-text"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { allMoves } from "#app/data/moves/move"; import { allSpecies } from "#app/data/pokemon-species"; import i18next from "i18next"; diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index 59b06d476a2..5fd3ca3e379 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -36,7 +36,7 @@ import type { Nature } from "#enums/nature"; import { addWindow } from "./ui-theme"; import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import { FilterText, FilterTextRow } from "./filter-text"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { starterPassiveAbilities } from "#app/data/balance/passives"; import { allMoves } from "#app/data/moves/move"; import { speciesTmMoves } from "#app/data/balance/tms"; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 3e2940f45b9..9b0009d666e 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -8,8 +8,8 @@ import i18next from "i18next"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { starterColors } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; -import type { Ability } from "#app/data/ability"; -import { allAbilities } from "#app/data/ability"; +import type { Ability } from "#app/data/abilities/ability-class"; +import { allAbilities } from "#app/data/data-lists"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 04bcf71d7ae..5ff4a02793d 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -31,7 +31,7 @@ import { loggedInUser } from "#app/account"; import type { Variant } from "#app/sprites/variant"; import { getVariantTint } from "#app/sprites/variant"; import { Button } from "#enums/buttons"; -import type { Ability } from "#app/data/ability"; +import type { Ability } from "#app/data/abilities/ability-class"; import i18next from "i18next"; import { modifierSortFunc } from "#app/modifier/modifier"; import { PlayerGender } from "#enums/player-gender"; diff --git a/test/abilities/arena_trap.test.ts b/test/abilities/arena_trap.test.ts index e0d093a91aa..3a5bad9c34b 100644 --- a/test/abilities/arena_trap.test.ts +++ b/test/abilities/arena_trap.test.ts @@ -1,4 +1,4 @@ -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/flower_gift.test.ts b/test/abilities/flower_gift.test.ts index 5da796539e5..8c7b32e7e33 100644 --- a/test/abilities/flower_gift.test.ts +++ b/test/abilities/flower_gift.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { Abilities } from "#app/enums/abilities"; import { Stat } from "#app/enums/stat"; import { WeatherType } from "#app/enums/weather-type"; diff --git a/test/abilities/flower_veil.test.ts b/test/abilities/flower_veil.test.ts index c26a952acff..68242be3886 100644 --- a/test/abilities/flower_veil.test.ts +++ b/test/abilities/flower_veil.test.ts @@ -9,7 +9,7 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { allMoves } from "#app/data/moves/move"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; describe("Abilities - Flower Veil", () => { let phaserGame: Phaser.Game; diff --git a/test/abilities/forecast.test.ts b/test/abilities/forecast.test.ts index a25af32537d..675b9a8b59c 100644 --- a/test/abilities/forecast.test.ts +++ b/test/abilities/forecast.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { Abilities } from "#app/enums/abilities"; import { WeatherType } from "#app/enums/weather-type"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; diff --git a/test/abilities/friend_guard.test.ts b/test/abilities/friend_guard.test.ts index 30175fe37e0..474c89adaf1 100644 --- a/test/abilities/friend_guard.test.ts +++ b/test/abilities/friend_guard.test.ts @@ -5,7 +5,7 @@ import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { BattlerIndex } from "#app/battle"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { allMoves } from "#app/data/moves/move"; import { MoveCategory } from "#enums/MoveCategory"; diff --git a/test/abilities/good_as_gold.test.ts b/test/abilities/good_as_gold.test.ts index 7cc543c4a0d..4c4741a331f 100644 --- a/test/abilities/good_as_gold.test.ts +++ b/test/abilities/good_as_gold.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; diff --git a/test/abilities/magic_bounce.test.ts b/test/abilities/magic_bounce.test.ts index f9a076776aa..7886ac5fd5c 100644 --- a/test/abilities/magic_bounce.test.ts +++ b/test/abilities/magic_bounce.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { ArenaTagSide } from "#app/data/arena-tag"; import { allMoves } from "#app/data/moves/move"; import { ArenaTagType } from "#app/enums/arena-tag-type"; diff --git a/test/abilities/neutralizing_gas.test.ts b/test/abilities/neutralizing_gas.test.ts index a10a246d855..56a663db403 100644 --- a/test/abilities/neutralizing_gas.test.ts +++ b/test/abilities/neutralizing_gas.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; -import { PostSummonWeatherChangeAbAttr } from "#app/data/ability"; +import { PostSummonWeatherChangeAbAttr } from "#app/data/abilities/ability"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Moves } from "#enums/moves"; diff --git a/test/abilities/quick_draw.test.ts b/test/abilities/quick_draw.test.ts index 9969dc2aa75..1277fd5d3cb 100644 --- a/test/abilities/quick_draw.test.ts +++ b/test/abilities/quick_draw.test.ts @@ -1,4 +1,5 @@ -import { allAbilities, BypassSpeedChanceAbAttr } from "#app/data/ability"; +import { BypassSpeedChanceAbAttr } from "#app/data/abilities/ability"; +import { allAbilities } from "#app/data/data-lists"; import { FaintPhase } from "#app/phases/faint-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/abilities/sand_veil.test.ts b/test/abilities/sand_veil.test.ts index 5e0a3f567dd..c7b12a11c0e 100644 --- a/test/abilities/sand_veil.test.ts +++ b/test/abilities/sand_veil.test.ts @@ -1,4 +1,5 @@ -import { StatMultiplierAbAttr, allAbilities } from "#app/data/ability"; +import { StatMultiplierAbAttr } from "#app/data/abilities/ability"; +import { allAbilities } from "#app/data/data-lists"; import { CommandPhase } from "#app/phases/command-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; diff --git a/test/abilities/shield_dust.test.ts b/test/abilities/shield_dust.test.ts index 8e02b5a7713..257ebe885df 100644 --- a/test/abilities/shield_dust.test.ts +++ b/test/abilities/shield_dust.test.ts @@ -4,7 +4,7 @@ import { applyPreDefendAbAttrs, IgnoreMoveEffectsAbAttr, MoveEffectChanceMultiplierAbAttr, -} from "#app/data/ability"; +} from "#app/data/abilities/ability"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { NumberHolder } from "#app/utils"; import { Abilities } from "#enums/abilities"; diff --git a/test/abilities/steely_spirit.test.ts b/test/abilities/steely_spirit.test.ts index b180ff8919e..eb5e7aac601 100644 --- a/test/abilities/steely_spirit.test.ts +++ b/test/abilities/steely_spirit.test.ts @@ -1,4 +1,4 @@ -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { allMoves } from "#app/data/moves/move"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/abilities/unburden.test.ts b/test/abilities/unburden.test.ts index 8f18604011c..769e078faf8 100644 --- a/test/abilities/unburden.test.ts +++ b/test/abilities/unburden.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { PostItemLostAbAttr } from "#app/data/ability"; +import { PostItemLostAbAttr } from "#app/data/abilities/ability"; import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move"; import type Pokemon from "#app/field/pokemon"; import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier"; diff --git a/test/battle/ability_swap.test.ts b/test/battle/ability_swap.test.ts index 72991dba6b0..215321f26c2 100644 --- a/test/battle/ability_swap.test.ts +++ b/test/battle/ability_swap.test.ts @@ -1,4 +1,4 @@ -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { Stat } from "#app/enums/stat"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/test/moves/flame_burst.test.ts b/test/moves/flame_burst.test.ts index b6a425e7bb5..a39c27d37b3 100644 --- a/test/moves/flame_burst.test.ts +++ b/test/moves/flame_burst.test.ts @@ -1,4 +1,4 @@ -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { Abilities } from "#app/enums/abilities"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; diff --git a/test/moves/pledge_moves.test.ts b/test/moves/pledge_moves.test.ts index c866d15357c..ee9e0b8b154 100644 --- a/test/moves/pledge_moves.test.ts +++ b/test/moves/pledge_moves.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { allAbilities } from "#app/data/ability"; +import { allAbilities } from "#app/data/data-lists"; import { ArenaTagSide } from "#app/data/arena-tag"; import { allMoves, FlinchAttr } from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; diff --git a/test/moves/safeguard.test.ts b/test/moves/safeguard.test.ts index 2235b59e1af..675c74f28d0 100644 --- a/test/moves/safeguard.test.ts +++ b/test/moves/safeguard.test.ts @@ -1,5 +1,6 @@ import { BattlerIndex } from "#app/battle"; -import { allAbilities, PostDefendContactApplyStatusEffectAbAttr } from "#app/data/ability"; +import { PostDefendContactApplyStatusEffectAbAttr } from "#app/data/abilities/ability"; +import { allAbilities } from "#app/data/data-lists"; import { Abilities } from "#app/enums/abilities"; import { StatusEffect } from "#app/enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/secret_power.test.ts b/test/moves/secret_power.test.ts index 37f1664251b..d769b112b70 100644 --- a/test/moves/secret_power.test.ts +++ b/test/moves/secret_power.test.ts @@ -11,7 +11,8 @@ import { StatusEffect } from "#enums/status-effect"; import { BattlerIndex } from "#app/battle"; import { ArenaTagType } from "#enums/arena-tag-type"; import { ArenaTagSide } from "#app/data/arena-tag"; -import { allAbilities, MoveEffectChanceMultiplierAbAttr } from "#app/data/ability"; +import { MoveEffectChanceMultiplierAbAttr } from "#app/data/abilities/ability"; +import { allAbilities } from "#app/data/data-lists"; describe("Moves - Secret Power", () => { let phaserGame: Phaser.Game; diff --git a/test/testUtils/testFileInitialization.ts b/test/testUtils/testFileInitialization.ts index 2b41f3aa29a..cb2cd57044d 100644 --- a/test/testUtils/testFileInitialization.ts +++ b/test/testUtils/testFileInitialization.ts @@ -1,6 +1,6 @@ import { SESSION_ID_COOKIE_NAME } from "#app/constants"; import { initLoggedInUser } from "#app/account"; -import { initAbilities } from "#app/data/ability"; +import { initAbilities } from "#app/data/abilities/ability"; import { initBiomes } from "#app/data/balance/biomes"; import { initEggMoves } from "#app/data/balance/egg-moves"; import { initPokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; From 18c4dddcf06d51ce9119c1189aef1846ce6c06ee Mon Sep 17 00:00:00 2001 From: Stephen Kelman <64545785+stephenrzkelman@users.noreply.github.com> Date: Tue, 15 Apr 2025 07:19:19 -0700 Subject: [PATCH 026/102] [Bug] Fixing Tera Starstorm for first turn of terastallization (#5658) * Updating tera starstorm targeting condition so that it is a spread move on the turn that terastallization happens * added new unit tests to verify behavior of tera starstorm under non-tera conditions as well as on terastallization turns --- src/data/moves/move.ts | 2 +- test/moves/tera_starstorm.test.ts | 34 ++++++++++++++++++++++++++++ test/testUtils/helpers/moveHelper.ts | 27 ++++++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index b68dd0d3e1d..9546a6a40e5 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -11205,7 +11205,7 @@ export function initMoves() { new AttackMove(Moves.TERA_STARSTORM, PokemonType.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) .attr(TeraMoveCategoryAttr) .attr(TeraStarstormTypeAttr) - .attr(VariableTargetAttr, (user, target, move) => user.hasSpecies(Species.TERAPAGOS) && user.isTerastallized ? MoveTarget.ALL_NEAR_ENEMIES : MoveTarget.NEAR_OTHER) + .attr(VariableTargetAttr, (user, target, move) => user.hasSpecies(Species.TERAPAGOS) && (user.isTerastallized || globalScene.currentBattle.preTurnCommands[user.getFieldIndex()]?.command === Command.TERA) ? MoveTarget.ALL_NEAR_ENEMIES : MoveTarget.NEAR_OTHER) .partial(), /** Does not ignore abilities that affect stats, relevant in determining the move's category {@see TeraMoveCategoryAttr} */ new AttackMove(Moves.FICKLE_BEAM, PokemonType.DRAGON, MoveCategory.SPECIAL, 80, 100, 5, 30, 0, 9) .attr(PreMoveMessageAttr, doublePowerChanceMessageFunc) diff --git a/test/moves/tera_starstorm.test.ts b/test/moves/tera_starstorm.test.ts index 19fe58f4057..9f97b2a51aa 100644 --- a/test/moves/tera_starstorm.test.ts +++ b/test/moves/tera_starstorm.test.ts @@ -69,6 +69,40 @@ describe("Moves - Tera Starstorm", () => { expect(enemyField.every(pokemon => pokemon.isFullHp())).toBe(false); }); + it("targets both opponents in a double battle when used by Terapagos immediately after terastallizing", async () => { + await game.classicMode.startBattle([Species.TERAPAGOS]); + + const terapagos = game.scene.getPlayerParty()[0]; + terapagos.isTerastallized = false; + + game.move.selectWithTera(Moves.TERA_STARSTORM, 0); + + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); + + const enemyField = game.scene.getEnemyField(); + + // Terapagos in Stellar Form should hit both targets + await game.phaseInterceptor.to("MoveEndPhase"); + expect(enemyField.some(pokemon => pokemon.isFullHp())).toBe(false); + }); + + it("targets only one opponent in a double battle when used by Terapagos without terastallizing", async () => { + await game.classicMode.startBattle([Species.TERAPAGOS]); + + const terapagos = game.scene.getPlayerParty()[0]; + terapagos.isTerastallized = false; + + game.move.select(Moves.TERA_STARSTORM, 0, BattlerIndex.ENEMY); + + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); + + const enemyField = game.scene.getEnemyField(); + + // Terapagos in Stellar Form should hit both targets + await game.phaseInterceptor.to("MoveEndPhase"); + expect(enemyField.some(pokemon => pokemon.isFullHp())).toBe(true); + }); + it("applies the effects when Terapagos in Stellar Form is fused with another Pokemon", async () => { await game.classicMode.startBattle([Species.TERAPAGOS, Species.CHARMANDER, Species.MAGIKARP]); diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index 543f46b2026..a54028ebca0 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -65,6 +65,33 @@ export class MoveHelper extends GameManagerHelper { } } + /** + * Select the move to be used by the given Pokemon(-index), **which will also terastallize on this turn**. + * Triggers during the next {@linkcode CommandPhase} + * @param move - the move to use + * @param pkmIndex - the pokemon index. Relevant for double-battles only (defaults to 0) + * @param targetIndex - The {@linkcode BattlerIndex} of the Pokemon to target for single-target moves, or `null` if a manual call to `selectTarget()` is required + */ + public selectWithTera(move: Moves, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null) { + const movePosition = getMovePosition(this.game.scene, pkmIndex, move); + this.game.scene.getPlayerParty()[pkmIndex].isTerastallized = false; + + this.game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + this.game.scene.ui.setMode( + Mode.FIGHT, + (this.game.scene.getCurrentPhase() as CommandPhase).getFieldIndex(), + Command.TERA, + ); + }); + this.game.onNextPrompt("CommandPhase", Mode.FIGHT, () => { + (this.game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.TERA, movePosition, false); + }); + + if (targetIndex !== null) { + this.game.selectTarget(movePosition, targetIndex); + } + } + /** * Forces the Paralysis or Freeze status to activate on the next move by temporarily mocking {@linkcode Overrides.STATUS_ACTIVATION_OVERRIDE}, * advancing to the next `MovePhase`, and then resetting the override to `null` From efad0d1324368ca31cb0c799f97dc475bf375330 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Tue, 15 Apr 2025 20:55:29 -0700 Subject: [PATCH 027/102] [GitHub] Use `.nvmrc` for pages workflow (#5666) --- .github/workflows/github-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml index b7d5fb95c1e..ce7c17e2db9 100644 --- a/.github/workflows/github-pages.yml +++ b/.github/workflows/github-pages.yml @@ -37,7 +37,7 @@ jobs: - name: Setup Node 22.14.1 uses: actions/setup-node@v4 with: - node-version: 22 + node-version-file: "pokerogue_docs/.nvmrc" - name: Checkout repository for Github Pages if: github.event_name == 'push' From ae588ebff907f17e38d2850ddc5bd07d8bce656a Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Wed, 16 Apr 2025 16:05:40 -0500 Subject: [PATCH 028/102] [Bug][Move] Struggle no longer gets STAB (#5643) * Struggle no longer gets STAB * Apply kev's suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/field/pokemon.ts | 133 ++++++++++++++++++++---------------- test/moves/struggle.test.ts | 65 ++++++++++++++++++ 2 files changed, 139 insertions(+), 59 deletions(-) create mode 100644 test/moves/struggle.test.ts diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 22ede4260c3..cdd48f7d940 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -4151,6 +4151,62 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return baseDamage; } + + /** Determine the STAB multiplier for a move used against this pokemon. + * + * @param source - The attacking {@linkcode Pokemon} + * @param move - The {@linkcode Move} used in the attack + * @param ignoreSourceAbility - If `true`, ignores the attacking Pokemon's ability effects + * @param simulated - If `true`, suppresses changes to game state during the calculation + * + * @returns The STAB multiplier for the move used against this Pokemon + */ + calculateStabMultiplier(source: Pokemon, move: Move, ignoreSourceAbility: boolean, simulated: boolean): number { + // If the move has the Typeless attribute, it doesn't get STAB (e.g. struggle) + if (move.hasAttr(TypelessAttr)) { + return 1; + } + const sourceTypes = source.getTypes(); + const sourceTeraType = source.getTeraType(); + const moveType = source.getMoveType(move); + const matchesSourceType = sourceTypes.includes(source.getMoveType(move)); + const stabMultiplier = new NumberHolder(1); + if (matchesSourceType && moveType !== PokemonType.STELLAR) { + stabMultiplier.value += 0.5; + } + + applyMoveAttrs( + CombinedPledgeStabBoostAttr, + source, + this, + move, + stabMultiplier, + ); + + if (!ignoreSourceAbility) { + applyAbAttrs(StabBoostAbAttr, source, null, simulated, stabMultiplier); + } + + if ( + source.isTerastallized && + sourceTeraType === moveType && + moveType !== PokemonType.STELLAR + ) { + stabMultiplier.value += 0.5; + } + + if ( + source.isTerastallized && + source.getTeraType() === PokemonType.STELLAR && + (!source.stellarTypesBoosted.includes(moveType) || + source.hasSpecies(Species.TERAPAGOS)) + ) { + stabMultiplier.value += matchesSourceType ? 0.5 : 0.2; + } + + return Math.min(stabMultiplier.value, 2.25); + } + /** * Calculates the damage of an attack made by another Pokemon against this Pokemon * @param source {@linkcode Pokemon} the attacking Pokemon @@ -4333,70 +4389,29 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ? 1 : this.randSeedIntRange(85, 100) / 100; - const sourceTypes = source.getTypes(); - const sourceTeraType = source.getTeraType(); - const matchesSourceType = sourceTypes.includes(moveType); + /** A damage multiplier for when the attack is of the attacker's type and/or Tera type. */ - const stabMultiplier = new NumberHolder(1); - if (matchesSourceType && moveType !== PokemonType.STELLAR) { - stabMultiplier.value += 0.5; - } - - if (!ignoreSourceAbility) { - applyAbAttrs(StabBoostAbAttr, source, null, simulated, stabMultiplier); - } - - applyMoveAttrs( - CombinedPledgeStabBoostAttr, - source, - this, - move, - stabMultiplier, - ); - - if ( - source.isTerastallized && - sourceTeraType === moveType && - moveType !== PokemonType.STELLAR - ) { - stabMultiplier.value += 0.5; - } - - if ( - source.isTerastallized && - source.getTeraType() === PokemonType.STELLAR && - (!source.stellarTypesBoosted.includes(moveType) || - source.hasSpecies(Species.TERAPAGOS)) - ) { - if (matchesSourceType) { - stabMultiplier.value += 0.5; - } else { - stabMultiplier.value += 0.2; - } - } - - stabMultiplier.value = Math.min(stabMultiplier.value, 2.25); + const stabMultiplier = this.calculateStabMultiplier(source, move, ignoreSourceAbility, simulated); /** Halves damage if the attacker is using a physical attack while burned */ - const burnMultiplier = new NumberHolder(1); + let burnMultiplier = 1; if ( isPhysical && source.status && - source.status.effect === StatusEffect.BURN + source.status.effect === StatusEffect.BURN && + !move.hasAttr(BypassBurnDamageReductionAttr) ) { - if (!move.hasAttr(BypassBurnDamageReductionAttr)) { - const burnDamageReductionCancelled = new BooleanHolder(false); - if (!ignoreSourceAbility) { - applyAbAttrs( - BypassBurnDamageReductionAbAttr, - source, - burnDamageReductionCancelled, - simulated, - ); - } - if (!burnDamageReductionCancelled.value) { - burnMultiplier.value = 0.5; - } + const burnDamageReductionCancelled = new BooleanHolder(false); + if (!ignoreSourceAbility) { + applyAbAttrs( + BypassBurnDamageReductionAbAttr, + source, + burnDamageReductionCancelled, + simulated, + ); + } + if (!burnDamageReductionCancelled.value) { + burnMultiplier = 0.5; } } @@ -4447,9 +4462,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { glaiveRushMultiplier.value * criticalMultiplier.value * randomMultiplier * - stabMultiplier.value * + stabMultiplier * typeMultiplier * - burnMultiplier.value * + burnMultiplier * screenMultiplier.value * hitsTagMultiplier.value * mistyTerrainMultiplier, diff --git a/test/moves/struggle.test.ts b/test/moves/struggle.test.ts new file mode 100644 index 00000000000..6b566df9d54 --- /dev/null +++ b/test/moves/struggle.test.ts @@ -0,0 +1,65 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Moves - Struggle", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.SPLASH]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should not have its power boosted by adaptability or stab", async () => { + game.override.moveset([Moves.STRUGGLE]).ability(Abilities.ADAPTABILITY); + await game.classicMode.startBattle([Species.RATTATA]); + + const enemy = game.scene.getEnemyPokemon()!; + game.move.select(Moves.STRUGGLE); + + const stabSpy = vi.spyOn(enemy, "calculateStabMultiplier"); + + await game.phaseInterceptor.to("BerryPhase"); + + expect(stabSpy).toHaveReturnedWith(1); + + stabSpy.mockRestore(); + }); + + it("should ignore type effectiveness", async () => { + game.override.moveset([Moves.STRUGGLE]); + await game.classicMode.startBattle([Species.GASTLY]); + + const enemy = game.scene.getEnemyPokemon()!; + game.move.select(Moves.STRUGGLE); + + const moveEffectivenessSpy = vi.spyOn(enemy, "getMoveEffectiveness"); + + await game.phaseInterceptor.to("BerryPhase"); + + expect(moveEffectivenessSpy).toHaveReturnedWith(1); + + moveEffectivenessSpy.mockRestore(); + }); +}); From 8d311e65cf5dc65d807827a874f140c0f7b33ce4 Mon Sep 17 00:00:00 2001 From: damocleas Date: Wed, 16 Apr 2025 22:31:53 -0400 Subject: [PATCH 029/102] [Bug] [Ability] Fixed wrong Sheer Force interactions and multiplier from ~1.33 -> 1.3 (#5515) * sheer force #, sheer force and burning jealousy test fix, and move chance fixes * removed order up sheer force interaction mention and test - updated comments * remove electro shot from changes --- src/data/abilities/ability.ts | 4 ++-- src/data/moves/move.ts | 24 ++++++++++++------------ test/abilities/sheer_force.test.ts | 2 +- test/moves/burning_jealousy.test.ts | 2 +- test/moves/order_up.test.ts | 19 ------------------- 5 files changed, 16 insertions(+), 35 deletions(-) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 17a8eddf47f..43a6cd5901b 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -6702,8 +6702,8 @@ export function initAbilities() { .attr(PostDefendStealHeldItemAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT)) .condition(getSheerForceHitDisableAbCondition()), new Ability(Abilities.SHEER_FORCE, 5) - .attr(MovePowerBoostAbAttr, (user, target, move) => move.chance >= 1, 5461 / 4096) - .attr(MoveEffectChanceMultiplierAbAttr, 0), // Should disable life orb, eject button, red card, kee/maranga berry if they get implemented + .attr(MovePowerBoostAbAttr, (user, target, move) => move.chance >= 1, 1.3) + .attr(MoveEffectChanceMultiplierAbAttr, 0), // This attribute does not seem to function - Should disable life orb, eject button, red card, kee/maranga berry if they get implemented new Ability(Abilities.CONTRARY, 5) .attr(StatStageChangeMultiplierAbAttr, -1) .ignorable(), diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 9546a6a40e5..c2dd0ec31ca 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -3466,8 +3466,7 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr { /** * Attribute implementing the stat boosting effect of {@link https://bulbapedia.bulbagarden.net/wiki/Order_Up_(move) | Order Up}. * If the user has a Pokemon with {@link https://bulbapedia.bulbagarden.net/wiki/Commander_(Ability) | Commander} in their mouth, - * one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. This effect does not respect - * effect chance, but Order Up itself may be boosted by Sheer Force. + * one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. */ export class OrderUpStatBoostAttr extends MoveEffectAttr { constructor() { @@ -9726,7 +9725,7 @@ export function initMoves() { .ignoresProtect() .target(MoveTarget.BOTH_SIDES) .unimplemented(), - new AttackMove(Moves.SMACK_DOWN, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, 100, 0, 5) + new AttackMove(Moves.SMACK_DOWN, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, -1, 0, 5) .attr(FallDownAttr) .attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED) .attr(RemoveBattlerTagAttr, [ BattlerTagType.FLYING, BattlerTagType.FLOATING, BattlerTagType.TELEKINESIS ]) @@ -9893,7 +9892,7 @@ export function initMoves() { .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.FROST_BREATH, PokemonType.ICE, MoveCategory.SPECIAL, 60, 90, 10, 100, 0, 5) + new AttackMove(Moves.FROST_BREATH, PokemonType.ICE, MoveCategory.SPECIAL, 60, 90, 10, -1, 0, 5) .attr(CritOnlyAttr), new AttackMove(Moves.DRAGON_TAIL, PokemonType.DRAGON, MoveCategory.PHYSICAL, 60, 90, 10, -1, -6, 5) .attr(ForceSwitchOutAttr, false, SwitchType.FORCE_SWITCH) @@ -10535,7 +10534,7 @@ export function initMoves() { .attr(AddArenaTagAttr, ArenaTagType.LIGHT_SCREEN, 5, false, true), new AttackMove(Moves.BADDY_BAD, PokemonType.DARK, MoveCategory.SPECIAL, 80, 95, 15, -1, 0, 7) .attr(AddArenaTagAttr, ArenaTagType.REFLECT, 5, false, true), - new AttackMove(Moves.SAPPY_SEED, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 90, 10, 100, 0, 7) + new AttackMove(Moves.SAPPY_SEED, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 7) .attr(LeechSeedAttr) .makesContact(false), new AttackMove(Moves.FREEZY_FROST, PokemonType.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7) @@ -10863,7 +10862,7 @@ export function initMoves() { .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true), new AttackMove(Moves.BITTER_MALICE, PokemonType.GHOST, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new SelfStatusMove(Moves.SHELTER, PokemonType.STEEL, -1, 10, 100, 0, 8) + new SelfStatusMove(Moves.SHELTER, PokemonType.STEEL, -1, 10, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true), new AttackMove(Moves.TRIPLE_ARROWS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 30, 0, 8) .makesContact(false) @@ -11018,7 +11017,7 @@ export function initMoves() { .makesContact(false), new AttackMove(Moves.LUMINA_CRASH, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2), - new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) + new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 9) .attr(OrderUpStatBoostAttr) .makesContact(false), new AttackMove(Moves.JET_PUNCH, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9) @@ -11072,7 +11071,7 @@ export function initMoves() { .attr(CutHpStatStageBoostAttr, [ Stat.ATK, Stat.SPATK, Stat.SPD ], 2, 2), new AttackMove(Moves.KOWTOW_CLEAVE, PokemonType.DARK, MoveCategory.PHYSICAL, 85, -1, 10, -1, 0, 9) .slicingMove(), - new AttackMove(Moves.FLOWER_TRICK, PokemonType.GRASS, MoveCategory.PHYSICAL, 70, -1, 10, 100, 0, 9) + new AttackMove(Moves.FLOWER_TRICK, PokemonType.GRASS, MoveCategory.PHYSICAL, 70, -1, 10, -1, 0, 9) .attr(CritOnlyAttr) .makesContact(false), new AttackMove(Moves.TORCH_SONG, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) @@ -11191,7 +11190,7 @@ export function initMoves() { .attr(StatusEffectAttr, StatusEffect.BURN) .target(MoveTarget.ALL_NEAR_ENEMIES) .triageMove(), - new AttackMove(Moves.SYRUP_BOMB, PokemonType.GRASS, MoveCategory.SPECIAL, 60, 85, 10, -1, 0, 9) + new AttackMove(Moves.SYRUP_BOMB, PokemonType.GRASS, MoveCategory.SPECIAL, 60, 85, 10, 100, 0, 9) .attr(AddBattlerTagAttr, BattlerTagType.SYRUP_BOMB, false, false, 3) .ballBombMove(), new AttackMove(Moves.IVY_CUDGEL, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 100, 10, -1, 0, 9) @@ -11209,7 +11208,8 @@ export function initMoves() { .partial(), /** Does not ignore abilities that affect stats, relevant in determining the move's category {@see TeraMoveCategoryAttr} */ new AttackMove(Moves.FICKLE_BEAM, PokemonType.DRAGON, MoveCategory.SPECIAL, 80, 100, 5, 30, 0, 9) .attr(PreMoveMessageAttr, doublePowerChanceMessageFunc) - .attr(DoublePowerChanceAttr), + .attr(DoublePowerChanceAttr) + .edgeCase(), // Should not interact with Sheer Force new SelfStatusMove(Moves.BURNING_BULWARK, PokemonType.FIRE, -1, 10, -1, 4, 9) .attr(ProtectAttr, BattlerTagType.BURNING_BULWARK) .condition(failIfLastCondition), @@ -11232,7 +11232,7 @@ export function initMoves() { new StatusMove(Moves.DRAGON_CHEER, PokemonType.DRAGON, -1, 15, -1, 0, 9) .attr(AddBattlerTagAttr, BattlerTagType.DRAGON_CHEER, false, true) .target(MoveTarget.NEAR_ALLY), - new AttackMove(Moves.ALLURING_VOICE, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 9) + new AttackMove(Moves.ALLURING_VOICE, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(AddBattlerTagIfBoostedAttr, BattlerTagType.CONFUSED) .soundBased(), new AttackMove(Moves.TEMPER_FLARE, PokemonType.FIRE, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 9) @@ -11241,7 +11241,7 @@ export function initMoves() { .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) .recklessMove(), - new AttackMove(Moves.PSYCHIC_NOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 75, 100, 10, -1, 0, 9) + new AttackMove(Moves.PSYCHIC_NOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 9) .soundBased() .attr(AddBattlerTagAttr, BattlerTagType.HEAL_BLOCK, false, false, 2), new AttackMove(Moves.UPPER_HAND, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 15, 100, 3, 9) diff --git a/test/abilities/sheer_force.test.ts b/test/abilities/sheer_force.test.ts index 4a1c20cde5c..fae089958a5 100644 --- a/test/abilities/sheer_force.test.ts +++ b/test/abilities/sheer_force.test.ts @@ -34,7 +34,7 @@ describe("Abilities - Sheer Force", () => { .disableCrits(); }); - const SHEER_FORCE_MULT = 5461 / 4096; + const SHEER_FORCE_MULT = 1.3; it("Sheer Force should boost the power of the move but disable secondary effects", async () => { game.override.moveset([Moves.AIR_SLASH]); diff --git a/test/moves/burning_jealousy.test.ts b/test/moves/burning_jealousy.test.ts index 60387df4226..04966b24206 100644 --- a/test/moves/burning_jealousy.test.ts +++ b/test/moves/burning_jealousy.test.ts @@ -89,7 +89,7 @@ describe("Moves - Burning Jealousy", () => { await game.phaseInterceptor.to("BerryPhase"); expect(allMoves[Moves.BURNING_JEALOUSY].calculateBattlePower).toHaveReturnedWith( - (allMoves[Moves.BURNING_JEALOUSY].power * 5461) / 4096, + allMoves[Moves.BURNING_JEALOUSY].power * 1.3, ); }); }); diff --git a/test/moves/order_up.test.ts b/test/moves/order_up.test.ts index 516f7f625a3..f25114c12de 100644 --- a/test/moves/order_up.test.ts +++ b/test/moves/order_up.test.ts @@ -65,23 +65,4 @@ describe("Moves - Order Up", () => { affectedStats.forEach(st => expect(dondozo.getStatStage(st)).toBe(st === stat ? 3 : 2)); }, ); - - it("should be boosted by Sheer Force while still applying a stat boost", async () => { - game.override.passiveAbility(Abilities.SHEER_FORCE).starterForms({ [Species.TATSUGIRI]: 0 }); - - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); - - const [tatsugiri, dondozo] = game.scene.getPlayerField(); - - expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); - expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - - game.move.select(Moves.ORDER_UP, 1, BattlerIndex.ENEMY); - expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); - - await game.phaseInterceptor.to("BerryPhase", false); - - expect(dondozo.battleData.abilitiesApplied.includes(Abilities.SHEER_FORCE)).toBeTruthy(); - expect(dondozo.getStatStage(Stat.ATK)).toBe(3); - }); }); From b2bab46e1cd7b12363c9220835dcfc9b5f839b98 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Wed, 16 Apr 2025 23:47:49 -0500 Subject: [PATCH 030/102] [Bug][Ability] Fix healer queueing its message when its ally is fainted (#5642) * Add check against faint status effect * Add tests for healer * Remove redundant portions of the tests * Fix broken test --- src/data/abilities/ability.ts | 4 +- test/abilities/healer.test.ts | 97 +++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 test/abilities/healer.test.ts diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 43a6cd5901b..ab07d406868 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -4033,7 +4033,9 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { } else { this.target = pokemon; } - return !isNullOrUndefined(this.target?.status); + + const effect = this.target?.status?.effect; + return !!effect && effect !== StatusEffect.FAINT; } override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { diff --git a/test/abilities/healer.test.ts b/test/abilities/healer.test.ts new file mode 100644 index 00000000000..35aa74209b4 --- /dev/null +++ b/test/abilities/healer.test.ts @@ -0,0 +1,97 @@ +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { StatusEffect } from "#enums/status-effect"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi, type MockInstance } from "vitest"; +import { isNullOrUndefined } from "#app/utils"; +import { PostTurnResetStatusAbAttr } from "#app/data/abilities/ability"; +import { allAbilities } from "#app/data/data-lists"; +import type Pokemon from "#app/field/pokemon"; + +describe("Abilities - Healer", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + let healerAttrSpy: MockInstance; + let healerAttr: PostTurnResetStatusAbAttr; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + healerAttrSpy.mockRestore(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.SPLASH]) + .ability(Abilities.BALL_FETCH) + .battleType("double") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + + healerAttr = allAbilities[Abilities.HEALER].getAttrs(PostTurnResetStatusAbAttr)[0]; + healerAttrSpy = vi + .spyOn(healerAttr, "getCondition") + .mockReturnValue((pokemon: Pokemon) => !isNullOrUndefined(pokemon.getAlly())); + }); + + it("should not queue a message phase for healing if the ally has fainted", async () => { + game.override.moveset([Moves.SPLASH, Moves.LUNAR_DANCE]); + await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + const user = game.scene.getPlayerPokemon()!; + // Only want one magikarp to have the ability. + vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[Abilities.HEALER]); + game.move.select(Moves.SPLASH); + // faint the ally + game.move.select(Moves.LUNAR_DANCE, 1); + const abSpy = vi.spyOn(healerAttr, "canApplyPostTurn"); + await game.phaseInterceptor.to("TurnEndPhase"); + + // It's not enough to just test that the ally still has its status. + // We need to ensure that the ability failed to meet its condition + expect(abSpy).toHaveReturnedWith(false); + + // Explicitly restore the mock to ensure pollution doesn't happen + abSpy.mockRestore(); + }); + + it("should heal the status of an ally if the ally has a status", async () => { + await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + const [user, ally] = game.scene.getPlayerField(); + // Only want one magikarp to have the ability. + vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[Abilities.HEALER]); + expect(ally.trySetStatus(StatusEffect.BURN)).toBe(true); + game.move.select(Moves.SPLASH); + game.move.select(Moves.SPLASH, 1); + + await game.phaseInterceptor.to("TurnEndPhase"); + await game.toNextTurn(); + + expect(ally.status?.effect, "status effect was not healed").toBeFalsy(); + }); + + // TODO: Healer is currently checked before the + it.todo("should heal a burn before its end of turn damage", async () => { + await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + const [user, ally] = game.scene.getPlayerField(); + // Only want one magikarp to have the ability. + vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[Abilities.HEALER]); + expect(ally.trySetStatus(StatusEffect.BURN)).toBe(true); + game.move.select(Moves.SPLASH); + game.move.select(Moves.SPLASH, 1); + await game.phaseInterceptor.to("TurnEndPhase"); + await game.toNextTurn(); + + expect(ally.status?.effect, "status effect was not healed").toBeFalsy(); + expect(ally.hp).toBe(ally.getMaxHp()); + }); +}); From 45a2f426024e8221f4756f524f6bda93b5cc6a5f Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 17 Apr 2025 10:44:50 -0500 Subject: [PATCH 031/102] [Bug] Prevent game from hanging when loading in a new battle (#5676) --- src/field/pokemon.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index cdd48f7d940..ce36a40697b 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -840,12 +840,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { await Promise.allSettled(loadPromises); - // Wait for the assets we queued to load to finish loading, then... + // This must be initiated before we queue loading, otherwise the load could have finished before + // we reach the line of code that adds the listener, causing a deadlock. + const waitOnLoadPromise = new Promise(resolve => globalScene.load.once(Phaser.Loader.Events.COMPLETE, resolve)); + if (!globalScene.load.isLoading()) { globalScene.load.start(); } + + // Wait for the assets we queued to load to finish loading, then... // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#creating_a_promise_around_an_old_callback_api - await new Promise(resolve => globalScene.load.once(Phaser.Loader.Events.COMPLETE, resolve)); + await waitOnLoadPromise; // With the sprites loaded, generate the animation frame information if (this.isPlayer()) { From eef8367caf028e84213924fa0673a9e58927991f Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 17 Apr 2025 11:57:30 -0500 Subject: [PATCH 032/102] [Bug] Fix experimental sprites not loading in starter select (#5664) [Bug][Sprite] Fix experimental variant sprites not being loaded in starter select screen --- src/data/pokemon-species.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index a27c00121dc..75ea07edd40 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -27,11 +27,12 @@ import { } from "#app/data/balance/pokemon-level-moves"; import type { Stat } from "#enums/stat"; import type { Variant, VariantSet } from "#app/sprites/variant"; -import { variantData } from "#app/sprites/variant"; +import { populateVariantColorCache, variantData } from "#app/sprites/variant"; import { speciesStarterCosts, POKERUS_STARTER_COUNT } from "#app/data/balance/starters"; import { SpeciesFormKey } from "#enums/species-form-key"; import { starterPassiveAbilities } from "#app/data/balance/passives"; import { loadPokemonVariantAssets } from "#app/sprites/pokemon-sprite"; +import { hasExpSprite } from "#app/sprites/sprite-utils"; export enum Region { NORMAL, @@ -388,8 +389,7 @@ export abstract class PokemonSpeciesForm { return `${/_[1-3]$/.test(spriteId) ? "variant/" : ""}${spriteId}`; } - /** Compute the sprite ID of the pokemon form. */ - getSpriteId(female: boolean, formIndex?: number, shiny?: boolean, variant = 0, back?: boolean): string { + getBaseSpriteKey(female: boolean, formIndex?: number): string { if (formIndex === undefined || this instanceof PokemonForm) { formIndex = this.formIndex; } @@ -400,7 +400,12 @@ export abstract class PokemonSpeciesForm { female && ![SpeciesFormKey.MEGA, SpeciesFormKey.GIGANTAMAX].includes(formSpriteKey as SpeciesFormKey); - const baseSpriteKey = `${showGenderDiffs ? "female__" : ""}${this.speciesId}${formSpriteKey ? `-${formSpriteKey}` : ""}`; + return `${showGenderDiffs ? "female__" : ""}${this.speciesId}${formSpriteKey ? `-${formSpriteKey}` : ""}`; + } + + /** Compute the sprite ID of the pokemon form. */ + getSpriteId(female: boolean, formIndex?: number, shiny?: boolean, variant = 0, back?: boolean): string { + const baseSpriteKey = this.getBaseSpriteKey(female, formIndex); let config = variantData; `${back ? "back__" : ""}${baseSpriteKey}`.split("__").map(p => (config ? (config = config[p]) : null)); @@ -597,10 +602,19 @@ export abstract class PokemonSpeciesForm { startLoad = false, back = false, ): Promise { + // We need to populate the color cache for this species' variant const spriteKey = this.getSpriteKey(female, formIndex, shiny, variant, back); globalScene.loadPokemonAtlas(spriteKey, this.getSpriteAtlasPath(female, formIndex, shiny, variant, back)); globalScene.load.audio(this.getCryKey(formIndex), `audio/${this.getCryKey(formIndex)}.m4a`); + const baseSpriteKey = this.getBaseSpriteKey(female, formIndex); + + // Force the variant color cache to be loaded for the form + await populateVariantColorCache( + "pkmn__" + baseSpriteKey, + globalScene.experimentalSprites && hasExpSprite(spriteKey), + baseSpriteKey, + ); return new Promise(resolve => { globalScene.load.once(Phaser.Loader.Events.COMPLETE, () => { const originalWarn = console.warn; From 3a46aae687142201aa3c42264c13b4865c5d561f Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 17 Apr 2025 15:25:38 -0500 Subject: [PATCH 033/102] [Bug] Fix beak blast: not applying if user faints and not respecting long reach (#5639) * Add test for beak blast applying after user faints * Rewrite tags for contact protected and check moveFlags.doesFlagEffectApply * Add test to beak blast ensuring a long reach user does not get burned * Re-add DamageProtectedTag to relevant inheritance chains * Move resetSummonData to faintPhase instead of pokemon.apply * Remove passing of grudge and destiny bond tags to faint phase --- src/data/abilities/ability.ts | 6 +- src/data/battler-tags.ts | 169 +++++++++++++++++--------------- src/field/pokemon.ts | 8 +- src/phases/faint-phase.ts | 31 ++---- src/phases/move-effect-phase.ts | 10 +- test/moves/beak_blast.test.ts | 31 +++++- 6 files changed, 136 insertions(+), 119 deletions(-) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index ab07d406868..6cbb579d4e0 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -6701,7 +6701,7 @@ export function initAbilities() { new Ability(Abilities.BAD_DREAMS, 4) .attr(PostTurnHurtIfSleepingAbAttr), new Ability(Abilities.PICKPOCKET, 5) - .attr(PostDefendStealHeldItemAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT)) + .attr(PostDefendStealHeldItemAbAttr, (target, user, move) => move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user, target})) .condition(getSheerForceHitDisableAbCondition()), new Ability(Abilities.SHEER_FORCE, 5) .attr(MovePowerBoostAbAttr, (user, target, move) => move.chance >= 1, 1.3) @@ -7051,7 +7051,7 @@ export function initAbilities() { new Ability(Abilities.BATTERY, 7) .attr(AllyMoveCategoryPowerBoostAbAttr, [ MoveCategory.SPECIAL ], 1.3), new Ability(Abilities.FLUFFY, 7) - .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), 0.5) + .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user, target}), 0.5) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.FIRE, 2) .ignorable(), new Ability(Abilities.DAZZLING, 7) @@ -7060,7 +7060,7 @@ export function initAbilities() { new Ability(Abilities.SOUL_HEART, 7) .attr(PostKnockOutStatStageChangeAbAttr, Stat.SPATK, 1), new Ability(Abilities.TANGLING_HAIR, 7) - .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), Stat.SPD, -1, false), + .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user, target}), Stat.SPD, -1, false), new Ability(Abilities.RECEIVER, 7) .attr(CopyFaintedAllyAbilityAbAttr) .uncopiable(), diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 401fd9903d1..9b72f3083fd 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -52,6 +52,7 @@ export enum BattlerTagLapseType { MOVE_EFFECT, TURN_END, HIT, + /** Tag lapses AFTER_HIT, applying its effects even if the user faints */ AFTER_HIT, CUSTOM, } @@ -498,7 +499,13 @@ export class BeakBlastChargingTag extends BattlerTag { lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { if (lapseType === BattlerTagLapseType.AFTER_HIT) { const phaseData = getMoveEffectPhaseData(pokemon); - if (phaseData?.move.hasFlag(MoveFlags.MAKES_CONTACT)) { + if ( + phaseData?.move.doesFlagEffectApply({ + flag: MoveFlags.MAKES_CONTACT, + user: phaseData.attacker, + target: pokemon, + }) + ) { phaseData.attacker.trySetStatus(StatusEffect.BURN, true, pokemon); } return true; @@ -1611,19 +1618,50 @@ export class ProtectedTag extends BattlerTag { } } -/** Base class for `BattlerTag`s that block damaging moves but not status moves */ -export class DamageProtectedTag extends ProtectedTag {} +/** Class for `BattlerTag`s that apply some effect when hit by a contact move */ +export class ContactProtectedTag extends ProtectedTag { + /** + * Function to call when a contact move hits the pokemon with this tag. + * @param _attacker - The pokemon using the contact move + * @param _user - The pokemon that is being attacked and has the tag + * @param _move - The move used by the attacker + */ + onContact(_attacker: Pokemon, _user: Pokemon) {} + + /** + * Lapse the tag and apply `onContact` if the move makes contact and + * `lapseType` is custom, respecting the move's flags and the pokemon's + * abilities, and whether the lapseType is custom. + * + * @param pokemon - The pokemon with the tag + * @param lapseType - The type of lapse to apply. If this is not {@linkcode BattlerTagLapseType.CUSTOM CUSTOM}, no effect will be applied. + * @returns Whether the tag continues to exist after the lapse. + */ + lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { + const ret = super.lapse(pokemon, lapseType); + + const moveData = getMoveEffectPhaseData(pokemon); + if ( + lapseType === BattlerTagLapseType.CUSTOM && + moveData && + moveData.move.doesFlagEffectApply({ flag: MoveFlags.MAKES_CONTACT, user: moveData.attacker, target: pokemon }) + ) { + this.onContact(moveData.attacker, pokemon); + } + + return ret; + } +} /** * `BattlerTag` class for moves that block damaging moves damage the enemy if the enemy's move makes contact * Used by {@linkcode Moves.SPIKY_SHIELD} */ -export class ContactDamageProtectedTag extends ProtectedTag { +export class ContactDamageProtectedTag extends ContactProtectedTag { private damageRatio: number; constructor(sourceMove: Moves, damageRatio: number) { super(sourceMove, BattlerTagType.SPIKY_SHIELD); - this.damageRatio = damageRatio; } @@ -1636,22 +1674,46 @@ export class ContactDamageProtectedTag extends ProtectedTag { this.damageRatio = source.damageRatio; } - lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - const ret = super.lapse(pokemon, lapseType); - - if (lapseType === BattlerTagLapseType.CUSTOM) { - const effectPhase = globalScene.getCurrentPhase(); - if (effectPhase instanceof MoveEffectPhase && effectPhase.move.getMove().hasFlag(MoveFlags.MAKES_CONTACT)) { - const attacker = effectPhase.getPokemon(); - if (!attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) { - attacker.damageAndUpdate(toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), { - result: HitResult.INDIRECT, - }); - } - } + /** + * Damage the attacker by `this.damageRatio` of the target's max HP + * @param attacker - The pokemon using the contact move + * @param user - The pokemon that is being attacked and has the tag + */ + override onContact(attacker: Pokemon, user: Pokemon): void { + const cancelled = new BooleanHolder(false); + applyAbAttrs(BlockNonDirectDamageAbAttr, user, cancelled); + if (!cancelled.value) { + attacker.damageAndUpdate(toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), { + result: HitResult.INDIRECT, + }); } + } +} - return ret; +/** Base class for `BattlerTag`s that block damaging moves but not status moves */ +export class DamageProtectedTag extends ContactProtectedTag {} + +export class ContactSetStatusProtectedTag extends DamageProtectedTag { + /** + * @param sourceMove The move that caused the tag to be applied + * @param tagType The type of the tag + * @param statusEffect The status effect to apply to the attacker + */ + constructor( + sourceMove: Moves, + tagType: BattlerTagType, + private statusEffect: StatusEffect, + ) { + super(sourceMove, tagType); + } + + /** + * Set the status effect on the attacker + * @param attacker - The pokemon using the contact move + * @param user - The pokemon that is being attacked and has the tag + */ + override onContact(attacker: Pokemon, user: Pokemon): void { + attacker.trySetStatus(this.statusEffect, true, user); } } @@ -1674,68 +1736,19 @@ export class ContactStatStageChangeProtectedTag extends DamageProtectedTag { * When given a battler tag or json representing one, load the data for it. * @param {BattlerTag | any} source A battler tag */ - loadTag(source: BattlerTag | any): void { + override loadTag(source: BattlerTag | any): void { super.loadTag(source); this.stat = source.stat; this.levels = source.levels; } - lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - const ret = super.lapse(pokemon, lapseType); - - if (lapseType === BattlerTagLapseType.CUSTOM) { - const effectPhase = globalScene.getCurrentPhase(); - if (effectPhase instanceof MoveEffectPhase && effectPhase.move.getMove().hasFlag(MoveFlags.MAKES_CONTACT)) { - const attacker = effectPhase.getPokemon(); - globalScene.unshiftPhase(new StatStageChangePhase(attacker.getBattlerIndex(), false, [this.stat], this.levels)); - } - } - - return ret; - } -} - -export class ContactPoisonProtectedTag extends ProtectedTag { - constructor(sourceMove: Moves) { - super(sourceMove, BattlerTagType.BANEFUL_BUNKER); - } - - lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - const ret = super.lapse(pokemon, lapseType); - - if (lapseType === BattlerTagLapseType.CUSTOM) { - const effectPhase = globalScene.getCurrentPhase(); - if (effectPhase instanceof MoveEffectPhase && effectPhase.move.getMove().hasFlag(MoveFlags.MAKES_CONTACT)) { - const attacker = effectPhase.getPokemon(); - attacker.trySetStatus(StatusEffect.POISON, true, pokemon); - } - } - - return ret; - } -} - -/** - * `BattlerTag` class for moves that block damaging moves and burn the enemy if the enemy's move makes contact - * Used by {@linkcode Moves.BURNING_BULWARK} - */ -export class ContactBurnProtectedTag extends DamageProtectedTag { - constructor(sourceMove: Moves) { - super(sourceMove, BattlerTagType.BURNING_BULWARK); - } - - lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - const ret = super.lapse(pokemon, lapseType); - - if (lapseType === BattlerTagLapseType.CUSTOM) { - const effectPhase = globalScene.getCurrentPhase(); - if (effectPhase instanceof MoveEffectPhase && effectPhase.move.getMove().hasFlag(MoveFlags.MAKES_CONTACT)) { - const attacker = effectPhase.getPokemon(); - attacker.trySetStatus(StatusEffect.BURN, true); - } - } - - return ret; + /** + * Initiate the stat stage change on the attacker + * @param attacker - The pokemon using the contact move + * @param user - The pokemon that is being attacked and has the tag + */ + override onContact(attacker: Pokemon, _user: Pokemon): void { + globalScene.unshiftPhase(new StatStageChangePhase(attacker.getBattlerIndex(), false, [this.stat], this.levels)); } } @@ -3518,9 +3531,9 @@ export function getBattlerTag( case BattlerTagType.SILK_TRAP: return new ContactStatStageChangeProtectedTag(sourceMove, tagType, Stat.SPD, -1); case BattlerTagType.BANEFUL_BUNKER: - return new ContactPoisonProtectedTag(sourceMove); + return new ContactSetStatusProtectedTag(sourceMove, tagType, StatusEffect.POISON); case BattlerTagType.BURNING_BULWARK: - return new ContactBurnProtectedTag(sourceMove); + return new ContactSetStatusProtectedTag(sourceMove, tagType, StatusEffect.BURN); case BattlerTagType.ENDURING: return new EnduringTag(tagType, BattlerTagLapseType.TURN_END, sourceMove); case BattlerTagType.ENDURE_TOKEN: diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index ce36a40697b..5ae7d227b3c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -128,6 +128,7 @@ import { TarShotTag, AutotomizedTag, PowerTrickTag, + type GrudgeTag, } from "../data/battler-tags"; import { WeatherType } from "#enums/weather-type"; import { @@ -4754,15 +4755,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { new FaintPhase( this.getBattlerIndex(), false, - destinyTag, - grudgeTag, source, ), ); this.destroySubstitute(); this.lapseTag(BattlerTagType.COMMANDED); - this.resetSummonData(); } return result; @@ -4824,7 +4822,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); this.destroySubstitute(); this.lapseTag(BattlerTagType.COMMANDED); - this.resetSummonData(); } return damage; } @@ -4992,6 +4989,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } + /**@overload */ + getTag(tagType: BattlerTagType.GRUDGE): GrudgeTag | nil; + /** @overload */ getTag(tagType: BattlerTagType): BattlerTag | nil; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 01a556115a6..d1856c9331c 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -9,7 +9,6 @@ import { PostKnockOutAbAttr, PostVictoryAbAttr, } from "#app/data/abilities/ability"; -import type { DestinyBondTag, GrudgeTag } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags"; import { battleSpecDialogue } from "#app/data/dialogue"; import { allMoves, PostVictoryStatStageChangeAttr } from "#app/data/moves/move"; @@ -32,6 +31,7 @@ import { ToggleDoublePositionPhase } from "./toggle-double-position-phase"; import { VictoryPhase } from "./victory-phase"; import { isNullOrUndefined } from "#app/utils"; import { FRIENDSHIP_LOSS_FROM_FAINT } from "#app/data/balance/starters"; +import { BattlerTagType } from "#enums/battler-tag-type"; export class FaintPhase extends PokemonPhase { /** @@ -39,33 +39,15 @@ export class FaintPhase extends PokemonPhase { */ private preventEndure: boolean; - /** - * Destiny Bond tag belonging to the currently fainting Pokemon, if applicable - */ - private destinyTag?: DestinyBondTag | null; - - /** - * Grudge tag belonging to the currently fainting Pokemon, if applicable - */ - private grudgeTag?: GrudgeTag | null; - /** * The source Pokemon that dealt fatal damage */ private source?: Pokemon; - constructor( - battlerIndex: BattlerIndex, - preventEndure = false, - destinyTag?: DestinyBondTag | null, - grudgeTag?: GrudgeTag | null, - source?: Pokemon, - ) { + constructor(battlerIndex: BattlerIndex, preventEndure = false, source?: Pokemon) { super(battlerIndex); this.preventEndure = preventEndure; - this.destinyTag = destinyTag; - this.grudgeTag = grudgeTag; this.source = source; } @@ -74,13 +56,12 @@ export class FaintPhase extends PokemonPhase { const faintPokemon = this.getPokemon(); - if (!isNullOrUndefined(this.destinyTag) && !isNullOrUndefined(this.source)) { - this.destinyTag.lapse(this.source, BattlerTagLapseType.CUSTOM); + if (this.source) { + faintPokemon.getTag(BattlerTagType.DESTINY_BOND)?.lapse(this.source, BattlerTagLapseType.CUSTOM); + faintPokemon.getTag(BattlerTagType.GRUDGE)?.lapse(faintPokemon, BattlerTagLapseType.CUSTOM, this.source); } - if (!isNullOrUndefined(this.grudgeTag) && !isNullOrUndefined(this.source)) { - this.grudgeTag.lapse(faintPokemon, BattlerTagLapseType.CUSTOM, this.source); - } + faintPokemon.resetSummonData(); if (!this.preventEndure) { const instantReviveModifier = globalScene.applyModifier( diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index af9f685eebe..3a4e5f32ede 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -627,18 +627,20 @@ export class MoveEffectPhase extends PokemonPhase { * @param hitResult - The {@linkcode HitResult} of the attempted move * @returns a `Promise` intended to be passed into a `then()` call. */ - protected applyOnGetHitAbEffects(user: Pokemon, target: Pokemon, hitResult: HitResult): void { + protected applyOnGetHitAbEffects(user: Pokemon, target: Pokemon, hitResult: HitResult) { + const hitsSubstitute = this.move.getMove().hitsSubstitute(user, target); if (!target.isFainted() || target.canApplyAbility()) { applyPostDefendAbAttrs(PostDefendAbAttr, target, user, this.move.getMove(), hitResult); - if (!this.move.getMove().hitsSubstitute(user, target)) { + if (!hitsSubstitute) { if (!user.isPlayer() && this.move.getMove() instanceof AttackMove) { globalScene.applyShuffledModifiers(EnemyAttackStatusEffectChanceModifier, false, target); } - - target.lapseTags(BattlerTagLapseType.AFTER_HIT); } } + if (!hitsSubstitute) { + target.lapseTags(BattlerTagLapseType.AFTER_HIT); + } } /** diff --git a/test/moves/beak_blast.test.ts b/test/moves/beak_blast.test.ts index 9f8b1e3d5c3..252b28448fd 100644 --- a/test/moves/beak_blast.test.ts +++ b/test/moves/beak_blast.test.ts @@ -38,7 +38,7 @@ describe("Moves - Beak Blast", () => { }); it("should add a charge effect that burns attackers on contact", async () => { - await game.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([Species.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -55,7 +55,7 @@ describe("Moves - Beak Blast", () => { it("should still charge and burn opponents if the user is sleeping", async () => { game.override.statusEffect(StatusEffect.SLEEP); - await game.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([Species.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -72,7 +72,7 @@ describe("Moves - Beak Blast", () => { it("should not burn attackers that don't make contact", async () => { game.override.enemyMoveset([Moves.WATER_GUN]); - await game.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([Species.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -89,7 +89,7 @@ describe("Moves - Beak Blast", () => { it("should only hit twice with Multi-Lens", async () => { game.override.startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - await game.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([Species.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; @@ -102,7 +102,7 @@ describe("Moves - Beak Blast", () => { it("should be blocked by Protect", async () => { game.override.enemyMoveset([Moves.PROTECT]); - await game.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([Species.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -116,4 +116,25 @@ describe("Moves - Beak Blast", () => { expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); expect(leadPokemon.getTag(BattlerTagType.BEAK_BLAST_CHARGING)).toBeUndefined(); }); + + it("should still burn the enemy if the user is knocked out", async () => { + game.override.ability(Abilities.BALL_FETCH); + await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + const enemyPokemon = game.scene.getEnemyPokemon()!; + const user = game.scene.getPlayerPokemon()!; + user.hp = 1; + game.move.select(Moves.BEAK_BLAST); + await game.phaseInterceptor.to("BerryPhase", false); + expect(enemyPokemon.status?.effect).toBe(StatusEffect.BURN); + }); + + it("should not burn a long reach enemy that hits the user with a contact move", async () => { + game.override.enemyAbility(Abilities.LONG_REACH); + game.override.enemyMoveset([Moves.FALSE_SWIPE]).enemyLevel(100); + await game.classicMode.startBattle([Species.MAGIKARP]); + game.move.select(Moves.BEAK_BLAST); + await game.phaseInterceptor.to("BerryPhase", false); + const enemyPokemon = game.scene.getEnemyPokemon()!; + expect(enemyPokemon.status?.effect).not.toBe(StatusEffect.BURN); + }); }); From b8b101119c66cfc67f16c842dbec11e1cc5ae3d4 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 17 Apr 2025 15:31:57 -0500 Subject: [PATCH 034/102] [Bug][Sprite] Use floats for variant shader recolor comparison (#5668) * Use float values for comparison * Remove unused colorInt --- src/pipelines/glsl/spriteFragShader.frag | 36 ++++++++---------------- src/pipelines/glsl/spriteShader.vert | 1 - src/pipelines/sprite.ts | 8 +++--- src/utils.ts | 5 +++- 4 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/pipelines/glsl/spriteFragShader.frag b/src/pipelines/glsl/spriteFragShader.frag index 3765e595b70..03f8c8c27bc 100644 --- a/src/pipelines/glsl/spriteFragShader.frag +++ b/src/pipelines/glsl/spriteFragShader.frag @@ -31,9 +31,9 @@ uniform vec2 texSize; uniform float yOffset; uniform float yShadowOffset; uniform vec4 tone; -uniform ivec4 baseVariantColors[32]; +uniform vec4 baseVariantColors[32]; uniform vec4 variantColors[32]; -uniform ivec4 spriteColors[32]; +uniform vec4 spriteColors[32]; uniform ivec4 fusionSpriteColors[32]; const vec3 lumaF = vec3(.299, .587, .114); @@ -69,7 +69,6 @@ float hue2rgb(float f1, float f2, float hue) { vec3 rgb2hsl(vec3 color) { vec3 hsl; - float fmin = min(min(color.r, color.g), color.b); float fmax = max(max(color.r, color.g), color.b); float delta = fmax - fmin; @@ -152,34 +151,23 @@ vec3 hsv2rgb(vec3 c) { void main() { vec4 texture = texture2D(uMainSampler[0], outTexCoord); - ivec4 colorInt = ivec4(texture*255.0); - for (int i = 0; i < 32; i++) { - if (baseVariantColors[i][3] == 0) + if (baseVariantColors[i].a == 0.0) break; - // abs value is broken in this version of gles with highp - ivec3 diffs = ivec3( - (colorInt.r > baseVariantColors[i].r) ? colorInt.r - baseVariantColors[i].r : baseVariantColors[i].r - colorInt.r, - (colorInt.g > baseVariantColors[i].g) ? colorInt.g - baseVariantColors[i].g : baseVariantColors[i].g - colorInt.g, - (colorInt.b > baseVariantColors[i].b) ? colorInt.b - baseVariantColors[i].b : baseVariantColors[i].b - colorInt.b - ); - // Set color threshold to be within 3 points for each channel - bvec3 threshold = lessThan(diffs, ivec3(3)); - - if (texture.a > 0.0 && all(threshold)) { + if (texture.a > 0.0 && all(lessThan(abs(texture.rgb - baseVariantColors[i].rgb), vec3(1.0/255.0)))) { texture.rgb = variantColors[i].rgb; break; } } for (int i = 0; i < 32; i++) { - if (spriteColors[i][3] == 0) + if (spriteColors[i][3] == 0.0) break; - if (texture.a > 0.0 && colorInt.r == spriteColors[i].r && colorInt.g == spriteColors[i].g && colorInt.b == spriteColors[i].b) { - vec3 fusionColor = vec3(float(fusionSpriteColors[i].r) / 255.0, float(fusionSpriteColors[i].g) / 255.0, float(fusionSpriteColors[i].b) / 255.0); - vec3 bg = vec3(spriteColors[i].rgb) / 255.0; + if (texture.a > 0.0 && all(lessThan(abs(texture.rgb - spriteColors[i].rgb), vec3(1.0/255.0)))) { + vec3 fusionColor = vec3(fusionSpriteColors[i].rgb) / 255.0; + vec3 bg = spriteColors[i].rgb; float gray = (bg.r + bg.g + bg.b) / 3.0; - bg = vec3(gray, gray, gray); + bg = vec3(gray); vec3 fg = fusionColor; texture.rgb = mix(1.0 - 2.0 * (1.0 - bg) * (1.0 - fg), 2.0 * bg * fg, step(bg, vec3(0.5))); break; @@ -192,7 +180,7 @@ void main() { vec4 color = texture * texel; if (color.a > 0.0 && teraColor.r > 0.0 && teraColor.g > 0.0 && teraColor.b > 0.0) { - vec2 relUv = vec2((outTexCoord.x - texFrameUv.x) / (size.x / texSize.x), (outTexCoord.y - texFrameUv.y) / (size.y / texSize.y)); + vec2 relUv = (outTexCoord.xy - texFrameUv.xy) / (size.xy / texSize.xy); vec2 teraTexCoord = vec2(relUv.x * (size.x / 200.0), relUv.y * (size.y / 120.0)); vec4 teraCol = texture2D(uMainSampler[1], teraTexCoord); float floorValue = 86.0 / 255.0; @@ -265,8 +253,8 @@ void main() { if ((spriteY >= 0.9 && (color.a == 0.0 || yOverflow))) { float shadowSpriteY = (spriteY - 0.9) * (1.0 / 0.15); - if (distance(vec2(spriteX, shadowSpriteY), vec2(0.5, 0.5)) < 0.5) { - color = vec4(vec3(0.0, 0.0, 0.0), 0.5); + if (distance(vec2(spriteX, shadowSpriteY), vec2(0.5)) < 0.5) { + color = vec4(vec3(0.0), 0.5); } else if (yOverflow) { discard; } diff --git a/src/pipelines/glsl/spriteShader.vert b/src/pipelines/glsl/spriteShader.vert index 33743384b47..84e73834f49 100644 --- a/src/pipelines/glsl/spriteShader.vert +++ b/src/pipelines/glsl/spriteShader.vert @@ -11,7 +11,6 @@ attribute float inTintEffect; attribute vec4 inTint; varying vec2 outTexCoord; -varying vec2 outtexFrameUv; varying float outTexId; varying vec2 outPosition; varying float outTintEffect; diff --git a/src/pipelines/sprite.ts b/src/pipelines/sprite.ts index d97cae1662b..0aa9409617a 100644 --- a/src/pipelines/sprite.ts +++ b/src/pipelines/sprite.ts @@ -101,7 +101,7 @@ export default class SpritePipeline extends FieldSpritePipeline { flatSpriteColors.splice( flatSpriteColors.length, 0, - ...(c < spriteColors.length ? spriteColors[c] : emptyColors), + ...(c < spriteColors.length ? spriteColors[c].map(x => x / 255.0) : emptyColors), ); flatFusionSpriteColors.splice( flatFusionSpriteColors.length, @@ -110,7 +110,7 @@ export default class SpritePipeline extends FieldSpritePipeline { ); } - this.set4iv("spriteColors", flatSpriteColors.flat()); + this.set4fv("spriteColors", flatSpriteColors.flat()); this.set4iv("fusionSpriteColors", flatFusionSpriteColors.flat()); } } @@ -146,7 +146,7 @@ export default class SpritePipeline extends FieldSpritePipeline { if (c < baseColors.length) { const baseColor = Array.from(Object.values(rgbHexToRgba(baseColors[c]))); const variantColor = Array.from(Object.values(rgbHexToRgba(variantColors[variant][baseColors[c]]))); - flatBaseColors.splice(flatBaseColors.length, 0, ...baseColor); + flatBaseColors.splice(flatBaseColors.length, 0, ...baseColor.map(c => c / 255.0)); flatVariantColors.splice(flatVariantColors.length, 0, ...variantColor.map(c => c / 255.0)); } else { flatBaseColors.splice(flatBaseColors.length, 0, ...emptyColors); @@ -160,7 +160,7 @@ export default class SpritePipeline extends FieldSpritePipeline { } } - this.set4iv("baseVariantColors", flatBaseColors.flat()); + this.set4fv("baseVariantColors", flatBaseColors.flat()); this.set4fv("variantColors", flatVariantColors.flat()); } diff --git a/src/utils.ts b/src/utils.ts index 2f05e2724ff..ce9966c0d7f 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -405,8 +405,11 @@ export function deltaRgb(rgb1: number[], rgb2: number[]): number { return Math.ceil(Math.sqrt(2 * drp2 + 4 * dgp2 + 3 * dbp2 + (t * (drp2 - dbp2)) / 256)); } +// Extract out the rgb values from a hex string +const hexRegex = /^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i; + export function rgbHexToRgba(hex: string) { - const color = hex.match(/^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i) ?? ["000000", "00", "00", "00"]; + const color = hex.match(hexRegex) ?? ["000000", "00", "00", "00"]; return { r: Number.parseInt(color[1], 16), g: Number.parseInt(color[2], 16), From 82cd492117cf9a5c92d7b65322fcf34deac98a5a Mon Sep 17 00:00:00 2001 From: Lylian BALL <131535108+PyGaVS@users.noreply.github.com> Date: Fri, 18 Apr 2025 11:33:28 +0200 Subject: [PATCH 035/102] [Bug] Pokemon with illusion imitate the cry of the illusion (#5675) --- src/field/pokemon.ts | 9 ++++----- test/abilities/illusion.test.ts | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 5ae7d227b3c..27c4edea297 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1107,7 +1107,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { */ getSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { const species: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? getPokemonSpecies(this.summonData?.illusion.species) : this.species; - const formIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; if (!ignoreOverride && this.summonData?.speciesForm) { @@ -5282,13 +5281,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sceneOverride?: BattleScene, ): AnySound { const scene = sceneOverride ?? globalScene; // TODO: is `sceneOverride` needed? - const cry = this.getSpeciesForm().cry(soundConfig); + const cry = this.getSpeciesForm(undefined, true).cry(soundConfig); let duration = cry.totalDuration * 1000; if ( this.fusionSpecies && - this.getSpeciesForm() !== this.getFusionSpeciesForm() + this.getSpeciesForm(undefined, true) !== this.getFusionSpeciesForm(undefined, true) ) { - let fusionCry = this.getFusionSpeciesForm().cry(soundConfig, true); + let fusionCry = this.getFusionSpeciesForm(undefined, true).cry(soundConfig, true); duration = Math.min(duration, fusionCry.totalDuration * 1000); fusionCry.destroy(); scene.time.delayedCall(fixedInt(Math.ceil(duration * 0.4)), () => { @@ -5298,7 +5297,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { cry, fixedInt(Math.ceil(duration * 0.2)), ); - fusionCry = this.getFusionSpeciesForm().cry( + fusionCry = this.getFusionSpeciesForm(undefined, true).cry( Object.assign( { seek: Math.max(fusionCry.totalDuration * 0.4, 0) }, soundConfig, diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index aa77aa701b2..bdb235f458b 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -7,6 +7,7 @@ import { Moves } from "#enums/moves"; import { Abilities } from "#enums/abilities"; import { PokeballType } from "#app/enums/pokeball"; import { Gender } from "#app/data/gender"; +import { BerryPhase } from "#app/phases/berry-phase"; describe("Abilities - Illusion", () => { let phaserGame: Phaser.Game; @@ -66,7 +67,7 @@ describe("Abilities - Illusion", () => { expect(!!zorua.summonData?.illusion).equals(false); }); - it("break if the ability is suppressed", async () => { + it("break with neutralizing gas", async () => { game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); await game.classicMode.startBattle([Species.KOFFING]); From 54ce58411b18781acd32c41b7631c66c14000bfc Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Fri, 18 Apr 2025 04:35:46 -0500 Subject: [PATCH 036/102] [Bug] Fix forced switch bugs in enemy partner trainer battles (#5644) * Add isPartner method to trainer class * Ensure force switches cannot pull pokemon from the wrong trainer * Add override for battle type * Fixup tests and broken assumptions * Make move fail override semi-invuln check Bandaid fix because move effect phase does not allow for the move to fail if all of its conditions fail * Restore overrides * Apply kev's suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Fix illusion test battle type invocation * Update struggle and healer tests to use battleStyle --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/battle-scene.ts | 33 ++-- src/battle.ts | 8 +- src/data/abilities/ability.ts | 8 +- src/data/challenge.ts | 3 +- src/data/moves/move.ts | 45 +++--- .../utils/encounter-phase-utils.ts | 3 +- src/enums/battle-type.ts | 6 + src/field/trainer.ts | 7 + src/overrides.ts | 28 +++- src/phases/command-phase.ts | 2 +- src/phases/encounter-phase.ts | 3 +- src/phases/faint-phase.ts | 2 +- src/phases/game-over-phase.ts | 2 +- src/phases/summon-phase.ts | 2 +- src/phases/title-phase.ts | 2 +- src/phases/victory-phase.ts | 3 +- src/system/game-data.ts | 2 +- src/system/pokemon-data.ts | 2 +- src/ui/fight-ui-handler.ts | 2 +- src/ui/run-history-ui-handler.ts | 2 +- src/ui/run-info-ui-handler.ts | 2 +- test/abilities/ability_duplication.test.ts | 2 +- test/abilities/ability_timing.test.ts | 2 +- test/abilities/analytic.test.ts | 4 +- test/abilities/arena_trap.test.ts | 4 +- test/abilities/aroma_veil.test.ts | 2 +- test/abilities/aura_break.test.ts | 2 +- test/abilities/battery.test.ts | 2 +- test/abilities/battle_bond.test.ts | 2 +- test/abilities/beast_boost.test.ts | 2 +- test/abilities/commander.test.ts | 2 +- test/abilities/competitive.test.ts | 2 +- test/abilities/contrary.test.ts | 2 +- test/abilities/corrosion.test.ts | 2 +- test/abilities/costar.test.ts | 2 +- test/abilities/dancer.test.ts | 2 +- test/abilities/defiant.test.ts | 2 +- test/abilities/desolate-land.test.ts | 8 +- test/abilities/disguise.test.ts | 2 +- test/abilities/dry_skin.test.ts | 2 +- test/abilities/early_bird.test.ts | 2 +- test/abilities/flash_fire.test.ts | 2 +- test/abilities/flower_gift.test.ts | 4 +- test/abilities/flower_veil.test.ts | 14 +- test/abilities/forecast.test.ts | 2 +- test/abilities/friend_guard.test.ts | 2 +- test/abilities/galvanize.test.ts | 2 +- test/abilities/good_as_gold.test.ts | 12 +- test/abilities/gorilla_tactics.test.ts | 2 +- test/abilities/gulp_missile.test.ts | 2 +- test/abilities/healer.test.ts | 2 +- test/abilities/heatproof.test.ts | 2 +- test/abilities/honey_gather.test.ts | 2 +- test/abilities/hustle.test.ts | 2 +- test/abilities/hyper_cutter.test.ts | 2 +- test/abilities/ice_face.test.ts | 2 +- test/abilities/illuminate.test.ts | 2 +- test/abilities/illusion.test.ts | 2 +- test/abilities/immunity.test.ts | 12 +- test/abilities/imposter.test.ts | 2 +- test/abilities/infiltrator.test.ts | 2 +- test/abilities/insomnia.test.ts | 12 +- test/abilities/intimidate.test.ts | 4 +- test/abilities/intrepid_sword.test.ts | 2 +- test/abilities/libero.test.ts | 2 +- test/abilities/lightningrod.test.ts | 2 +- test/abilities/limber.test.ts | 12 +- test/abilities/magic_bounce.test.ts | 12 +- test/abilities/magma_armor.test.ts | 12 +- test/abilities/mimicry.test.ts | 2 +- test/abilities/mirror_armor.test.ts | 10 +- test/abilities/mold_breaker.test.ts | 13 +- test/abilities/moody.test.ts | 2 +- test/abilities/moxie.test.ts | 4 +- test/abilities/mummy.test.ts | 2 +- test/abilities/mycelium_might.test.ts | 2 +- test/abilities/neutralizing_gas.test.ts | 8 +- test/abilities/no_guard.test.ts | 2 +- test/abilities/oblivious.test.ts | 20 +-- test/abilities/own_tempo.test.ts | 12 +- test/abilities/parental_bond.test.ts | 4 +- test/abilities/pastel_veil.test.ts | 2 +- test/abilities/perish_body.test.ts | 2 +- test/abilities/power_construct.test.ts | 2 +- test/abilities/power_spot.test.ts | 2 +- test/abilities/protean.test.ts | 2 +- test/abilities/protosynthesis.test.ts | 2 +- test/abilities/quick_draw.test.ts | 2 +- test/abilities/sand_spit.test.ts | 2 +- test/abilities/sand_veil.test.ts | 2 +- test/abilities/sap_sipper.test.ts | 2 +- test/abilities/schooling.test.ts | 2 +- test/abilities/screen_cleaner.test.ts | 2 +- test/abilities/seed_sower.test.ts | 2 +- test/abilities/serene_grace.test.ts | 2 +- test/abilities/sheer_force.test.ts | 2 +- test/abilities/shield_dust.test.ts | 2 +- test/abilities/shields_down.test.ts | 2 +- test/abilities/simple.test.ts | 2 +- test/abilities/speed_boost.test.ts | 2 +- test/abilities/stakeout.test.ts | 2 +- test/abilities/stall.test.ts | 2 +- test/abilities/steely_spirit.test.ts | 2 +- test/abilities/storm_drain.test.ts | 2 +- test/abilities/sturdy.test.ts | 2 +- test/abilities/super_luck.test.ts | 2 +- test/abilities/supreme_overlord.test.ts | 2 +- test/abilities/sweet_veil.test.ts | 2 +- test/abilities/synchronize.test.ts | 2 +- test/abilities/tera_shell.test.ts | 2 +- test/abilities/thermal_exchange.test.ts | 12 +- test/abilities/trace.test.ts | 2 +- test/abilities/unburden.test.ts | 6 +- test/abilities/unseen_fist.test.ts | 2 +- test/abilities/victory_star.test.ts | 2 +- test/abilities/vital_spirit.test.ts | 12 +- test/abilities/volt_absorb.test.ts | 2 +- test/abilities/wandering_spirit.test.ts | 2 +- test/abilities/water_bubble.test.ts | 12 +- test/abilities/water_veil.test.ts | 12 +- test/abilities/wimp_out.test.ts | 15 +- test/abilities/wind_power.test.ts | 2 +- test/abilities/wind_rider.test.ts | 2 +- test/abilities/wonder_skin.test.ts | 2 +- test/abilities/zen_mode.test.ts | 2 +- test/abilities/zero_to_hero.test.ts | 2 +- test/arena/arena_gravity.test.ts | 2 +- test/arena/grassy_terrain.test.ts | 2 +- test/arena/weather_fog.test.ts | 2 +- test/arena/weather_hail.test.ts | 2 +- test/arena/weather_sandstorm.test.ts | 4 +- test/arena/weather_strong_winds.test.ts | 2 +- test/battle/ability_swap.test.ts | 2 +- test/battle/battle-order.test.ts | 8 +- test/battle/battle.test.ts | 20 +-- test/battle/damage_calculation.test.ts | 2 +- test/battle/double_battle.test.ts | 2 +- test/battle/inverse_battle.test.ts | 2 +- test/battle/special_battle.test.ts | 18 +-- test/boss-pokemon.test.ts | 8 +- test/daily_mode.test.ts | 2 +- test/data/status_effect.test.ts | 4 +- test/escape-calculations.test.ts | 6 +- test/evolution.test.ts | 2 +- test/items/dire_hit.test.ts | 2 +- test/items/eviolite.test.ts | 2 +- test/items/exp_booster.test.ts | 2 +- test/items/grip_claw.test.ts | 4 +- test/items/leek.test.ts | 2 +- test/items/leftovers.test.ts | 2 +- test/items/light_ball.test.ts | 2 +- test/items/lock_capsule.test.ts | 2 +- test/items/metal_powder.test.ts | 2 +- test/items/multi_lens.test.ts | 6 +- test/items/mystical_rock.test.ts | 2 +- test/items/quick_powder.test.ts | 2 +- test/items/reviver_seed.test.ts | 2 +- test/items/scope_lens.test.ts | 2 +- test/items/temp_stat_stage_booster.test.ts | 2 +- test/items/thick_club.test.ts | 2 +- test/items/toxic_orb.test.ts | 2 +- test/moves/after_you.test.ts | 2 +- test/moves/alluring_voice.test.ts | 2 +- test/moves/aromatherapy.test.ts | 2 +- test/moves/assist.test.ts | 2 +- test/moves/astonish.test.ts | 2 +- test/moves/aurora_veil.test.ts | 6 +- test/moves/autotomize.test.ts | 2 +- test/moves/baddy_bad.test.ts | 2 +- test/moves/baneful_bunker.test.ts | 2 +- test/moves/baton_pass.test.ts | 2 +- test/moves/beak_blast.test.ts | 2 +- test/moves/beat_up.test.ts | 2 +- test/moves/burning_jealousy.test.ts | 4 +- test/moves/camouflage.test.ts | 2 +- test/moves/ceaseless_edge.test.ts | 2 +- test/moves/chilly_reception.test.ts | 6 +- test/moves/chloroblast.test.ts | 2 +- test/moves/copycat.test.ts | 2 +- test/moves/crafty_shield.test.ts | 2 +- test/moves/defog.test.ts | 2 +- test/moves/destiny_bond.test.ts | 6 +- test/moves/diamond_storm.test.ts | 4 +- test/moves/dig.test.ts | 2 +- test/moves/disable.test.ts | 2 +- test/moves/dive.test.ts | 2 +- test/moves/doodle.test.ts | 6 +- test/moves/double_team.test.ts | 2 +- test/moves/dragon_cheer.test.ts | 2 +- test/moves/dragon_rage.test.ts | 2 +- test/moves/dragon_tail.test.ts | 6 +- test/moves/dynamax_cannon.test.ts | 2 +- test/moves/electrify.test.ts | 2 +- test/moves/electro_shot.test.ts | 2 +- test/moves/encore.test.ts | 2 +- test/moves/endure.test.ts | 2 +- test/moves/entrainment.test.ts | 2 +- test/moves/fairy_lock.test.ts | 2 +- test/moves/fake_out.test.ts | 2 +- test/moves/false_swipe.test.ts | 2 +- test/moves/fell_stinger.test.ts | 8 +- test/moves/fissure.test.ts | 2 +- test/moves/flame_burst.test.ts | 2 +- test/moves/flower_shield.test.ts | 4 +- test/moves/fly.test.ts | 2 +- test/moves/focus_punch.test.ts | 2 +- test/moves/follow_me.test.ts | 2 +- test/moves/forests_curse.test.ts | 2 +- test/moves/freeze_dry.test.ts | 2 +- test/moves/freezy_frost.test.ts | 4 +- test/moves/fusion_bolt.test.ts | 2 +- test/moves/fusion_flare.test.ts | 2 +- test/moves/fusion_flare_bolt.test.ts | 2 +- test/moves/future_sight.test.ts | 2 +- test/moves/gastro_acid.test.ts | 4 +- test/moves/geomancy.test.ts | 2 +- test/moves/gigaton_hammer.test.ts | 2 +- test/moves/glaive_rush.test.ts | 2 +- test/moves/growth.test.ts | 2 +- test/moves/grudge.test.ts | 2 +- test/moves/guard_split.test.ts | 2 +- test/moves/guard_swap.test.ts | 2 +- test/moves/hard_press.test.ts | 2 +- test/moves/haze.test.ts | 2 +- test/moves/heal_bell.test.ts | 2 +- test/moves/heart_swap.test.ts | 2 +- test/moves/hyper_beam.test.ts | 2 +- test/moves/imprison.test.ts | 2 +- test/moves/instruct.test.ts | 22 +-- test/moves/jaw_lock.test.ts | 4 +- test/moves/lash_out.test.ts | 2 +- test/moves/last_respects.test.ts | 2 +- test/moves/light_screen.test.ts | 4 +- test/moves/lucky_chant.test.ts | 4 +- test/moves/lunar_blessing.test.ts | 2 +- test/moves/lunar_dance.test.ts | 2 +- test/moves/magic_coat.test.ts | 12 +- test/moves/magnet_rise.test.ts | 2 +- test/moves/make_it_rain.test.ts | 4 +- test/moves/mat_block.test.ts | 2 +- test/moves/metal_burst.test.ts | 2 +- test/moves/metronome.test.ts | 4 +- test/moves/mirror_move.test.ts | 4 +- test/moves/mist.test.ts | 2 +- test/moves/moongeist_beam.test.ts | 2 +- test/moves/multi_target.test.ts | 2 +- test/moves/nightmare.test.ts | 2 +- test/moves/obstruct.test.ts | 2 +- test/moves/octolock.test.ts | 2 +- test/moves/order_up.test.ts | 2 +- test/moves/parting_shot.test.ts | 2 +- test/moves/plasma_fists.test.ts | 6 +- test/moves/pledge_moves.test.ts | 4 +- test/moves/pollen_puff.test.ts | 4 +- test/moves/powder.test.ts | 10 +- test/moves/power_shift.test.ts | 2 +- test/moves/power_split.test.ts | 2 +- test/moves/power_swap.test.ts | 2 +- test/moves/power_trick.test.ts | 2 +- test/moves/protect.test.ts | 2 +- test/moves/psycho_shift.test.ts | 2 +- test/moves/purify.test.ts | 2 +- test/moves/quash.test.ts | 2 +- test/moves/quick_guard.test.ts | 4 +- test/moves/rage_fist.test.ts | 2 +- test/moves/rage_powder.test.ts | 2 +- test/moves/reflect.test.ts | 4 +- test/moves/reflect_type.test.ts | 2 +- test/moves/relic_song.test.ts | 2 +- test/moves/retaliate.test.ts | 2 +- test/moves/revival_blessing.test.ts | 6 +- test/moves/role_play.test.ts | 2 +- test/moves/rollout.test.ts | 2 +- test/moves/roost.test.ts | 2 +- test/moves/round.test.ts | 2 +- test/moves/safeguard.test.ts | 4 +- test/moves/scale_shot.test.ts | 2 +- test/moves/secret_power.test.ts | 4 +- test/moves/shed_tail.test.ts | 2 +- test/moves/shell_side_arm.test.ts | 2 +- test/moves/shell_trap.test.ts | 4 +- test/moves/simple_beam.test.ts | 2 +- test/moves/sketch.test.ts | 2 +- test/moves/skill_swap.test.ts | 2 +- test/moves/sleep_talk.test.ts | 2 +- test/moves/solar_beam.test.ts | 2 +- test/moves/sparkly_swirl.test.ts | 4 +- test/moves/speed_swap.test.ts | 2 +- test/moves/spikes.test.ts | 4 +- test/moves/spit_up.test.ts | 2 +- test/moves/spotlight.test.ts | 2 +- test/moves/steamroller.test.ts | 2 +- test/moves/stockpile.test.ts | 2 +- test/moves/struggle.test.ts | 2 +- test/moves/substitute.test.ts | 2 +- test/moves/swallow.test.ts | 2 +- test/moves/syrup_bomb.test.ts | 2 +- test/moves/tackle.test.ts | 2 +- test/moves/tail_whip.test.ts | 2 +- test/moves/tailwind.test.ts | 6 +- test/moves/tar_shot.test.ts | 2 +- test/moves/taunt.test.ts | 2 +- test/moves/telekinesis.test.ts | 2 +- test/moves/tera_blast.test.ts | 2 +- test/moves/tera_starstorm.test.ts | 4 +- test/moves/thousand_arrows.test.ts | 2 +- test/moves/throat_chop.test.ts | 2 +- test/moves/thunder_wave.test.ts | 2 +- test/moves/tidy_up.test.ts | 2 +- test/moves/torment.test.ts | 2 +- test/moves/toxic.test.ts | 2 +- test/moves/toxic_spikes.test.ts | 2 +- test/moves/transform.test.ts | 2 +- test/moves/trick_or_treat.test.ts | 2 +- test/moves/triple_arrows.test.ts | 2 +- test/moves/u_turn.test.ts | 2 +- test/moves/upper_hand.test.ts | 2 +- test/moves/whirlwind.test.ts | 66 +++++++- test/moves/wide_guard.test.ts | 2 +- test/moves/will_o_wisp.test.ts | 2 +- test/phases/form-change-phase.test.ts | 2 +- test/phases/frenzy-move-reset.test.ts | 2 +- test/phases/game-over-phase.test.ts | 2 +- test/reload.test.ts | 12 +- test/system/game_data.test.ts | 2 +- test/testUtils/gameManagerUtils.ts | 3 +- test/testUtils/helpers/overridesHelper.ts | 147 +++++++++++------- test/ui/battle_info.test.ts | 2 +- test/ui/transfer-item.test.ts | 2 +- test/ui/type-hints.test.ts | 4 +- 330 files changed, 757 insertions(+), 628 deletions(-) create mode 100644 src/enums/battle-type.ts diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 90f53d6a95e..0fe4c7f7e4f 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -77,7 +77,8 @@ import { } from "#app/data/abilities/ability"; import { allAbilities } from "./data/data-lists"; import type { FixedBattleConfig } from "#app/battle"; -import Battle, { BattleType } from "#app/battle"; +import Battle from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import type { GameMode } from "#app/game-mode"; import { GameModes, getGameMode } from "#app/game-mode"; import FieldSpritePipeline from "#app/pipelines/field-sprite"; @@ -1338,22 +1339,27 @@ export default class BattleScene extends SceneBase { } else { if ( !this.gameMode.hasTrainers || + Overrides.BATTLE_TYPE_OVERRIDE === BattleType.WILD || (Overrides.DISABLE_STANDARD_TRAINERS_OVERRIDE && isNullOrUndefined(trainerData)) ) { newBattleType = BattleType.WILD; - } else if (battleType === undefined) { - newBattleType = this.gameMode.isWaveTrainer(newWaveIndex, this.arena) ? BattleType.TRAINER : BattleType.WILD; } else { - newBattleType = battleType; + newBattleType = + Overrides.BATTLE_TYPE_OVERRIDE ?? + battleType ?? + (this.gameMode.isWaveTrainer(newWaveIndex, this.arena) ? BattleType.TRAINER : BattleType.WILD); } if (newBattleType === BattleType.TRAINER) { - const trainerType = this.arena.randomTrainerType(newWaveIndex); + const trainerType = + Overrides.RANDOM_TRAINER_OVERRIDE?.trainerType ?? this.arena.randomTrainerType(newWaveIndex); let doubleTrainer = false; if (trainerConfigs[trainerType].doubleOnly) { doubleTrainer = true; } else if (trainerConfigs[trainerType].hasDouble) { - doubleTrainer = !randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); + doubleTrainer = + Overrides.RANDOM_TRAINER_OVERRIDE?.alwaysDouble || + !randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); // Add a check that special trainers can't be double except for tate and liza - they should use the normal double chance if ( trainerConfigs[trainerType].trainerTypeDouble && @@ -1373,7 +1379,10 @@ export default class BattleScene extends SceneBase { // Check for mystery encounter // Can only occur in place of a standard (non-boss) wild battle, waves 10-180 - if (this.isWaveMysteryEncounter(newBattleType, newWaveIndex) || newBattleType === BattleType.MYSTERY_ENCOUNTER) { + if ( + !Overrides.BATTLE_TYPE_OVERRIDE && + (this.isWaveMysteryEncounter(newBattleType, newWaveIndex) || newBattleType === BattleType.MYSTERY_ENCOUNTER) + ) { newBattleType = BattleType.MYSTERY_ENCOUNTER; // Reset to base spawn weight this.mysteryEncounterSaveData.encounterSpawnChance = BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT; @@ -1383,9 +1392,9 @@ export default class BattleScene extends SceneBase { if (double === undefined && newWaveIndex > 1) { if (newBattleType === BattleType.WILD && !this.gameMode.isWaveFinal(newWaveIndex)) { newDouble = !randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); - } else if (newBattleType === BattleType.TRAINER) { - newDouble = newTrainer?.variant === TrainerVariant.DOUBLE; } + } else if (double === undefined && newBattleType === BattleType.TRAINER) { + newDouble = newTrainer?.variant === TrainerVariant.DOUBLE; } else if (!battleConfig) { newDouble = !!double; } @@ -1395,10 +1404,10 @@ export default class BattleScene extends SceneBase { newDouble = false; } - if (!isNullOrUndefined(Overrides.BATTLE_TYPE_OVERRIDE)) { + if (!isNullOrUndefined(Overrides.BATTLE_STYLE_OVERRIDE)) { let doubleOverrideForWave: "single" | "double" | null = null; - switch (Overrides.BATTLE_TYPE_OVERRIDE) { + switch (Overrides.BATTLE_STYLE_OVERRIDE) { case "double": doubleOverrideForWave = "double"; break; @@ -1418,7 +1427,7 @@ export default class BattleScene extends SceneBase { } /** * Override battles into single only if not fighting with trainers. - * @see {@link https://github.com/pagefaultgames/pokerogue/issues/1948 | GitHub Issue #1948} + * @see {@link https://github.com/pagefaultgames/pokerogue/issues/1948 GitHub Issue #1948} */ if (newBattleType !== BattleType.TRAINER && doubleOverrideForWave === "single") { newDouble = false; diff --git a/src/battle.ts b/src/battle.ts index fb5af223b8f..3e2f293065a 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -30,6 +30,7 @@ import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; import { ModifierTier } from "#app/modifier/modifier-tier"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; +import { BattleType } from "#enums/battle-type"; export enum ClassicFixedBossWaves { TOWN_YOUNGSTER = 5, @@ -54,13 +55,6 @@ export enum ClassicFixedBossWaves { RIVAL_6 = 195, } -export enum BattleType { - WILD, - TRAINER, - CLEAR, - MYSTERY_ENCOUNTER, -} - export enum BattlerIndex { ATTACKER = -1, PLAYER, diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 6cbb579d4e0..a3bd9b728f5 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -30,7 +30,7 @@ import i18next from "i18next"; import { Command } from "#app/ui/command-ui-handler"; import { BerryModifierType } from "#app/modifier/modifier-type"; import { getPokeballName } from "#app/data/pokeball"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { MovePhase } from "#app/phases/move-phase"; import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; @@ -44,6 +44,7 @@ import { PokemonTransformPhase } from "#app/phases/pokemon-transform-phase"; import { allAbilities } from "#app/data/data-lists"; import { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; import { Ability } from "#app/data/abilities/ability-class"; +import { TrainerVariant } from "#app/field/trainer"; // Enum imports import { Stat, type BattleStat , BATTLE_STATS, EFFECTIVE_STATS, getStatKey, type EffectiveStat } from "#enums/stat"; @@ -61,6 +62,7 @@ import { MoveFlags } from "#enums/MoveFlags"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; + // Type imports import type { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; @@ -5526,8 +5528,8 @@ class ForceSwitchOutHelper { const party = player ? globalScene.getPlayerParty() : globalScene.getEnemyParty(); return (!player && globalScene.currentBattle.battleType === BattleType.WILD) - || party.filter(p => p.isAllowedInBattle() - && (player || (p as EnemyPokemon).trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)).length > globalScene.currentBattle.getBattlerCount(); + || party.filter(p => p.isAllowedInBattle() && !p.isOnField() + && (player || (p as EnemyPokemon).trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)).length > 0; } /** diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 51616c3f00f..cc5783ad1fb 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -8,7 +8,8 @@ import { speciesStarterCosts } from "#app/data/balance/starters"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import type { FixedBattleConfig } from "#app/battle"; -import { ClassicFixedBossWaves, BattleType, getRandomTrainerFunc } from "#app/battle"; +import { ClassicFixedBossWaves, getRandomTrainerFunc } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import Trainer, { TrainerVariant } from "#app/field/trainer"; import { PokemonType } from "#enums/pokemon-type"; import { Challenges } from "#enums/challenges"; diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index c2dd0ec31ca..6e5e09839c1 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -75,7 +75,7 @@ import { PreserveBerryModifier, } from "../../modifier/modifier"; import type { BattlerIndex } from "../../battle"; -import { BattleType } from "../../battle"; +import { BattleType } from "#enums/battle-type"; import { TerrainType } from "../terrain"; import { ModifierPoolType } from "#app/modifier/modifier-type"; import { Command } from "../../ui/command-ui-handler"; @@ -121,6 +121,7 @@ import { MoveFlags } from "#enums/MoveFlags"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; +import { TrainerVariant } from "#app/field/trainer"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean; @@ -6295,9 +6296,10 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { return false; } else if (globalScene.currentBattle.battleType !== BattleType.WILD) { // Switch out logic for enemy trainers // Find indices of off-field Pokemon that are eligible to be switched into + const isPartnerTrainer = globalScene.currentBattle.trainer?.isPartner(); const eligibleNewIndices: number[] = []; globalScene.getEnemyParty().forEach((pokemon, index) => { - if (pokemon.isAllowedInBattle() && !pokemon.isOnField()) { + if (pokemon.isAllowedInBattle() && !pokemon.isOnField() && (!isPartnerTrainer || pokemon.trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)) { eligibleNewIndices.push(index); } }); @@ -6347,15 +6349,6 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { } } - if (globalScene.currentBattle.waveIndex % 10 === 0) { - return false; - } - - // Don't allow wild mons to flee with U-turn et al. - if (this.selfSwitch && !user.isPlayer() && move.category !== MoveCategory.STATUS) { - return false; - } - const allyPokemon = switchOutTarget.getAlly(); if (switchOutTarget.hp > 0) { @@ -6368,13 +6361,12 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { } } - if (!allyPokemon?.isActive(true)) { - globalScene.clearEnemyHeldItemModifiers(); + // clear out enemy held item modifiers of the switch out target + globalScene.clearEnemyHeldItemModifiers(switchOutTarget); - if (switchOutTarget.hp) { + if (!allyPokemon?.isActive(true) && switchOutTarget.hp) { globalScene.pushPhase(new BattleEndPhase(false)); globalScene.pushPhase(new NewBattlePhase()); - } } } @@ -6393,6 +6385,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { } } + getSwitchOutCondition(): MoveConditionFunc { return (user, target, move) => { const switchOutTarget = (this.selfSwitch ? user : target); @@ -6416,23 +6409,23 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { const blockedByAbility = new BooleanHolder(false); applyAbAttrs(ForceSwitchOutImmunityAbAttr, target, blockedByAbility); - return !blockedByAbility.value; + if (blockedByAbility.value) { + return false; + } } + if (!player && globalScene.currentBattle.battleType === BattleType.WILD) { - if (this.isBatonPass()) { - return false; - } - // Don't allow wild opponents to flee on the boss stage since it can ruin a run early on - if (globalScene.currentBattle.waveIndex % 10 === 0) { - return false; - } + // wild pokemon cannot switch out with baton pass. + return !this.isBatonPass() + && globalScene.currentBattle.waveIndex % 10 !== 0 + // Don't allow wild mons to flee with U-turn et al. + && !(this.selfSwitch && MoveCategory.STATUS !== move.category); } const party = player ? globalScene.getPlayerParty() : globalScene.getEnemyParty(); - return (!player && !globalScene.currentBattle.battleType) - || party.filter(p => p.isAllowedInBattle() - && (player || (p as EnemyPokemon).trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)).length > globalScene.currentBattle.getBattlerCount(); + return party.filter(p => p.isAllowedInBattle() && !p.isOnField() + && (player || (p as EnemyPokemon).trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)).length > 0; }; } diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index a9f6b787878..69b0d81520a 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -1,5 +1,6 @@ import type Battle from "#app/battle"; -import { BattlerIndex, BattleType } from "#app/battle"; +import { BattlerIndex } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { biomeLinks, BiomePoolTier } from "#app/data/balance/biomes"; import type MysteryEncounterOption from "#app/data/mystery-encounters/mystery-encounter-option"; import { diff --git a/src/enums/battle-type.ts b/src/enums/battle-type.ts new file mode 100644 index 00000000000..81cf89ef488 --- /dev/null +++ b/src/enums/battle-type.ts @@ -0,0 +1,6 @@ +export enum BattleType { + WILD, + TRAINER, + CLEAR, + MYSTERY_ENCOUNTER +} diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 30cf43b54a1..1679e6f12e0 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -223,6 +223,13 @@ export default class Trainer extends Phaser.GameObjects.Container { return this.config.doubleOnly || this.variant === TrainerVariant.DOUBLE; } + /** + * Return whether the trainer is a duo, like Tate & Liza + */ + isPartner(): boolean { + return this.variant === TrainerVariant.DOUBLE; + } + getMixedBattleBgm(): string { return this.config.mixedBattleBgm; } diff --git a/src/overrides.ts b/src/overrides.ts index 21c72cd7b98..d36cfbfac98 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -15,11 +15,13 @@ import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PokeballType } from "#enums/pokeball"; import { PokemonType } from "#enums/pokemon-type"; import { Species } from "#enums/species"; -import { Stat } from "#enums/stat"; +import { BATTLE_STATS, Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { TimeOfDay } from "#enums/time-of-day"; import { VariantTier } from "#enums/variant-tier"; import { WeatherType } from "#enums/weather-type"; +import { TrainerType } from "#enums/trainer-type"; +import { BattleType } from "#enums/battle-type"; /** * This comment block exists to prevent IDEs from automatically removing unused imports @@ -41,7 +43,7 @@ import { WeatherType } from "#enums/weather-type"; * } * ``` */ -const overrides = {} satisfies Partial>; +const overrides = {} satisfies Partial>; /** * If you need to add Overrides values for local testing do that inside {@linkcode overrides} @@ -69,7 +71,7 @@ class DefaultOverrides { * * If `"odd-doubles"`, follow the `"double"` rule on odd wave numbers, and follow the `"single"` rule on even wave numbers. */ - readonly BATTLE_TYPE_OVERRIDE: BattleStyle | null = null; + readonly BATTLE_STYLE_OVERRIDE: BattleStyle | null = null; readonly STARTING_WAVE_OVERRIDE: number = 0; readonly STARTING_BIOME_OVERRIDE: Biome = Biome.TOWN; readonly ARENA_TINT_OVERRIDE: TimeOfDay | null = null; @@ -259,6 +261,16 @@ class DefaultOverrides { * If `true`, disable all non-scripted opponent trainer encounters. */ readonly DISABLE_STANDARD_TRAINERS_OVERRIDE: boolean = false; + + /** + * Set all non-scripted waves to use the selected battle type. + * + * Ignored if set to {@linkcode BattleType.TRAINER} and `DISABLE_STANDARD_TRAINERS_OVERRIDE` is `true`. + */ + readonly BATTLE_TYPE_OVERRIDE: Exclude | null = null; + + /** Force all random trainer types to be the provided type. */ + readonly RANDOM_TRAINER_OVERRIDE: RandomTrainerOverride | null = null; } export const defaultOverrides = new DefaultOverrides(); @@ -269,3 +281,13 @@ export default { } satisfies InstanceType; export type BattleStyle = "double" | "single" | "even-doubles" | "odd-doubles"; + +export type RandomTrainerOverride = { + /** The Type of trainer to force */ + trainerType: Exclude, + /* If the selected trainer type has a double version, it will always use its double version. */ + alwaysDouble?: boolean +} + +/** The type of the {@linkcode DefaultOverrides} class */ +export type OverridesType = typeof DefaultOverrides; \ No newline at end of file diff --git a/src/phases/command-phase.ts b/src/phases/command-phase.ts index 8691ac453ca..30343f92aa3 100644 --- a/src/phases/command-phase.ts +++ b/src/phases/command-phase.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import type { TurnCommand } from "#app/battle"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import type { EncoreTag } from "#app/data/battler-tags"; import { TrappedTag } from "#app/data/battler-tags"; import type { MoveTargetSet } from "#app/data/moves/move"; diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 67236c1c041..c196608f91e 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -1,4 +1,5 @@ -import { BattlerIndex, BattleType } from "#app/battle"; +import { BattlerIndex } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/abilities/ability"; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index d1856c9331c..2719206a6cc 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -1,5 +1,5 @@ import type { BattlerIndex } from "#app/battle"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import { applyPostFaintAbAttrs, diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index 1ccdc9c7106..9e79eafe88b 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -1,5 +1,5 @@ import { clientSessionId } from "#app/account"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { getCharVariantFromDialogue } from "#app/data/dialogue"; diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index 60d45f19c0c..ee27fc28247 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -1,4 +1,4 @@ -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { getPokeballAtlasKey, getPokeballTintColor } from "#app/data/pokeball"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { TrainerSlot } from "#enums/trainer-slot"; diff --git a/src/phases/title-phase.ts b/src/phases/title-phase.ts index 108366d4774..bc1b157e98e 100644 --- a/src/phases/title-phase.ts +++ b/src/phases/title-phase.ts @@ -1,5 +1,5 @@ import { loggedInUser } from "#app/account"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import { fetchDailyRunSeed, getDailyRunStarters } from "#app/data/daily-run"; import { Gender } from "#app/data/gender"; import { getBiomeKey } from "#app/field/arena"; diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index 9f4412fe270..17b29f654e2 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -1,5 +1,6 @@ import type { BattlerIndex } from "#app/battle"; -import { BattleType, ClassicFixedBossWaves } from "#app/battle"; +import { ClassicFixedBossWaves } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { BattleEndPhase } from "./battle-end-phase"; diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 53146301666..698299845a3 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -15,7 +15,7 @@ import PersistentModifierData from "#app/system/modifier-data"; import ArenaData from "#app/system/arena-data"; import { Unlockables } from "#app/system/unlockables"; import { GameModes, getGameMode } from "#app/game-mode"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import TrainerData from "#app/system/trainer-data"; import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { resetSettings, setSetting, SettingKeys } from "#app/system/settings/settings"; diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 97ce494a43a..00baad8cf12 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -1,4 +1,4 @@ -import { BattleType } from "../battle"; +import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import type { Gender } from "../data/gender"; import type { Nature } from "#enums/nature"; diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 27985629e3d..285a1dd36cc 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -14,7 +14,7 @@ import type { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import type { CommandPhase } from "#app/phases/command-phase"; import MoveInfoOverlay from "./move-info-overlay"; -import { BattleType } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; export default class FightUiHandler extends UiHandler implements InfoToggle { public static readonly MOVES_CONTAINER_NAME = "moves"; diff --git a/src/ui/run-history-ui-handler.ts b/src/ui/run-history-ui-handler.ts index ffc9d378d18..16aad7b8634 100644 --- a/src/ui/run-history-ui-handler.ts +++ b/src/ui/run-history-ui-handler.ts @@ -8,7 +8,7 @@ import type PokemonData from "../system/pokemon-data"; import MessageUiHandler from "./message-ui-handler"; import i18next from "i18next"; import { Button } from "../enums/buttons"; -import { BattleType } from "../battle"; +import { BattleType } from "#enums/battle-type"; import type { RunEntry } from "../system/game-data"; import { PlayerGender } from "#enums/player-gender"; import { TrainerVariant } from "../field/trainer"; diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 47de6a1a64d..60667035147 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -9,7 +9,7 @@ import { formatLargeNumber, getPlayTimeString, formatMoney, formatFancyLargeNumb import type PokemonData from "../system/pokemon-data"; import i18next from "i18next"; import { Button } from "../enums/buttons"; -import { BattleType } from "../battle"; +import { BattleType } from "#enums/battle-type"; import { TrainerVariant } from "../field/trainer"; import { Challenges } from "#enums/challenges"; import { getLuckString, getLuckTextTint } from "../modifier/modifier-type"; diff --git a/test/abilities/ability_duplication.test.ts b/test/abilities/ability_duplication.test.ts index 08b74f682f2..de429045bb8 100644 --- a/test/abilities/ability_duplication.test.ts +++ b/test/abilities/ability_duplication.test.ts @@ -24,7 +24,7 @@ describe("Ability Duplication", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .ability(Abilities.HUGE_POWER) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); diff --git a/test/abilities/ability_timing.test.ts b/test/abilities/ability_timing.test.ts index d59c4f7c38d..9df4fe0d1c9 100644 --- a/test/abilities/ability_timing.test.ts +++ b/test/abilities/ability_timing.test.ts @@ -27,7 +27,7 @@ describe("Ability Timing", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.INTIMIDATE) .ability(Abilities.BALL_FETCH); diff --git a/test/abilities/analytic.test.ts b/test/abilities/analytic.test.ts index e488b467ce0..1aadf2c0746 100644 --- a/test/abilities/analytic.test.ts +++ b/test/abilities/analytic.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Analytic", () => { game.override .moveset([Moves.SPLASH, Moves.TACKLE]) .ability(Abilities.ANALYTIC) - .battleType("single") + .battleStyle("single") .disableCrits() .startingLevel(200) .enemyLevel(200) @@ -53,7 +53,7 @@ describe("Abilities - Analytic", () => { }); it("should increase damage only if the user moves last in doubles", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.GENGAR, Species.SHUCKLE]); const [enemy] = game.scene.getEnemyField(); diff --git a/test/abilities/arena_trap.test.ts b/test/abilities/arena_trap.test.ts index 3a5bad9c34b..f37b8a2859f 100644 --- a/test/abilities/arena_trap.test.ts +++ b/test/abilities/arena_trap.test.ts @@ -32,7 +32,7 @@ describe("Abilities - Arena Trap", () => { // TODO: Enable test when Issue #935 is addressed it.todo("should not allow grounded Pokémon to flee", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle(); @@ -61,7 +61,7 @@ describe("Abilities - Arena Trap", () => { */ it("should lift if pokemon with this ability leaves the field", async () => { game.override - .battleType("double") + .battleStyle("double") .enemyMoveset(Moves.SPLASH) .moveset([Moves.ROAR, Moves.SPLASH]) .ability(Abilities.BALL_FETCH); diff --git a/test/abilities/aroma_veil.test.ts b/test/abilities/aroma_veil.test.ts index af8a0233a60..38683bcb1e3 100644 --- a/test/abilities/aroma_veil.test.ts +++ b/test/abilities/aroma_veil.test.ts @@ -25,7 +25,7 @@ describe("Moves - Aroma Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.HEAL_BLOCK, Moves.IMPRISON, Moves.SPLASH]) .enemySpecies(Species.SHUCKLE) diff --git a/test/abilities/aura_break.test.ts b/test/abilities/aura_break.test.ts index 86b6c69ec8b..523a2773c99 100644 --- a/test/abilities/aura_break.test.ts +++ b/test/abilities/aura_break.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Aura Break", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.MOONBLAST, Moves.DARK_PULSE, Moves.MOONBLAST, Moves.DARK_PULSE]); game.override.enemyMoveset(Moves.SPLASH); game.override.enemyAbility(Abilities.AURA_BREAK); diff --git a/test/abilities/battery.test.ts b/test/abilities/battery.test.ts index cc7570c3d31..6a1f77f4b27 100644 --- a/test/abilities/battery.test.ts +++ b/test/abilities/battery.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Battery", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemySpecies(Species.SHUCKLE); game.override.enemyAbility(Abilities.BALL_FETCH); game.override.moveset([Moves.TACKLE, Moves.BREAKING_SWIPE, Moves.SPLASH, Moves.DAZZLING_GLEAM]); diff --git a/test/abilities/battle_bond.test.ts b/test/abilities/battle_bond.test.ts index 6305d7dedc5..d599b3212f9 100644 --- a/test/abilities/battle_bond.test.ts +++ b/test/abilities/battle_bond.test.ts @@ -28,7 +28,7 @@ describe("Abilities - BATTLE BOND", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .startingWave(4) // Leads to arena reset on Wave 5 trainer battle .ability(Abilities.BATTLE_BOND) .starterForms({ [Species.GRENINJA]: ashForm }) diff --git a/test/abilities/beast_boost.test.ts b/test/abilities/beast_boost.test.ts index b307a9eeeba..a6b6ec0aacf 100644 --- a/test/abilities/beast_boost.test.ts +++ b/test/abilities/beast_boost.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Beast Boost", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.BULBASAUR) .enemyAbility(Abilities.BEAST_BOOST) .ability(Abilities.BEAST_BOOST) diff --git a/test/abilities/commander.test.ts b/test/abilities/commander.test.ts index 9d16d474dd4..0e6cb1b9208 100644 --- a/test/abilities/commander.test.ts +++ b/test/abilities/commander.test.ts @@ -34,7 +34,7 @@ describe("Abilities - Commander", () => { .enemyLevel(100) .moveset([Moves.LIQUIDATION, Moves.MEMENTO, Moves.SPLASH, Moves.FLIP_TURN]) .ability(Abilities.COMMANDER) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/competitive.test.ts b/test/abilities/competitive.test.ts index cad35be18f7..1e0b5fcf40e 100644 --- a/test/abilities/competitive.test.ts +++ b/test/abilities/competitive.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Competitive", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.BEEDRILL) .enemyMoveset(Moves.TICKLE) .startingLevel(1) diff --git a/test/abilities/contrary.test.ts b/test/abilities/contrary.test.ts index 19041eb2801..929d620c232 100644 --- a/test/abilities/contrary.test.ts +++ b/test/abilities/contrary.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Contrary", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.BULBASAUR) .enemyAbility(Abilities.CONTRARY) .ability(Abilities.INTIMIDATE) diff --git a/test/abilities/corrosion.test.ts b/test/abilities/corrosion.test.ts index b7f316fbe2d..c72aef9f0a3 100644 --- a/test/abilities/corrosion.test.ts +++ b/test/abilities/corrosion.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Corrosion", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.GRIMER) .enemyAbility(Abilities.CORROSION) diff --git a/test/abilities/costar.test.ts b/test/abilities/costar.test.ts index c6a44bffe54..7b1e362689d 100644 --- a/test/abilities/costar.test.ts +++ b/test/abilities/costar.test.ts @@ -24,7 +24,7 @@ describe("Abilities - COSTAR", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.ability(Abilities.COSTAR); game.override.moveset([Moves.SPLASH, Moves.NASTY_PLOT]); game.override.enemyMoveset(Moves.SPLASH); diff --git a/test/abilities/dancer.test.ts b/test/abilities/dancer.test.ts index c296329473d..cdd1e3221e9 100644 --- a/test/abilities/dancer.test.ts +++ b/test/abilities/dancer.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Dancer", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); }); // Reference Link: https://bulbapedia.bulbagarden.net/wiki/Dancer_(Ability) diff --git a/test/abilities/defiant.test.ts b/test/abilities/defiant.test.ts index a73002d999c..d06aef4d785 100644 --- a/test/abilities/defiant.test.ts +++ b/test/abilities/defiant.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Defiant", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.BEEDRILL) .enemyMoveset(Moves.TICKLE) .startingLevel(1) diff --git a/test/abilities/desolate-land.test.ts b/test/abilities/desolate-land.test.ts index bb0b152418d..d6f01f7aa5e 100644 --- a/test/abilities/desolate-land.test.ts +++ b/test/abilities/desolate-land.test.ts @@ -38,7 +38,7 @@ describe("Abilities - Desolate Land", () => { * is forcefully moved out of the field from moves such as Roar {@linkcode Moves.ROAR} */ it("should lift only when all pokemon with this ability leave the field", async () => { - game.override.battleType("double").enemyMoveset([Moves.SPLASH, Moves.ROAR]); + game.override.battleStyle("double").enemyMoveset([Moves.SPLASH, Moves.ROAR]); await game.classicMode.startBattle([Species.MAGCARGO, Species.MAGCARGO, Species.MAGIKARP, Species.MAGIKARP]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); @@ -76,7 +76,7 @@ describe("Abilities - Desolate Land", () => { it("should lift when enemy faints", async () => { game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.SHEER_COLD]) .ability(Abilities.NO_GUARD) .startingLevel(100) @@ -96,7 +96,7 @@ describe("Abilities - Desolate Land", () => { }); it("should lift when pokemon returns upon switching from double to single battle", async () => { - game.override.battleType("even-doubles").enemyMoveset([Moves.SPLASH, Moves.MEMENTO]).startingWave(12); + game.override.battleStyle("even-doubles").enemyMoveset([Moves.SPLASH, Moves.MEMENTO]).startingWave(12); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGCARGO]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); @@ -117,7 +117,7 @@ describe("Abilities - Desolate Land", () => { it("should lift when enemy is captured", async () => { game.override - .battleType("single") + .battleStyle("single") .enemyMoveset([Moves.SPLASH]) .enemySpecies(Species.MAGCARGO) .enemyHasPassiveAbility(true); diff --git a/test/abilities/disguise.test.ts b/test/abilities/disguise.test.ts index a971f5c2733..fd8289312db 100644 --- a/test/abilities/disguise.test.ts +++ b/test/abilities/disguise.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Disguise", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MIMIKYU) .enemyMoveset(Moves.SPLASH) .starterSpecies(Species.REGIELEKI) diff --git a/test/abilities/dry_skin.test.ts b/test/abilities/dry_skin.test.ts index 9d8a29c431a..398d09393ab 100644 --- a/test/abilities/dry_skin.test.ts +++ b/test/abilities/dry_skin.test.ts @@ -22,7 +22,7 @@ describe("Abilities - Dry Skin", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemyAbility(Abilities.DRY_SKIN) .enemyMoveset(Moves.SPLASH) diff --git a/test/abilities/early_bird.test.ts b/test/abilities/early_bird.test.ts index cc486672c95..0f298ba479d 100644 --- a/test/abilities/early_bird.test.ts +++ b/test/abilities/early_bird.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Early Bird", () => { game.override .moveset([Moves.REST, Moves.BELLY_DRUM, Moves.SPLASH]) .ability(Abilities.EARLY_BIRD) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/flash_fire.test.ts b/test/abilities/flash_fire.test.ts index 3cec9cd9cb7..8d94d21adf8 100644 --- a/test/abilities/flash_fire.test.ts +++ b/test/abilities/flash_fire.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Flash Fire", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.FLASH_FIRE) .enemyAbility(Abilities.BALL_FETCH) .startingLevel(20) diff --git a/test/abilities/flower_gift.test.ts b/test/abilities/flower_gift.test.ts index 8c7b32e7e33..f2b32dc4c80 100644 --- a/test/abilities/flower_gift.test.ts +++ b/test/abilities/flower_gift.test.ts @@ -47,7 +47,7 @@ describe("Abilities - Flower Gift", () => { allyAbility = Abilities.BALL_FETCH, enemyAbility = Abilities.BALL_FETCH, ): Promise<[number, number]> => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.SPLASH, Moves.SUNNY_DAY, move, Moves.HEAL_PULSE]); game.override.enemyMoveset([Moves.SPLASH, Moves.HEAL_PULSE]); const target_index = allyAttacker ? BattlerIndex.ENEMY : BattlerIndex.PLAYER_2; @@ -110,7 +110,7 @@ describe("Abilities - Flower Gift", () => { }); it("increases the ATK and SPDEF stat stages of the Pokémon with this Ability and its allies by 1.5× during Harsh Sunlight", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.CHERRIM, Species.MAGIKARP]); const [cherrim, magikarp] = game.scene.getPlayerField(); diff --git a/test/abilities/flower_veil.test.ts b/test/abilities/flower_veil.test.ts index 68242be3886..1fd7dbb3ed7 100644 --- a/test/abilities/flower_veil.test.ts +++ b/test/abilities/flower_veil.test.ts @@ -31,7 +31,7 @@ describe("Abilities - Flower Veil", () => { .moveset([Moves.SPLASH]) .enemySpecies(Species.BULBASAUR) .ability(Abilities.FLOWER_VEIL) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -63,7 +63,7 @@ describe("Abilities - Flower Veil", () => { }); it("should prevent drowsiness from yawn for a grass user and its grass allies", async () => { - game.override.enemyMoveset([Moves.YAWN]).moveset([Moves.SPLASH]).battleType("double"); + game.override.enemyMoveset([Moves.YAWN]).moveset([Moves.SPLASH]).battleStyle("double"); await game.classicMode.startBattle([Species.BULBASAUR, Species.BULBASAUR]); // Clear the ability of the ally to isolate the test @@ -81,7 +81,7 @@ describe("Abilities - Flower Veil", () => { }); it("should prevent status conditions from moves like Thunder Wave for a grass user and its grass allies", async () => { - game.override.enemyMoveset([Moves.THUNDER_WAVE]).moveset([Moves.SPLASH]).battleType("double"); + game.override.enemyMoveset([Moves.THUNDER_WAVE]).moveset([Moves.SPLASH]).battleStyle("double"); vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); await game.classicMode.startBattle([Species.BULBASAUR]); @@ -93,7 +93,7 @@ describe("Abilities - Flower Veil", () => { }); it("should not prevent status conditions for a non-grass user and its non-grass allies", async () => { - game.override.enemyMoveset([Moves.THUNDER_WAVE]).moveset([Moves.SPLASH]).battleType("double"); + game.override.enemyMoveset([Moves.THUNDER_WAVE]).moveset([Moves.SPLASH]).battleStyle("double"); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); const [user, ally] = game.scene.getPlayerField(); vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); @@ -113,7 +113,7 @@ describe("Abilities - Flower Veil", () => { *******************************************/ it("should prevent the status drops from enemies for the a grass user and its grass allies", async () => { - game.override.enemyMoveset([Moves.GROWL]).moveset([Moves.SPLASH]).battleType("double"); + game.override.enemyMoveset([Moves.GROWL]).moveset([Moves.SPLASH]).battleStyle("double"); await game.classicMode.startBattle([Species.BULBASAUR, Species.BULBASAUR]); const [user, ally] = game.scene.getPlayerField(); // Clear the ally ability to isolate the test @@ -126,7 +126,7 @@ describe("Abilities - Flower Veil", () => { }); it("should not prevent status drops for a non-grass user and its non-grass allies", async () => { - game.override.enemyMoveset([Moves.GROWL]).moveset([Moves.SPLASH]).battleType("double"); + game.override.enemyMoveset([Moves.GROWL]).moveset([Moves.SPLASH]).battleStyle("double"); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); const [user, ally] = game.scene.getPlayerField(); // Clear the ally ability to isolate the test @@ -139,7 +139,7 @@ describe("Abilities - Flower Veil", () => { }); it("should not prevent self-inflicted stat drops from moves like Close Combat for a user or its allies", async () => { - game.override.moveset([Moves.CLOSE_COMBAT]).battleType("double"); + game.override.moveset([Moves.CLOSE_COMBAT]).battleStyle("double"); await game.classicMode.startBattle([Species.BULBASAUR, Species.BULBASAUR]); const [user, ally] = game.scene.getPlayerField(); // Clear the ally ability to isolate the test diff --git a/test/abilities/forecast.test.ts b/test/abilities/forecast.test.ts index 675b9a8b59c..03b5d993a54 100644 --- a/test/abilities/forecast.test.ts +++ b/test/abilities/forecast.test.ts @@ -75,7 +75,7 @@ describe("Abilities - Forecast", () => { async () => { game.override .moveset([Moves.RAIN_DANCE, Moves.SUNNY_DAY, Moves.SNOWSCAPE, Moves.SPLASH]) - .battleType("double") + .battleStyle("double") .starterForms({ [Species.KYOGRE]: 1, [Species.GROUDON]: 1, diff --git a/test/abilities/friend_guard.test.ts b/test/abilities/friend_guard.test.ts index 474c89adaf1..302343c167b 100644 --- a/test/abilities/friend_guard.test.ts +++ b/test/abilities/friend_guard.test.ts @@ -26,7 +26,7 @@ describe("Moves - Friend Guard", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.TACKLE, Moves.SPLASH, Moves.DRAGON_RAGE]) .enemySpecies(Species.SHUCKLE) diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts index c1e02c6c8d8..438ec498aa1 100644 --- a/test/abilities/galvanize.test.ts +++ b/test/abilities/galvanize.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Galvanize", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .startingLevel(100) .ability(Abilities.GALVANIZE) .moveset([Moves.TACKLE, Moves.REVELATION_DANCE, Moves.FURY_SWIPES]) diff --git a/test/abilities/good_as_gold.test.ts b/test/abilities/good_as_gold.test.ts index 4c4741a331f..944c1d1bca1 100644 --- a/test/abilities/good_as_gold.test.ts +++ b/test/abilities/good_as_gold.test.ts @@ -32,7 +32,7 @@ describe("Abilities - Good As Gold", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.GOOD_AS_GOLD) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -63,7 +63,7 @@ describe("Abilities - Good As Gold", () => { }); it("should not block any status moves that target the field, one side, or all pokemon", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemyMoveset([Moves.STEALTH_ROCK, Moves.HAZE]); game.override.moveset([Moves.SWORDS_DANCE, Moves.SAFEGUARD]); await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); @@ -85,7 +85,7 @@ describe("Abilities - Good As Gold", () => { }); it("should not block field targeted effects in singles", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemyMoveset([Moves.SPIKES]); await game.classicMode.startBattle([Species.MAGIKARP]); @@ -96,7 +96,7 @@ describe("Abilities - Good As Gold", () => { }); it("should block the ally's helping hand", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.HELPING_HAND, Moves.TACKLE]); await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); @@ -108,7 +108,7 @@ describe("Abilities - Good As Gold", () => { }); it("should block the ally's heal bell, but only if the good as gold user is on the field", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.HEAL_BELL, Moves.SPLASH]); game.override.statusEffect(StatusEffect.BURN); await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS, Species.ABRA]); @@ -130,7 +130,7 @@ describe("Abilities - Good As Gold", () => { }); it("should not block field targeted effects like rain dance", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemyMoveset([Moves.RAIN_DANCE]); game.override.weather(WeatherType.NONE); await game.classicMode.startBattle([Species.MAGIKARP]); diff --git a/test/abilities/gorilla_tactics.test.ts b/test/abilities/gorilla_tactics.test.ts index 48dab262b82..edaf1669809 100644 --- a/test/abilities/gorilla_tactics.test.ts +++ b/test/abilities/gorilla_tactics.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Gorilla Tactics", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.SPLASH, Moves.DISABLE]) .enemySpecies(Species.MAGIKARP) diff --git a/test/abilities/gulp_missile.test.ts b/test/abilities/gulp_missile.test.ts index 8ebd583d3ab..4db2ae4190d 100644 --- a/test/abilities/gulp_missile.test.ts +++ b/test/abilities/gulp_missile.test.ts @@ -42,7 +42,7 @@ describe("Abilities - Gulp Missile", () => { game = new GameManager(phaserGame); game.override .disableCrits() - .battleType("single") + .battleStyle("single") .moveset([Moves.SURF, Moves.DIVE, Moves.SPLASH, Moves.SUBSTITUTE]) .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/healer.test.ts b/test/abilities/healer.test.ts index 35aa74209b4..d06c4680e36 100644 --- a/test/abilities/healer.test.ts +++ b/test/abilities/healer.test.ts @@ -32,7 +32,7 @@ describe("Abilities - Healer", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/heatproof.test.ts b/test/abilities/heatproof.test.ts index fa065d1ed03..f2fabf953d6 100644 --- a/test/abilities/heatproof.test.ts +++ b/test/abilities/heatproof.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Heatproof", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.CHARMANDER) .enemyAbility(Abilities.HEATPROOF) diff --git a/test/abilities/honey_gather.test.ts b/test/abilities/honey_gather.test.ts index bea5c25c878..a74a40c9c1e 100644 --- a/test/abilities/honey_gather.test.ts +++ b/test/abilities/honey_gather.test.ts @@ -28,7 +28,7 @@ describe("Abilities - Honey Gather", () => { .startingLevel(100) .ability(Abilities.HONEY_GATHER) .passiveAbility(Abilities.RUN_AWAY) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/hustle.test.ts b/test/abilities/hustle.test.ts index 40197cf9e97..bf2889eab63 100644 --- a/test/abilities/hustle.test.ts +++ b/test/abilities/hustle.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Hustle", () => { .ability(Abilities.HUSTLE) .moveset([Moves.TACKLE, Moves.GIGA_DRAIN, Moves.FISSURE]) .disableCrits() - .battleType("single") + .battleStyle("single") .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.SHUCKLE) .enemyAbility(Abilities.BALL_FETCH); diff --git a/test/abilities/hyper_cutter.test.ts b/test/abilities/hyper_cutter.test.ts index fe5623e4e0f..99a9db28025 100644 --- a/test/abilities/hyper_cutter.test.ts +++ b/test/abilities/hyper_cutter.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Hyper Cutter", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.SAND_ATTACK, Moves.NOBLE_ROAR, Moves.DEFOG, Moves.OCTOLOCK]) .ability(Abilities.BALL_FETCH) .enemySpecies(Species.SHUCKLE) diff --git a/test/abilities/ice_face.test.ts b/test/abilities/ice_face.test.ts index e85794928d6..38269c29af1 100644 --- a/test/abilities/ice_face.test.ts +++ b/test/abilities/ice_face.test.ts @@ -30,7 +30,7 @@ describe("Abilities - Ice Face", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.EISCUE); game.override.enemyAbility(Abilities.ICE_FACE); game.override.moveset([Moves.TACKLE, Moves.ICE_BEAM, Moves.TOXIC_THREAD, Moves.HAIL]); diff --git a/test/abilities/illuminate.test.ts b/test/abilities/illuminate.test.ts index 6518fec989b..ba26ed3b7af 100644 --- a/test/abilities/illuminate.test.ts +++ b/test/abilities/illuminate.test.ts @@ -29,7 +29,7 @@ describe("Abilities - Illuminate", () => { }); it("should prevent ACC stat stage from being lowered", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle(); diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index bdb235f458b..382d7d74a08 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Illusion", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.ZORUA); game.override.enemyAbility(Abilities.ILLUSION); game.override.enemyMoveset(Moves.TACKLE); diff --git a/test/abilities/immunity.test.ts b/test/abilities/immunity.test.ts index 51e9598720b..dd9026cac50 100644 --- a/test/abilities/immunity.test.ts +++ b/test/abilities/immunity.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Immunity", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Immunity", () => { }); it("should remove poison when gained", async () => { - game.override.ability(Abilities.IMMUNITY) + game.override + .ability(Abilities.IMMUNITY) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.POISON); expect(enemy?.status?.effect).toBe(StatusEffect.POISON); diff --git a/test/abilities/imposter.test.ts b/test/abilities/imposter.test.ts index 2c7302d04b7..b5e902f442f 100644 --- a/test/abilities/imposter.test.ts +++ b/test/abilities/imposter.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Imposter", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MEW) .enemyLevel(200) .enemyAbility(Abilities.BEAST_BOOST) diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index 6278439651c..10353f35391 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -30,7 +30,7 @@ describe("Abilities - Infiltrator", () => { game.override .moveset([Moves.TACKLE, Moves.WATER_GUN, Moves.SPORE, Moves.BABY_DOLL_EYES]) .ability(Abilities.INFILTRATOR) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/insomnia.test.ts b/test/abilities/insomnia.test.ts index 91fdc3fc668..49765a641b0 100644 --- a/test/abilities/insomnia.test.ts +++ b/test/abilities/insomnia.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Insomnia", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Insomnia", () => { }); it("should remove sleep when gained", async () => { - game.override.ability(Abilities.INSOMNIA) + game.override + .ability(Abilities.INSOMNIA) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.SLEEP); expect(enemy?.status?.effect).toBe(StatusEffect.SLEEP); diff --git a/test/abilities/intimidate.test.ts b/test/abilities/intimidate.test.ts index 53286d354c8..2888c575b0d 100644 --- a/test/abilities/intimidate.test.ts +++ b/test/abilities/intimidate.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Intimidate", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.RATTATA) .enemyAbility(Abilities.INTIMIDATE) .enemyPassiveAbility(Abilities.HYDRATION) @@ -65,7 +65,7 @@ describe("Abilities - Intimidate", () => { }, 20000); it("should lower ATK stat stage by 1 for every enemy Pokemon in a double battle on entry", async () => { - game.override.battleType("double").startingWave(3); + game.override.battleStyle("double").startingWave(3); await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); game.onNextPrompt( "CheckSwitchPhase", diff --git a/test/abilities/intrepid_sword.test.ts b/test/abilities/intrepid_sword.test.ts index 28d0cd02c7f..b30ae4a9bd0 100644 --- a/test/abilities/intrepid_sword.test.ts +++ b/test/abilities/intrepid_sword.test.ts @@ -22,7 +22,7 @@ describe("Abilities - Intrepid Sword", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.ZACIAN); game.override.enemyAbility(Abilities.INTREPID_SWORD); game.override.ability(Abilities.INTREPID_SWORD); diff --git a/test/abilities/libero.test.ts b/test/abilities/libero.test.ts index 22abf1c248f..2e3668813c5 100644 --- a/test/abilities/libero.test.ts +++ b/test/abilities/libero.test.ts @@ -29,7 +29,7 @@ describe("Abilities - Libero", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.LIBERO); game.override.startingLevel(100); game.override.enemySpecies(Species.RATTATA); diff --git a/test/abilities/lightningrod.test.ts b/test/abilities/lightningrod.test.ts index 986899353ff..21a03baf12b 100644 --- a/test/abilities/lightningrod.test.ts +++ b/test/abilities/lightningrod.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Lightningrod", () => { game.override .moveset([Moves.SPLASH, Moves.SHOCK_WAVE]) .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/limber.test.ts b/test/abilities/limber.test.ts index 2b167cc155f..4cdaa86f44c 100644 --- a/test/abilities/limber.test.ts +++ b/test/abilities/limber.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Limber", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Limber", () => { }); it("should remove paralysis when gained", async () => { - game.override.ability(Abilities.LIMBER) + game.override + .ability(Abilities.LIMBER) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.PARALYSIS); expect(enemy?.status?.effect).toBe(StatusEffect.PARALYSIS); diff --git a/test/abilities/magic_bounce.test.ts b/test/abilities/magic_bounce.test.ts index 7886ac5fd5c..11131640a0f 100644 --- a/test/abilities/magic_bounce.test.ts +++ b/test/abilities/magic_bounce.test.ts @@ -30,7 +30,7 @@ describe("Abilities - Magic Bounce", () => { game = new GameManager(phaserGame); game.override .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .moveset([Moves.GROWL, Moves.SPLASH]) .disableCrits() .enemySpecies(Species.MAGIKARP) @@ -60,7 +60,7 @@ describe("Abilities - Magic Bounce", () => { }); it("should individually bounce back multi-target moves", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.GROWL, Moves.SPLASH]); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); @@ -114,7 +114,7 @@ describe("Abilities - Magic Bounce", () => { }); it("should bounce back a spread status move against both pokemon", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.GROWL, Moves.SPLASH]); game.override.enemyMoveset([Moves.SPLASH]); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); @@ -127,7 +127,7 @@ describe("Abilities - Magic Bounce", () => { }); it("should only bounce spikes back once in doubles when both targets have magic bounce", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.MAGIKARP]); game.override.moveset([Moves.SPIKES]); @@ -227,7 +227,7 @@ describe("Abilities - Magic Bounce", () => { // TODO: stomping tantrum should consider moves that were bounced. it.todo("should cause stomping tantrum to double in power when the last move was bounced", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle([Species.MAGIKARP]); game.override.moveset([Moves.STOMPING_TANTRUM, Moves.CHARM]); @@ -309,7 +309,7 @@ describe("Abilities - Magic Bounce", () => { }); it("should always apply the leftmost available target's magic bounce when bouncing moves like sticky webs in doubles", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.STICKY_WEB, Moves.SPLASH, Moves.TRICK_ROOM]); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); diff --git a/test/abilities/magma_armor.test.ts b/test/abilities/magma_armor.test.ts index b1d62f948d2..c5af522ca6f 100644 --- a/test/abilities/magma_armor.test.ts +++ b/test/abilities/magma_armor.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Magma Armor", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Magma Armor", () => { }); it("should remove freeze when gained", async () => { - game.override.ability(Abilities.MAGMA_ARMOR) + game.override + .ability(Abilities.MAGMA_ARMOR) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.FREEZE); expect(enemy?.status?.effect).toBe(StatusEffect.FREEZE); diff --git a/test/abilities/mimicry.test.ts b/test/abilities/mimicry.test.ts index df6f7905c83..598f5790aa8 100644 --- a/test/abilities/mimicry.test.ts +++ b/test/abilities/mimicry.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Mimicry", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.MIMICRY) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyMoveset(Moves.SPLASH); diff --git a/test/abilities/mirror_armor.test.ts b/test/abilities/mirror_armor.test.ts index 6b0c3f10c84..bd61f39ba75 100644 --- a/test/abilities/mirror_armor.test.ts +++ b/test/abilities/mirror_armor.test.ts @@ -27,7 +27,7 @@ describe("Ability - Mirror Armor", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.RATTATA) .enemyMoveset([Moves.SPLASH, Moves.STICKY_WEB, Moves.TICKLE, Moves.OCTOLOCK]) .enemyAbility(Abilities.BALL_FETCH) @@ -71,7 +71,7 @@ describe("Ability - Mirror Armor", () => { }); it("Player side + double battle Intimidate - opponents each lose -2 atk", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.ability(Abilities.MIRROR_ARMOR); game.override.enemyAbility(Abilities.INTIMIDATE); await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); @@ -93,7 +93,7 @@ describe("Ability - Mirror Armor", () => { }); it("Enemy side + double battle Intimidate - players each lose -2 atk", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemyAbility(Abilities.MIRROR_ARMOR); game.override.ability(Abilities.INTIMIDATE); await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); @@ -134,7 +134,7 @@ describe("Ability - Mirror Armor", () => { }); it("Player side + double battle Intimidate + Tickle - opponents each lose -3 atk, -1 def", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.ability(Abilities.MIRROR_ARMOR); game.override.enemyAbility(Abilities.INTIMIDATE); await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); @@ -288,7 +288,7 @@ describe("Ability - Mirror Armor", () => { }); it("Double battle + sticky web applied player side - player switches out and enemy 1 should lose -1 speed", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.ability(Abilities.MIRROR_ARMOR); await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); diff --git a/test/abilities/mold_breaker.test.ts b/test/abilities/mold_breaker.test.ts index 8f050a68d76..ba33909364f 100644 --- a/test/abilities/mold_breaker.test.ts +++ b/test/abilities/mold_breaker.test.ts @@ -24,9 +24,9 @@ describe("Abilities - Mold Breaker", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.MOLD_BREAKER) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -34,17 +34,18 @@ describe("Abilities - Mold Breaker", () => { }); it("should turn off the ignore abilities arena variable after the user's move", async () => { - game.override.enemyMoveset(Moves.SPLASH) + game.override + .enemyMoveset(Moves.SPLASH) .ability(Abilities.MOLD_BREAKER) - .moveset([ Moves.ERUPTION ]) + .moveset([Moves.ERUPTION]) .startingLevel(100) .enemyLevel(2); - await game.classicMode.startBattle([ Species.MAGIKARP ]); + await game.classicMode.startBattle([Species.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; expect(enemy.isFainted()).toBe(false); game.move.select(Moves.SPLASH); - await game.setTurnOrder([ BattlerIndex.PLAYER, BattlerIndex.ENEMY ]); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase", true); expect(globalScene.arena.ignoreAbilities).toBe(false); }); diff --git a/test/abilities/moody.test.ts b/test/abilities/moody.test.ts index da24899a4b0..9b658820391 100644 --- a/test/abilities/moody.test.ts +++ b/test/abilities/moody.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Moody", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.RATTATA) .enemyAbility(Abilities.BALL_FETCH) .ability(Abilities.MOODY) diff --git a/test/abilities/moxie.test.ts b/test/abilities/moxie.test.ts index ec93aebd2c0..bccdeda2b93 100644 --- a/test/abilities/moxie.test.ts +++ b/test/abilities/moxie.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Moxie", () => { beforeEach(() => { game = new GameManager(phaserGame); const moveToUse = Moves.AERIAL_ACE; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyAbility(Abilities.MOXIE); game.override.ability(Abilities.MOXIE); @@ -54,7 +54,7 @@ describe("Abilities - Moxie", () => { it.todo( "should raise ATK stat stage by 1 when defeating an ally Pokemon", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); const moveToUse = Moves.AERIAL_ACE; await game.startBattle([Species.MIGHTYENA, Species.MIGHTYENA]); diff --git a/test/abilities/mummy.test.ts b/test/abilities/mummy.test.ts index 0971353c14d..c53b0b33598 100644 --- a/test/abilities/mummy.test.ts +++ b/test/abilities/mummy.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Mummy", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.MUMMY) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/mycelium_might.test.ts b/test/abilities/mycelium_might.test.ts index 8c7796ec736..4a5700045fa 100644 --- a/test/abilities/mycelium_might.test.ts +++ b/test/abilities/mycelium_might.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Mycelium Might", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.enemySpecies(Species.SHUCKLE); game.override.enemyAbility(Abilities.CLEAR_BODY); diff --git a/test/abilities/neutralizing_gas.test.ts b/test/abilities/neutralizing_gas.test.ts index 56a663db403..32c61b72e4d 100644 --- a/test/abilities/neutralizing_gas.test.ts +++ b/test/abilities/neutralizing_gas.test.ts @@ -31,7 +31,7 @@ describe("Abilities - Neutralizing Gas", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.NEUTRALIZING_GAS) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -105,7 +105,7 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should only deactivate when all setters are off the field", async () => { - game.override.enemyMoveset([Moves.ENTRAINMENT, Moves.SPLASH]).battleType("double"); + game.override.enemyMoveset([Moves.ENTRAINMENT, Moves.SPLASH]).battleStyle("double"); await game.classicMode.startBattle([Species.ACCELGOR, Species.ACCELGOR]); game.move.select(Moves.SPLASH, 0); @@ -148,7 +148,7 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should deactivate upon catching a wild pokemon", async () => { - game.override.battleType("single").enemyAbility(Abilities.NEUTRALIZING_GAS).ability(Abilities.BALL_FETCH); + game.override.battleStyle("single").enemyAbility(Abilities.NEUTRALIZING_GAS).ability(Abilities.BALL_FETCH); await game.classicMode.startBattle([Species.MAGIKARP]); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); @@ -174,7 +174,7 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should not activate abilities of pokemon no longer on the field", async () => { - game.override.battleType("single").ability(Abilities.NEUTRALIZING_GAS).enemyAbility(Abilities.DELTA_STREAM); + game.override.battleStyle("single").ability(Abilities.NEUTRALIZING_GAS).enemyAbility(Abilities.DELTA_STREAM); await game.classicMode.startBattle([Species.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; diff --git a/test/abilities/no_guard.test.ts b/test/abilities/no_guard.test.ts index 41b8fbd27b9..b34007bc700 100644 --- a/test/abilities/no_guard.test.ts +++ b/test/abilities/no_guard.test.ts @@ -33,7 +33,7 @@ describe("Abilities - No Guard", () => { }); it("should make moves always hit regardless of move accuracy", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle([Species.REGIELEKI]); diff --git a/test/abilities/oblivious.test.ts b/test/abilities/oblivious.test.ts index d5089ef6a72..a86899ec9c6 100644 --- a/test/abilities/oblivious.test.ts +++ b/test/abilities/oblivious.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Oblivious", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Oblivious", () => { }); it("should remove taunt when gained", async () => { - game.override.ability(Abilities.OBLIVIOUS) + game.override + .ability(Abilities.OBLIVIOUS) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.addTag(BattlerTagType.TAUNT); expect(enemy?.getTag(BattlerTagType.TAUNT)).toBeTruthy(); @@ -50,12 +50,12 @@ describe("Abilities - Oblivious", () => { }); it("should remove infatuation when gained", async () => { - game.override.ability(Abilities.OBLIVIOUS) + game.override + .ability(Abilities.OBLIVIOUS) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); vi.spyOn(enemy!, "isOppositeGender").mockReturnValue(true); enemy?.addTag(BattlerTagType.INFATUATED, 5, Moves.JUDGMENT, game.scene.getPlayerPokemon()?.id); // sourceID needs to be defined diff --git a/test/abilities/own_tempo.test.ts b/test/abilities/own_tempo.test.ts index 936b4311b20..b2f2c2f3030 100644 --- a/test/abilities/own_tempo.test.ts +++ b/test/abilities/own_tempo.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Own Tempo", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Own Tempo", () => { }); it("should remove confusion when gained", async () => { - game.override.ability(Abilities.OWN_TEMPO) + game.override + .ability(Abilities.OWN_TEMPO) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.addTag(BattlerTagType.CONFUSED); expect(enemy?.getTag(BattlerTagType.CONFUSED)).toBeTruthy(); diff --git a/test/abilities/parental_bond.test.ts b/test/abilities/parental_bond.test.ts index 2aa24e78d6e..d81486e7316 100644 --- a/test/abilities/parental_bond.test.ts +++ b/test/abilities/parental_bond.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Parental Bond", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.ability(Abilities.PARENTAL_BOND); game.override.enemySpecies(Species.SNORLAX); @@ -167,7 +167,7 @@ describe("Abilities - Parental Bond", () => { }); it("should not apply to multi-target moves", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.EARTHQUAKE]); game.override.passiveAbility(Abilities.LEVITATE); diff --git a/test/abilities/pastel_veil.test.ts b/test/abilities/pastel_veil.test.ts index 65e391b7c22..4ae9763c4a6 100644 --- a/test/abilities/pastel_veil.test.ts +++ b/test/abilities/pastel_veil.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Pastel Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .moveset([Moves.TOXIC_THREAD, Moves.SPLASH]) .enemyAbility(Abilities.BALL_FETCH) .enemySpecies(Species.SUNKERN) diff --git a/test/abilities/perish_body.test.ts b/test/abilities/perish_body.test.ts index 424d35e2542..27e76cb52ad 100644 --- a/test/abilities/perish_body.test.ts +++ b/test/abilities/perish_body.test.ts @@ -21,7 +21,7 @@ describe("Abilities - Perish Song", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.enemySpecies(Species.MAGIKARP); diff --git a/test/abilities/power_construct.test.ts b/test/abilities/power_construct.test.ts index c253f2ae4df..0ff90a2c0df 100644 --- a/test/abilities/power_construct.test.ts +++ b/test/abilities/power_construct.test.ts @@ -25,7 +25,7 @@ describe("Abilities - POWER CONSTRUCT", () => { beforeEach(() => { game = new GameManager(phaserGame); const moveToUse = Moves.SPLASH; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.POWER_CONSTRUCT); game.override.moveset([moveToUse]); game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); diff --git a/test/abilities/power_spot.test.ts b/test/abilities/power_spot.test.ts index e29b5ecf775..3e4f79d7445 100644 --- a/test/abilities/power_spot.test.ts +++ b/test/abilities/power_spot.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Power Spot", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.TACKLE, Moves.BREAKING_SWIPE, Moves.SPLASH, Moves.DAZZLING_GLEAM]); game.override.enemyMoveset(Moves.SPLASH); game.override.enemySpecies(Species.SHUCKLE); diff --git a/test/abilities/protean.test.ts b/test/abilities/protean.test.ts index 574033bb13f..efa6f33fe00 100644 --- a/test/abilities/protean.test.ts +++ b/test/abilities/protean.test.ts @@ -29,7 +29,7 @@ describe("Abilities - Protean", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.PROTEAN); game.override.startingLevel(100); game.override.enemySpecies(Species.RATTATA); diff --git a/test/abilities/protosynthesis.test.ts b/test/abilities/protosynthesis.test.ts index 882474b7cef..e312ebd572c 100644 --- a/test/abilities/protosynthesis.test.ts +++ b/test/abilities/protosynthesis.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Protosynthesis", () => { game.override .moveset([Moves.SPLASH, Moves.TACKLE]) .ability(Abilities.PROTOSYNTHESIS) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/quick_draw.test.ts b/test/abilities/quick_draw.test.ts index 1277fd5d3cb..0d3171e947e 100644 --- a/test/abilities/quick_draw.test.ts +++ b/test/abilities/quick_draw.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Quick Draw", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.MAGIKARP); game.override.ability(Abilities.QUICK_DRAW); diff --git a/test/abilities/sand_spit.test.ts b/test/abilities/sand_spit.test.ts index 6896c286eed..2b655f92466 100644 --- a/test/abilities/sand_spit.test.ts +++ b/test/abilities/sand_spit.test.ts @@ -22,7 +22,7 @@ describe("Abilities - Sand Spit", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.enemySpecies(Species.MAGIKARP); diff --git a/test/abilities/sand_veil.test.ts b/test/abilities/sand_veil.test.ts index c7b12a11c0e..b82c79c681b 100644 --- a/test/abilities/sand_veil.test.ts +++ b/test/abilities/sand_veil.test.ts @@ -34,7 +34,7 @@ describe("Abilities - Sand Veil", () => { game.override.enemyMoveset([Moves.TWISTER, Moves.TWISTER, Moves.TWISTER, Moves.TWISTER]); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.weather(WeatherType.SANDSTORM).battleType("double"); + game.override.weather(WeatherType.SANDSTORM).battleStyle("double"); }); test("ability should increase the evasiveness of the source", async () => { diff --git a/test/abilities/sap_sipper.test.ts b/test/abilities/sap_sipper.test.ts index f4f02844cbc..2157177b84c 100644 --- a/test/abilities/sap_sipper.test.ts +++ b/test/abilities/sap_sipper.test.ts @@ -29,7 +29,7 @@ describe("Abilities - Sap Sipper", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .ability(Abilities.SAP_SIPPER) .enemySpecies(Species.RATTATA) diff --git a/test/abilities/schooling.test.ts b/test/abilities/schooling.test.ts index 35244b08e4c..803b4d2062a 100644 --- a/test/abilities/schooling.test.ts +++ b/test/abilities/schooling.test.ts @@ -25,7 +25,7 @@ describe("Abilities - SCHOOLING", () => { beforeEach(() => { game = new GameManager(phaserGame); const moveToUse = Moves.SPLASH; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.SCHOOLING); game.override.moveset([moveToUse]); game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); diff --git a/test/abilities/screen_cleaner.test.ts b/test/abilities/screen_cleaner.test.ts index d8be1d64697..840291f6420 100644 --- a/test/abilities/screen_cleaner.test.ts +++ b/test/abilities/screen_cleaner.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Screen Cleaner", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.SCREEN_CLEANER); game.override.enemySpecies(Species.SHUCKLE); }); diff --git a/test/abilities/seed_sower.test.ts b/test/abilities/seed_sower.test.ts index d78007f7500..d8edbe59857 100644 --- a/test/abilities/seed_sower.test.ts +++ b/test/abilities/seed_sower.test.ts @@ -22,7 +22,7 @@ describe("Abilities - Seed Sower", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.enemySpecies(Species.MAGIKARP); diff --git a/test/abilities/serene_grace.test.ts b/test/abilities/serene_grace.test.ts index 65ca96acbbc..2547971a4b8 100644 --- a/test/abilities/serene_grace.test.ts +++ b/test/abilities/serene_grace.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Serene Grace", () => { game = new GameManager(phaserGame); game.override .disableCrits() - .battleType("single") + .battleStyle("single") .ability(Abilities.SERENE_GRACE) .moveset([Moves.AIR_SLASH]) .enemySpecies(Species.ALOLA_GEODUDE) diff --git a/test/abilities/sheer_force.test.ts b/test/abilities/sheer_force.test.ts index fae089958a5..ce3232a1869 100644 --- a/test/abilities/sheer_force.test.ts +++ b/test/abilities/sheer_force.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Sheer Force", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.SHEER_FORCE) .enemySpecies(Species.ONIX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/shield_dust.test.ts b/test/abilities/shield_dust.test.ts index 257ebe885df..4f6783eb66a 100644 --- a/test/abilities/shield_dust.test.ts +++ b/test/abilities/shield_dust.test.ts @@ -31,7 +31,7 @@ describe("Abilities - Shield Dust", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.ONIX); game.override.enemyAbility(Abilities.SHIELD_DUST); game.override.startingLevel(100); diff --git a/test/abilities/shields_down.test.ts b/test/abilities/shields_down.test.ts index 4bdf22869cb..2f9d2fb1f97 100644 --- a/test/abilities/shields_down.test.ts +++ b/test/abilities/shields_down.test.ts @@ -26,7 +26,7 @@ describe("Abilities - SHIELDS DOWN", () => { beforeEach(() => { game = new GameManager(phaserGame); const moveToUse = Moves.SPLASH; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.SHIELDS_DOWN); game.override.moveset([moveToUse]); game.override.enemyMoveset([Moves.TACKLE]); diff --git a/test/abilities/simple.test.ts b/test/abilities/simple.test.ts index b6c5fd116c0..1f084b1bf4c 100644 --- a/test/abilities/simple.test.ts +++ b/test/abilities/simple.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Simple", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.BULBASAUR) .enemyAbility(Abilities.SIMPLE) .ability(Abilities.INTIMIDATE) diff --git a/test/abilities/speed_boost.test.ts b/test/abilities/speed_boost.test.ts index fa20e74108f..45ee54ffb07 100644 --- a/test/abilities/speed_boost.test.ts +++ b/test/abilities/speed_boost.test.ts @@ -27,7 +27,7 @@ describe("Abilities - Speed Boost", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SHUCKLE) .enemyAbility(Abilities.BALL_FETCH) .enemyLevel(100) diff --git a/test/abilities/stakeout.test.ts b/test/abilities/stakeout.test.ts index b464b3f1dfc..b3a7bdbf287 100644 --- a/test/abilities/stakeout.test.ts +++ b/test/abilities/stakeout.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Stakeout", () => { game.override .moveset([Moves.SPLASH, Moves.SURF]) .ability(Abilities.STAKEOUT) - .battleType("single") + .battleStyle("single") .disableCrits() .startingLevel(100) .enemyLevel(100) diff --git a/test/abilities/stall.test.ts b/test/abilities/stall.test.ts index 5b67e5f4b7a..68b3fdedcd8 100644 --- a/test/abilities/stall.test.ts +++ b/test/abilities/stall.test.ts @@ -22,7 +22,7 @@ describe("Abilities - Stall", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.enemySpecies(Species.REGIELEKI); game.override.enemyAbility(Abilities.STALL); diff --git a/test/abilities/steely_spirit.test.ts b/test/abilities/steely_spirit.test.ts index eb5e7aac601..be759724c3a 100644 --- a/test/abilities/steely_spirit.test.ts +++ b/test/abilities/steely_spirit.test.ts @@ -28,7 +28,7 @@ describe("Abilities - Steely Spirit", () => { beforeEach(() => { ironHeadPower = allMoves[moveToCheck].power; game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemySpecies(Species.SHUCKLE); game.override.enemyAbility(Abilities.BALL_FETCH); game.override.moveset([Moves.IRON_HEAD, Moves.SPLASH]); diff --git a/test/abilities/storm_drain.test.ts b/test/abilities/storm_drain.test.ts index 58ff477fa43..0cbad796ad8 100644 --- a/test/abilities/storm_drain.test.ts +++ b/test/abilities/storm_drain.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Storm Drain", () => { game.override .moveset([Moves.SPLASH, Moves.WATER_GUN]) .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/sturdy.test.ts b/test/abilities/sturdy.test.ts index 7b7254cff15..bda8c6d1e35 100644 --- a/test/abilities/sturdy.test.ts +++ b/test/abilities/sturdy.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Sturdy", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.LUCARIO); game.override.startingLevel(100); diff --git a/test/abilities/super_luck.test.ts b/test/abilities/super_luck.test.ts index bc9524de801..9e0b6485734 100644 --- a/test/abilities/super_luck.test.ts +++ b/test/abilities/super_luck.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Super Luck", () => { game.override .moveset([Moves.TACKLE]) .ability(Abilities.SUPER_LUCK) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/supreme_overlord.test.ts b/test/abilities/supreme_overlord.test.ts index a71bf0a9354..8af0a0ac37c 100644 --- a/test/abilities/supreme_overlord.test.ts +++ b/test/abilities/supreme_overlord.test.ts @@ -31,7 +31,7 @@ describe("Abilities - Supreme Overlord", () => { basePower = move.power; game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyLevel(100) .startingLevel(1) diff --git a/test/abilities/sweet_veil.test.ts b/test/abilities/sweet_veil.test.ts index 650ee53a474..e609aa6e7d2 100644 --- a/test/abilities/sweet_veil.test.ts +++ b/test/abilities/sweet_veil.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Sweet Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.SPLASH, Moves.REST, Moves.YAWN]); game.override.enemySpecies(Species.MAGIKARP); game.override.enemyAbility(Abilities.BALL_FETCH); diff --git a/test/abilities/synchronize.test.ts b/test/abilities/synchronize.test.ts index 95ebf96f2fd..783201d7a5b 100644 --- a/test/abilities/synchronize.test.ts +++ b/test/abilities/synchronize.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Synchronize", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.SYNCHRONIZE) diff --git a/test/abilities/tera_shell.test.ts b/test/abilities/tera_shell.test.ts index a99ecfd4ce1..c387da30166 100644 --- a/test/abilities/tera_shell.test.ts +++ b/test/abilities/tera_shell.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Tera Shell", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.TERA_SHELL) .moveset([Moves.SPLASH]) .enemySpecies(Species.SNORLAX) diff --git a/test/abilities/thermal_exchange.test.ts b/test/abilities/thermal_exchange.test.ts index 124c1dba286..c33b296d5ae 100644 --- a/test/abilities/thermal_exchange.test.ts +++ b/test/abilities/thermal_exchange.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Thermal Exchange", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Thermal Exchange", () => { }); it("should remove burn when gained", async () => { - game.override.ability(Abilities.THERMAL_EXCHANGE) + game.override + .ability(Abilities.THERMAL_EXCHANGE) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.BURN); expect(enemy?.status?.effect).toBe(StatusEffect.BURN); diff --git a/test/abilities/trace.test.ts b/test/abilities/trace.test.ts index 5d569208d33..7ec8d62ab51 100644 --- a/test/abilities/trace.test.ts +++ b/test/abilities/trace.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Trace", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.TRACE) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/unburden.test.ts b/test/abilities/unburden.test.ts index 769e078faf8..2af889d1da4 100644 --- a/test/abilities/unburden.test.ts +++ b/test/abilities/unburden.test.ts @@ -41,7 +41,7 @@ describe("Abilities - Unburden", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .startingLevel(1) .ability(Abilities.UNBURDEN) .moveset([Moves.SPLASH, Moves.KNOCK_OFF, Moves.PLUCK, Moves.FALSE_SWIPE]) @@ -231,7 +231,7 @@ describe("Abilities - Unburden", () => { }); it("should deactivate temporarily when a neutralizing gas user is on the field", async () => { - game.override.battleType("double").ability(Abilities.NONE); // Disable ability override so that we can properly set abilities below + game.override.battleStyle("double").ability(Abilities.NONE); // Disable ability override so that we can properly set abilities below await game.classicMode.startBattle([Species.TREECKO, Species.MEOWTH, Species.WEEZING]); const [treecko, _meowth, weezing] = game.scene.getPlayerParty(); @@ -359,7 +359,7 @@ describe("Abilities - Unburden", () => { // test for `.bypassFaint()` - doubles it("shouldn't persist when revived by revival blessing if activated while fainting", async () => { game.override - .battleType("double") + .battleStyle("double") .enemyMoveset([Moves.SPLASH, Moves.THIEF]) .moveset([Moves.SPLASH, Moves.REVIVAL_BLESSING]) .startingHeldItems([{ name: "WIDE_LENS" }]); diff --git a/test/abilities/unseen_fist.test.ts b/test/abilities/unseen_fist.test.ts index 459bb00628c..6c14e82fc39 100644 --- a/test/abilities/unseen_fist.test.ts +++ b/test/abilities/unseen_fist.test.ts @@ -24,7 +24,7 @@ describe("Abilities - Unseen Fist", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.URSHIFU); game.override.enemySpecies(Species.SNORLAX); game.override.enemyMoveset([Moves.PROTECT, Moves.PROTECT, Moves.PROTECT, Moves.PROTECT]); diff --git a/test/abilities/victory_star.test.ts b/test/abilities/victory_star.test.ts index 92db522871a..f3c0b5ad6b7 100644 --- a/test/abilities/victory_star.test.ts +++ b/test/abilities/victory_star.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Victory Star", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.TACKLE, Moves.SPLASH]) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/vital_spirit.test.ts b/test/abilities/vital_spirit.test.ts index 3a53c3f520e..bb274310cc0 100644 --- a/test/abilities/vital_spirit.test.ts +++ b/test/abilities/vital_spirit.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Vital Spirit", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Vital Spirit", () => { }); it("should remove sleep when gained", async () => { - game.override.ability(Abilities.INSOMNIA) + game.override + .ability(Abilities.INSOMNIA) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.SLEEP); expect(enemy?.status?.effect).toBe(StatusEffect.SLEEP); diff --git a/test/abilities/volt_absorb.test.ts b/test/abilities/volt_absorb.test.ts index 10735f31987..920c822eb90 100644 --- a/test/abilities/volt_absorb.test.ts +++ b/test/abilities/volt_absorb.test.ts @@ -26,7 +26,7 @@ describe("Abilities - Volt Absorb", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); }); diff --git a/test/abilities/wandering_spirit.test.ts b/test/abilities/wandering_spirit.test.ts index 375faa41972..639241aecc8 100644 --- a/test/abilities/wandering_spirit.test.ts +++ b/test/abilities/wandering_spirit.test.ts @@ -25,7 +25,7 @@ describe("Abilities - Wandering Spirit", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.WANDERING_SPIRIT) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/water_bubble.test.ts b/test/abilities/water_bubble.test.ts index 0b85a5814da..c1e2acbd468 100644 --- a/test/abilities/water_bubble.test.ts +++ b/test/abilities/water_bubble.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Water Bubble", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Water Bubble", () => { }); it("should remove burn when gained", async () => { - game.override.ability(Abilities.THERMAL_EXCHANGE) + game.override + .ability(Abilities.THERMAL_EXCHANGE) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.BURN); expect(enemy?.status?.effect).toBe(StatusEffect.BURN); diff --git a/test/abilities/water_veil.test.ts b/test/abilities/water_veil.test.ts index 38c9a05600b..8e187ad8e58 100644 --- a/test/abilities/water_veil.test.ts +++ b/test/abilities/water_veil.test.ts @@ -23,9 +23,9 @@ describe("Abilities - Water Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([ Moves.SPLASH ]) + .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,12 +33,12 @@ describe("Abilities - Water Veil", () => { }); it("should remove burn when gained", async () => { - game.override.ability(Abilities.THERMAL_EXCHANGE) + game.override + .ability(Abilities.THERMAL_EXCHANGE) .enemyAbility(Abilities.BALL_FETCH) .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH), - - await game.classicMode.startBattle([ Species.FEEBAS ]); + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.BURN); expect(enemy?.status?.effect).toBe(StatusEffect.BURN); diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index 294025a10e7..c46675376c1 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -31,7 +31,7 @@ describe("Abilities - Wimp Out", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.WIMP_OUT) .enemySpecies(Species.NINJASK) .enemyPassiveAbility(Abilities.NO_GUARD) @@ -342,7 +342,7 @@ describe("Abilities - Wimp Out", () => { }); it("Wimp Out activating should not cancel a double battle", async () => { - game.override.battleType("double").enemyAbility(Abilities.WIMP_OUT).enemyMoveset([Moves.SPLASH]).enemyLevel(1); + game.override.battleStyle("double").enemyAbility(Abilities.WIMP_OUT).enemyMoveset([Moves.SPLASH]).enemyLevel(1); await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); const enemyLeadPokemon = game.scene.getEnemyParty()[0]; const enemySecPokemon = game.scene.getEnemyParty()[1]; @@ -508,7 +508,7 @@ describe("Abilities - Wimp Out", () => { .moveset([Moves.MATCHA_GOTCHA, Moves.FALSE_SWIPE]) .startingLevel(50) .enemyLevel(1) - .battleType("double") + .battleStyle("double") .startingWave(wave); await game.classicMode.startBattle([Species.RAICHU, Species.PIKACHU]); const [wimpod0, wimpod1] = game.scene.getEnemyField(); @@ -534,12 +534,12 @@ describe("Abilities - Wimp Out", () => { .enemyAbility(Abilities.WIMP_OUT) .startingLevel(50) .enemyLevel(1) - .enemyMoveset([ Moves.SPLASH, Moves.ENDURE ]) - .battleType("double") - .moveset([ Moves.DRAGON_ENERGY, Moves.SPLASH ]) + .enemyMoveset([Moves.SPLASH, Moves.ENDURE]) + .battleStyle("double") + .moveset([Moves.DRAGON_ENERGY, Moves.SPLASH]) .startingWave(wave); - await game.classicMode.startBattle([ Species.REGIDRAGO, Species.MAGIKARP ]); + await game.classicMode.startBattle([Species.REGIDRAGO, Species.MAGIKARP]); // turn 1 game.move.select(Moves.DRAGON_ENERGY, 0); @@ -549,6 +549,5 @@ describe("Abilities - Wimp Out", () => { await game.phaseInterceptor.to("SelectModifierPhase"); expect(game.scene.currentBattle.waveIndex).toBe(wave + 1); - }); }); diff --git a/test/abilities/wind_power.test.ts b/test/abilities/wind_power.test.ts index b28ac3362eb..66c72d454ab 100644 --- a/test/abilities/wind_power.test.ts +++ b/test/abilities/wind_power.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Wind Power", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.SHIFTRY); game.override.enemyAbility(Abilities.WIND_POWER); game.override.moveset([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]); diff --git a/test/abilities/wind_rider.test.ts b/test/abilities/wind_rider.test.ts index 8fdae1b24ec..f8301aa03fc 100644 --- a/test/abilities/wind_rider.test.ts +++ b/test/abilities/wind_rider.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Wind Rider", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SHIFTRY) .enemyAbility(Abilities.WIND_RIDER) .moveset([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]) diff --git a/test/abilities/wonder_skin.test.ts b/test/abilities/wonder_skin.test.ts index 18d5be36aef..d039ba1e6a7 100644 --- a/test/abilities/wonder_skin.test.ts +++ b/test/abilities/wonder_skin.test.ts @@ -23,7 +23,7 @@ describe("Abilities - Wonder Skin", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.TACKLE, Moves.CHARM]); game.override.ability(Abilities.BALL_FETCH); game.override.enemySpecies(Species.SHUCKLE); diff --git a/test/abilities/zen_mode.test.ts b/test/abilities/zen_mode.test.ts index d552d8c88ca..1eb27a8f6c7 100644 --- a/test/abilities/zen_mode.test.ts +++ b/test/abilities/zen_mode.test.ts @@ -26,7 +26,7 @@ describe("Abilities - ZEN MODE", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/abilities/zero_to_hero.test.ts b/test/abilities/zero_to_hero.test.ts index 4565aa3e8b2..2cdc516dc6b 100644 --- a/test/abilities/zero_to_hero.test.ts +++ b/test/abilities/zero_to_hero.test.ts @@ -27,7 +27,7 @@ describe("Abilities - ZERO TO HERO", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset(Moves.SPLASH) .enemyMoveset(Moves.SPLASH) .enemyAbility(Abilities.BALL_FETCH); diff --git a/test/arena/arena_gravity.test.ts b/test/arena/arena_gravity.test.ts index a5ce84667f0..0ce5ac0ea4c 100644 --- a/test/arena/arena_gravity.test.ts +++ b/test/arena/arena_gravity.test.ts @@ -26,7 +26,7 @@ describe("Arena - Gravity", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.TACKLE, Moves.GRAVITY, Moves.FISSURE]) .ability(Abilities.UNNERVE) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/arena/grassy_terrain.test.ts b/test/arena/grassy_terrain.test.ts index d92fb24be5a..f8ca07bd65e 100644 --- a/test/arena/grassy_terrain.test.ts +++ b/test/arena/grassy_terrain.test.ts @@ -22,7 +22,7 @@ describe("Arena - Grassy Terrain", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemyLevel(1) .enemySpecies(Species.SHUCKLE) diff --git a/test/arena/weather_fog.test.ts b/test/arena/weather_fog.test.ts index 784c4886648..b1edf75704b 100644 --- a/test/arena/weather_fog.test.ts +++ b/test/arena/weather_fog.test.ts @@ -24,7 +24,7 @@ describe("Weather - Fog", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.weather(WeatherType.FOG).battleType("single"); + game.override.weather(WeatherType.FOG).battleStyle("single"); game.override.moveset([Moves.TACKLE]); game.override.ability(Abilities.BALL_FETCH); game.override.enemyAbility(Abilities.BALL_FETCH); diff --git a/test/arena/weather_hail.test.ts b/test/arena/weather_hail.test.ts index 7af2edf26f2..2fa4f71d8ca 100644 --- a/test/arena/weather_hail.test.ts +++ b/test/arena/weather_hail.test.ts @@ -24,7 +24,7 @@ describe("Weather - Hail", () => { game = new GameManager(phaserGame); game.override .weather(WeatherType.HAIL) - .battleType("single") + .battleStyle("single") .moveset(Moves.SPLASH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.MAGIKARP); diff --git a/test/arena/weather_sandstorm.test.ts b/test/arena/weather_sandstorm.test.ts index d43983c4c01..e7620f6cf30 100644 --- a/test/arena/weather_sandstorm.test.ts +++ b/test/arena/weather_sandstorm.test.ts @@ -25,7 +25,7 @@ describe("Weather - Sandstorm", () => { game = new GameManager(phaserGame); game.override .weather(WeatherType.SANDSTORM) - .battleType("single") + .battleStyle("single") .moveset(Moves.SPLASH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.MAGIKARP); @@ -60,7 +60,7 @@ describe("Weather - Sandstorm", () => { it("does not inflict damage to Rock, Ground and Steel type Pokemon", async () => { game.override - .battleType("double") + .battleStyle("double") .enemySpecies(Species.SANDSHREW) .ability(Abilities.BALL_FETCH) .enemyAbility(Abilities.BALL_FETCH); diff --git a/test/arena/weather_strong_winds.test.ts b/test/arena/weather_strong_winds.test.ts index 3a9235d9eb9..9fcdb18c872 100644 --- a/test/arena/weather_strong_winds.test.ts +++ b/test/arena/weather_strong_winds.test.ts @@ -24,7 +24,7 @@ describe("Weather - Strong Winds", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.startingLevel(10); game.override.enemySpecies(Species.TAILLOW); game.override.enemyAbility(Abilities.DELTA_STREAM); diff --git a/test/battle/ability_swap.test.ts b/test/battle/ability_swap.test.ts index 215321f26c2..c9f91df3a48 100644 --- a/test/battle/ability_swap.test.ts +++ b/test/battle/ability_swap.test.ts @@ -26,7 +26,7 @@ describe("Test Ability Swapping", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/battle/battle-order.test.ts b/test/battle/battle-order.test.ts index 012f1ecd4bd..43fa1e59c14 100644 --- a/test/battle/battle-order.test.ts +++ b/test/battle/battle-order.test.ts @@ -24,7 +24,7 @@ describe("Battle order", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.MEWTWO); game.override.enemyAbility(Abilities.INSOMNIA); game.override.ability(Abilities.INSOMNIA); @@ -70,7 +70,7 @@ describe("Battle order", () => { }, 20000); it("double - both opponents faster than player 50/50 vs 150/150", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.startBattle([Species.BULBASAUR, Species.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); @@ -94,7 +94,7 @@ describe("Battle order", () => { }, 20000); it("double - speed tie except 1 - 100/100 vs 100/150", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.startBattle([Species.BULBASAUR, Species.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); @@ -118,7 +118,7 @@ describe("Battle order", () => { }, 20000); it("double - speed tie 100/150 vs 100/150", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.startBattle([Species.BULBASAUR, Species.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); diff --git a/test/battle/battle.test.ts b/test/battle/battle.test.ts index 36d197d1289..51304c7d5dd 100644 --- a/test/battle/battle.test.ts +++ b/test/battle/battle.test.ts @@ -94,7 +94,7 @@ describe("Test Battle Phase", () => { game.override.starterSpecies(Species.MEWTWO); game.override.enemySpecies(Species.RATTATA); game.override.startingLevel(2000); - game.override.startingWave(3).battleType("single"); + game.override.startingWave(3).battleStyle("single"); game.override.moveset([Moves.TACKLE]); game.override.enemyAbility(Abilities.HYDRATION); game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); @@ -111,7 +111,7 @@ describe("Test Battle Phase", () => { game.override.moveset([Moves.TACKLE]); game.override.enemyAbility(Abilities.HYDRATION); game.override.enemyMoveset([Moves.TAIL_WHIP, Moves.TAIL_WHIP, Moves.TAIL_WHIP, Moves.TAIL_WHIP]); - game.override.battleType("single"); + game.override.battleStyle("single"); await game.startBattle(); game.move.select(Moves.TACKLE); await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnInitPhase, false); @@ -203,7 +203,7 @@ describe("Test Battle Phase", () => { }, 20000); it("2vs1", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.MIGHTYENA); game.override.enemyAbility(Abilities.HYDRATION); game.override.ability(Abilities.HYDRATION); @@ -213,7 +213,7 @@ describe("Test Battle Phase", () => { }, 20000); it("1vs1", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.MIGHTYENA); game.override.enemyAbility(Abilities.HYDRATION); game.override.ability(Abilities.HYDRATION); @@ -223,7 +223,7 @@ describe("Test Battle Phase", () => { }, 20000); it("2vs2", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemySpecies(Species.MIGHTYENA); game.override.enemyAbility(Abilities.HYDRATION); game.override.ability(Abilities.HYDRATION); @@ -234,7 +234,7 @@ describe("Test Battle Phase", () => { }, 20000); it("4vs2", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemySpecies(Species.MIGHTYENA); game.override.enemyAbility(Abilities.HYDRATION); game.override.ability(Abilities.HYDRATION); @@ -246,7 +246,7 @@ describe("Test Battle Phase", () => { it("kill opponent pokemon", async () => { const moveToUse = Moves.SPLASH; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.MEWTWO); game.override.enemySpecies(Species.RATTATA); game.override.enemyAbility(Abilities.HYDRATION); @@ -266,7 +266,7 @@ describe("Test Battle Phase", () => { it("to next turn", async () => { const moveToUse = Moves.SPLASH; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.MEWTWO); game.override.enemySpecies(Species.RATTATA); game.override.enemyAbility(Abilities.HYDRATION); @@ -285,7 +285,7 @@ describe("Test Battle Phase", () => { it("does not set new weather if staying in same biome", async () => { const moveToUse = Moves.SPLASH; game.override - .battleType("single") + .battleStyle("single") .starterSpecies(Species.MEWTWO) .enemySpecies(Species.RATTATA) .enemyAbility(Abilities.HYDRATION) @@ -309,7 +309,7 @@ describe("Test Battle Phase", () => { it("does not force switch if active pokemon faints at same time as enemy mon and is revived in post-battle", async () => { const moveToUse = Moves.TAKE_DOWN; game.override - .battleType("single") + .battleStyle("single") .starterSpecies(Species.SAWK) .enemySpecies(Species.RATTATA) .startingWave(1) diff --git a/test/battle/damage_calculation.test.ts b/test/battle/damage_calculation.test.ts index dab1fc81caa..e8b3b65bd29 100644 --- a/test/battle/damage_calculation.test.ts +++ b/test/battle/damage_calculation.test.ts @@ -26,7 +26,7 @@ describe("Battle Mechanics - Damage Calculation", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) diff --git a/test/battle/double_battle.test.ts b/test/battle/double_battle.test.ts index 21d27573d22..a30d55aac3d 100644 --- a/test/battle/double_battle.test.ts +++ b/test/battle/double_battle.test.ts @@ -33,7 +33,7 @@ describe("Double Battles", () => { // 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(Moves.SPLASH).moveset(Moves.SPLASH); + game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).moveset(Moves.SPLASH); await game.startBattle([Species.BULBASAUR, Species.CHARIZARD, Species.SQUIRTLE]); game.move.select(Moves.SPLASH); diff --git a/test/battle/inverse_battle.test.ts b/test/battle/inverse_battle.test.ts index 83109c35740..f8afa3518a9 100644 --- a/test/battle/inverse_battle.test.ts +++ b/test/battle/inverse_battle.test.ts @@ -30,7 +30,7 @@ describe("Inverse Battle", () => { game.challengeMode.addChallenge(Challenges.INVERSE_BATTLE, 1, 1); game.override - .battleType("single") + .battleStyle("single") .starterSpecies(Species.FEEBAS) .ability(Abilities.BALL_FETCH) .enemySpecies(Species.MAGIKARP) diff --git a/test/battle/special_battle.test.ts b/test/battle/special_battle.test.ts index cf7f3733484..46dd8eaa010 100644 --- a/test/battle/special_battle.test.ts +++ b/test/battle/special_battle.test.ts @@ -32,63 +32,63 @@ describe("Test Battle Phase", () => { }); it("startBattle 2vs1 boss", async () => { - game.override.battleType("single").startingWave(10); + game.override.battleStyle("single").startingWave(10); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 boss", async () => { - game.override.battleType("double").startingWave(10); + game.override.battleStyle("double").startingWave(10); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 trainer", async () => { - game.override.battleType("double").startingWave(5); + game.override.battleStyle("double").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs1 trainer", async () => { - game.override.battleType("single").startingWave(5); + game.override.battleStyle("single").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs1 rival", async () => { - game.override.battleType("single").startingWave(8); + game.override.battleStyle("single").startingWave(8); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 rival", async () => { - game.override.battleType("double").startingWave(8); + game.override.battleStyle("double").startingWave(8); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 1vs1 trainer", async () => { - game.override.battleType("single").startingWave(5); + game.override.battleStyle("single").startingWave(5); await game.startBattle([Species.BLASTOISE]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 trainer", async () => { - game.override.battleType("double").startingWave(5); + game.override.battleStyle("double").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 4vs2 trainer", async () => { - game.override.battleType("double").startingWave(5); + game.override.battleStyle("double").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD, Species.DARKRAI, Species.GABITE]); expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); diff --git a/test/boss-pokemon.test.ts b/test/boss-pokemon.test.ts index 6b150de2d2b..9df69da09b7 100644 --- a/test/boss-pokemon.test.ts +++ b/test/boss-pokemon.test.ts @@ -26,7 +26,7 @@ describe("Boss Pokemon / Shields", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableTrainerWaves() .disableCrits() .enemySpecies(Species.RATTATA) @@ -63,7 +63,7 @@ describe("Boss Pokemon / Shields", () => { }); it("should reduce the number of shields if we are in a double battle", async () => { - game.override.battleType("double").startingWave(150); // Floor 150 > 2 shields / 3 health segments + game.override.battleStyle("double").startingWave(150); // Floor 150 > 2 shields / 3 health segments await game.classicMode.startBattle([Species.MEWTWO]); @@ -105,7 +105,7 @@ describe("Boss Pokemon / Shields", () => { }); it("breaking multiple shields at once requires extra damage", async () => { - game.override.battleType("double").enemyHealthSegments(5); + game.override.battleStyle("double").enemyHealthSegments(5); await game.classicMode.startBattle([Species.MEWTWO]); @@ -140,7 +140,7 @@ describe("Boss Pokemon / Shields", () => { it("the number of stat stage boosts is consistent when several shields are broken at once", async () => { const shieldsToBreak = 4; - game.override.battleType("double").enemyHealthSegments(shieldsToBreak + 1); + game.override.battleStyle("double").enemyHealthSegments(shieldsToBreak + 1); await game.classicMode.startBattle([Species.MEWTWO]); diff --git a/test/daily_mode.test.ts b/test/daily_mode.test.ts index c530fca61a6..6b95543fb3b 100644 --- a/test/daily_mode.test.ts +++ b/test/daily_mode.test.ts @@ -57,7 +57,7 @@ describe("Shop modifications", async () => { game.override .startingWave(9) .startingBiome(Biome.ICE_CAVE) - .battleType("single") + .battleStyle("single") .startingLevel(100) // Avoid levelling up .disableTrainerWaves() .moveset([Moves.SPLASH]) diff --git a/test/data/status_effect.test.ts b/test/data/status_effect.test.ts index 0fd2daa308b..111136bf0a2 100644 --- a/test/data/status_effect.test.ts +++ b/test/data/status_effect.test.ts @@ -358,7 +358,7 @@ describe("Status Effects", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -414,7 +414,7 @@ describe("Status Effects", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/escape-calculations.test.ts b/test/escape-calculations.test.ts index b4504c7359c..d591bdec9fc 100644 --- a/test/escape-calculations.test.ts +++ b/test/escape-calculations.test.ts @@ -25,7 +25,7 @@ describe("Escape chance calculations", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.BULBASAUR) .enemyAbility(Abilities.INSOMNIA) .ability(Abilities.INSOMNIA); @@ -97,7 +97,7 @@ describe("Escape chance calculations", () => { }, 20000); it("double non-boss opponent", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.BULBASAUR, Species.ABOMASNOW]); const playerPokemon = game.scene.getPlayerField(); @@ -262,7 +262,7 @@ describe("Escape chance calculations", () => { }, 20000); it("double boss opponent", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.startingWave(10); await game.classicMode.startBattle([Species.BULBASAUR, Species.ABOMASNOW]); diff --git a/test/evolution.test.ts b/test/evolution.test.ts index dd6795bf161..68d02402eac 100644 --- a/test/evolution.test.ts +++ b/test/evolution.test.ts @@ -28,7 +28,7 @@ describe("Evolution", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.MAGIKARP); game.override.enemyAbility(Abilities.BALL_FETCH); diff --git a/test/items/dire_hit.test.ts b/test/items/dire_hit.test.ts index 038d88ddc73..f6197e097c2 100644 --- a/test/items/dire_hit.test.ts +++ b/test/items/dire_hit.test.ts @@ -36,7 +36,7 @@ describe("Items - Dire Hit", () => { .enemyMoveset(Moves.SPLASH) .moveset([Moves.POUND]) .startingHeldItems([{ name: "DIRE_HIT" }]) - .battleType("single") + .battleStyle("single") .disableCrits(); }, 20000); diff --git a/test/items/eviolite.test.ts b/test/items/eviolite.test.ts index 2b82e2145e9..43fd6a795bb 100644 --- a/test/items/eviolite.test.ts +++ b/test/items/eviolite.test.ts @@ -22,7 +22,7 @@ describe("Items - Eviolite", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single").startingHeldItems([{ name: "EVIOLITE" }]); + game.override.battleStyle("single").startingHeldItems([{ name: "EVIOLITE" }]); }); it("should provide 50% boost to DEF and SPDEF for unevolved, unfused pokemon", async () => { diff --git a/test/items/exp_booster.test.ts b/test/items/exp_booster.test.ts index 2b1308f1afb..3fe31e5c202 100644 --- a/test/items/exp_booster.test.ts +++ b/test/items/exp_booster.test.ts @@ -24,7 +24,7 @@ describe("EXP Modifier Items", () => { game.override.enemyAbility(Abilities.BALL_FETCH); game.override.ability(Abilities.BALL_FETCH); - game.override.battleType("single"); + game.override.battleStyle("single"); }); it("EXP booster items stack multiplicatively", async () => { diff --git a/test/items/grip_claw.test.ts b/test/items/grip_claw.test.ts index aa7c23ca43d..2396a7ca072 100644 --- a/test/items/grip_claw.test.ts +++ b/test/items/grip_claw.test.ts @@ -27,7 +27,7 @@ describe("Items - Grip Claw", () => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .moveset([Moves.TACKLE, Moves.SPLASH, Moves.ATTRACT]) .startingHeldItems([{ name: "GRIP_CLAW", count: 1 }]) .enemySpecies(Species.SNORLAX) @@ -101,7 +101,7 @@ describe("Items - Grip Claw", () => { it("should not allow Pollen Puff to steal items when healing ally", async () => { game.override - .battleType("double") + .battleStyle("double") .moveset([Moves.POLLEN_PUFF, Moves.ENDURE]) .startingHeldItems([ { name: "GRIP_CLAW", count: 1 }, diff --git a/test/items/leek.test.ts b/test/items/leek.test.ts index afb31a5f9fa..5f9be882bc1 100644 --- a/test/items/leek.test.ts +++ b/test/items/leek.test.ts @@ -29,7 +29,7 @@ describe("Items - Leek", () => { .startingHeldItems([{ name: "LEEK" }]) .moveset([Moves.TACKLE]) .disableCrits() - .battleType("single"); + .battleStyle("single"); }); it("should raise CRIT stage by 2 when held by FARFETCHD", async () => { diff --git a/test/items/leftovers.test.ts b/test/items/leftovers.test.ts index ad22e9c3cae..19739703f19 100644 --- a/test/items/leftovers.test.ts +++ b/test/items/leftovers.test.ts @@ -23,7 +23,7 @@ describe("Items - Leftovers", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.startingLevel(2000); game.override.ability(Abilities.UNNERVE); game.override.moveset([Moves.SPLASH]); diff --git a/test/items/light_ball.test.ts b/test/items/light_ball.test.ts index 1f5227142eb..e85fb1b602b 100644 --- a/test/items/light_ball.test.ts +++ b/test/items/light_ball.test.ts @@ -25,7 +25,7 @@ describe("Items - Light Ball", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); }); it("LIGHT_BALL activates in battle correctly", async () => { diff --git a/test/items/lock_capsule.test.ts b/test/items/lock_capsule.test.ts index 4e4182b3038..9cc6046307e 100644 --- a/test/items/lock_capsule.test.ts +++ b/test/items/lock_capsule.test.ts @@ -25,7 +25,7 @@ describe("Items - Lock Capsule", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .startingLevel(200) .moveset([Moves.SURF]) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/items/metal_powder.test.ts b/test/items/metal_powder.test.ts index ed96d3c498b..37686710848 100644 --- a/test/items/metal_powder.test.ts +++ b/test/items/metal_powder.test.ts @@ -25,7 +25,7 @@ describe("Items - Metal Powder", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); }); it("METAL_POWDER activates in battle correctly", async () => { diff --git a/test/items/multi_lens.test.ts b/test/items/multi_lens.test.ts index 176e8213f55..ff6154b8283 100644 --- a/test/items/multi_lens.test.ts +++ b/test/items/multi_lens.test.ts @@ -27,7 +27,7 @@ describe("Items - Multi Lens", () => { .moveset([Moves.TACKLE, Moves.TRAILBLAZE, Moves.TACHYON_CUTTER, Moves.FUTURE_SIGHT]) .ability(Abilities.BALL_FETCH) .startingHeldItems([{ name: "MULTI_LENS" }]) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) @@ -99,7 +99,7 @@ describe("Items - Multi Lens", () => { }); it("should enhance multi-target moves", async () => { - game.override.battleType("double").moveset([Moves.SWIFT, Moves.SPLASH]); + game.override.battleStyle("double").moveset([Moves.SWIFT, Moves.SPLASH]); await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); @@ -213,7 +213,7 @@ describe("Items - Multi Lens", () => { }); it("should not allow Pollen Puff to heal ally more than once", async () => { - game.override.battleType("double").moveset([Moves.POLLEN_PUFF, Moves.ENDURE]); + game.override.battleStyle("double").moveset([Moves.POLLEN_PUFF, Moves.ENDURE]); await game.classicMode.startBattle([Species.BULBASAUR, Species.OMANYTE]); const [, rightPokemon] = game.scene.getPlayerField(); diff --git a/test/items/mystical_rock.test.ts b/test/items/mystical_rock.test.ts index 0558bc21fe1..59119ce8611 100644 --- a/test/items/mystical_rock.test.ts +++ b/test/items/mystical_rock.test.ts @@ -29,7 +29,7 @@ describe("Items - Mystical Rock", () => { .enemyAbility(Abilities.BALL_FETCH) .moveset([Moves.SUNNY_DAY, Moves.GRASSY_TERRAIN]) .startingHeldItems([{ name: "MYSTICAL_ROCK", count: 2 }]) - .battleType("single"); + .battleStyle("single"); }); it("should increase weather duration by +2 turns per stack", async () => { diff --git a/test/items/quick_powder.test.ts b/test/items/quick_powder.test.ts index 7115cad8cd1..6937d6093f3 100644 --- a/test/items/quick_powder.test.ts +++ b/test/items/quick_powder.test.ts @@ -25,7 +25,7 @@ describe("Items - Quick Powder", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); }); it("QUICK_POWDER activates in battle correctly", async () => { diff --git a/test/items/reviver_seed.test.ts b/test/items/reviver_seed.test.ts index c06f354a94a..c109794d3d2 100644 --- a/test/items/reviver_seed.test.ts +++ b/test/items/reviver_seed.test.ts @@ -28,7 +28,7 @@ describe("Items - Reviver Seed", () => { game.override .moveset([Moves.SPLASH, Moves.TACKLE, Moves.ENDURE]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/items/scope_lens.test.ts b/test/items/scope_lens.test.ts index abd5cd7e75c..4d2fd63f87b 100644 --- a/test/items/scope_lens.test.ts +++ b/test/items/scope_lens.test.ts @@ -27,7 +27,7 @@ describe("Items - Scope Lens", () => { .enemyMoveset(Moves.SPLASH) .moveset([Moves.POUND]) .startingHeldItems([{ name: "SCOPE_LENS" }]) - .battleType("single") + .battleStyle("single") .disableCrits(); }, 20000); diff --git a/test/items/temp_stat_stage_booster.test.ts b/test/items/temp_stat_stage_booster.test.ts index 6417f898e3e..ccbabf01ccb 100644 --- a/test/items/temp_stat_stage_booster.test.ts +++ b/test/items/temp_stat_stage_booster.test.ts @@ -30,7 +30,7 @@ describe("Items - Temporary Stat Stage Boosters", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SHUCKLE) .enemyMoveset(Moves.SPLASH) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/items/thick_club.test.ts b/test/items/thick_club.test.ts index 69ca316d455..9e9cd2e2ec8 100644 --- a/test/items/thick_club.test.ts +++ b/test/items/thick_club.test.ts @@ -25,7 +25,7 @@ describe("Items - Thick Club", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); }); it("THICK_CLUB activates in battle correctly", async () => { diff --git a/test/items/toxic_orb.test.ts b/test/items/toxic_orb.test.ts index 57e6b651b66..d02679e17c1 100644 --- a/test/items/toxic_orb.test.ts +++ b/test/items/toxic_orb.test.ts @@ -24,7 +24,7 @@ describe("Items - Toxic orb", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .ability(Abilities.BALL_FETCH) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/after_you.test.ts b/test/moves/after_you.test.ts index fde19b87b5d..3fa7c9ceb0a 100644 --- a/test/moves/after_you.test.ts +++ b/test/moves/after_you.test.ts @@ -25,7 +25,7 @@ describe("Moves - After You", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .enemyLevel(5) .enemySpecies(Species.PIKACHU) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/alluring_voice.test.ts b/test/moves/alluring_voice.test.ts index 777078e4786..240e008f311 100644 --- a/test/moves/alluring_voice.test.ts +++ b/test/moves/alluring_voice.test.ts @@ -25,7 +25,7 @@ describe("Moves - Alluring Voice", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.ICE_SCALES) diff --git a/test/moves/aromatherapy.test.ts b/test/moves/aromatherapy.test.ts index fe7a008249f..c361f4e8bbd 100644 --- a/test/moves/aromatherapy.test.ts +++ b/test/moves/aromatherapy.test.ts @@ -26,7 +26,7 @@ describe("Moves - Aromatherapy", () => { game.override .moveset([Moves.AROMATHERAPY, Moves.SPLASH]) .statusEffect(StatusEffect.BURN) - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); diff --git a/test/moves/assist.test.ts b/test/moves/assist.test.ts index 68322a7f193..d0385399811 100644 --- a/test/moves/assist.test.ts +++ b/test/moves/assist.test.ts @@ -29,7 +29,7 @@ describe("Moves - Assist", () => { // because the normal moveset override doesn't allow for accurate testing of moveset changes game.override .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyLevel(100) diff --git a/test/moves/astonish.test.ts b/test/moves/astonish.test.ts index 53922060ae6..1713df1de15 100644 --- a/test/moves/astonish.test.ts +++ b/test/moves/astonish.test.ts @@ -27,7 +27,7 @@ describe("Moves - Astonish", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.ASTONISH, Moves.SPLASH]); game.override.enemySpecies(Species.BLASTOISE); game.override.enemyAbility(Abilities.INSOMNIA); diff --git a/test/moves/aurora_veil.test.ts b/test/moves/aurora_veil.test.ts index 31f6497bae5..ef53b69b4e4 100644 --- a/test/moves/aurora_veil.test.ts +++ b/test/moves/aurora_veil.test.ts @@ -35,7 +35,7 @@ describe("Moves - Aurora Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); globalScene = game.scene; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.NONE); game.override.moveset([Moves.ABSORB, Moves.ROCK_SLIDE, Moves.TACKLE]); game.override.enemyLevel(100); @@ -62,7 +62,7 @@ describe("Moves - Aurora Veil", () => { }); it("reduces damage of physical attacks by a third in a double battle", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); const moveToUse = Moves.ROCK_SLIDE; await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); @@ -98,7 +98,7 @@ describe("Moves - Aurora Veil", () => { }); it("reduces damage of special attacks by a third in a double battle", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); const moveToUse = Moves.DAZZLING_GLEAM; await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); diff --git a/test/moves/autotomize.test.ts b/test/moves/autotomize.test.ts index 62ef185dea8..08e55f242bc 100644 --- a/test/moves/autotomize.test.ts +++ b/test/moves/autotomize.test.ts @@ -24,7 +24,7 @@ describe("Moves - Autotomize", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.AUTOTOMIZE, Moves.KINGS_SHIELD, Moves.FALSE_SWIPE]) - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); diff --git a/test/moves/baddy_bad.test.ts b/test/moves/baddy_bad.test.ts index cba13c7ac68..ed6c9239eea 100644 --- a/test/moves/baddy_bad.test.ts +++ b/test/moves/baddy_bad.test.ts @@ -22,7 +22,7 @@ describe("Moves - Baddy Bad", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) diff --git a/test/moves/baneful_bunker.test.ts b/test/moves/baneful_bunker.test.ts index 4624d77dc42..4d0d7237c00 100644 --- a/test/moves/baneful_bunker.test.ts +++ b/test/moves/baneful_bunker.test.ts @@ -24,7 +24,7 @@ describe("Moves - Baneful Bunker", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset(Moves.SLASH); diff --git a/test/moves/baton_pass.test.ts b/test/moves/baton_pass.test.ts index 9db6ec7c518..143ed285023 100644 --- a/test/moves/baton_pass.test.ts +++ b/test/moves/baton_pass.test.ts @@ -25,7 +25,7 @@ describe("Moves - Baton Pass", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .moveset([Moves.BATON_PASS, Moves.NASTY_PLOT, Moves.SPLASH]) diff --git a/test/moves/beak_blast.test.ts b/test/moves/beak_blast.test.ts index 252b28448fd..45841cecd52 100644 --- a/test/moves/beak_blast.test.ts +++ b/test/moves/beak_blast.test.ts @@ -27,7 +27,7 @@ describe("Moves - Beak Blast", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.UNNERVE) .moveset([Moves.BEAK_BLAST]) .enemySpecies(Species.SNORLAX) diff --git a/test/moves/beat_up.test.ts b/test/moves/beat_up.test.ts index 7e67f2ea363..ad6cad40d32 100644 --- a/test/moves/beat_up.test.ts +++ b/test/moves/beat_up.test.ts @@ -23,7 +23,7 @@ describe("Moves - Beat Up", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.SNORLAX); game.override.enemyLevel(100); diff --git a/test/moves/burning_jealousy.test.ts b/test/moves/burning_jealousy.test.ts index 04966b24206..ea02bf5f4f5 100644 --- a/test/moves/burning_jealousy.test.ts +++ b/test/moves/burning_jealousy.test.ts @@ -25,7 +25,7 @@ describe("Moves - Burning Jealousy", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.ICE_SCALES) @@ -50,7 +50,7 @@ describe("Moves - Burning Jealousy", () => { }); it("should still burn the opponent if their stat stages were both raised and lowered in the same turn", async () => { - game.override.starterSpecies(0).battleType("double"); + game.override.starterSpecies(0).battleStyle("double"); await game.classicMode.startBattle([Species.FEEBAS, Species.ABRA]); const enemy = game.scene.getEnemyPokemon()!; diff --git a/test/moves/camouflage.test.ts b/test/moves/camouflage.test.ts index 0bbab6a629a..38cdef80fc1 100644 --- a/test/moves/camouflage.test.ts +++ b/test/moves/camouflage.test.ts @@ -27,7 +27,7 @@ describe("Moves - Camouflage", () => { game.override .moveset([Moves.CAMOUFLAGE]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.REGIELEKI) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/ceaseless_edge.test.ts b/test/moves/ceaseless_edge.test.ts index d54f1bd9f21..72e552bef6f 100644 --- a/test/moves/ceaseless_edge.test.ts +++ b/test/moves/ceaseless_edge.test.ts @@ -26,7 +26,7 @@ describe("Moves - Ceaseless Edge", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyAbility(Abilities.RUN_AWAY); game.override.enemyPassiveAbility(Abilities.RUN_AWAY); diff --git a/test/moves/chilly_reception.test.ts b/test/moves/chilly_reception.test.ts index 39342a921b6..56da5dd400c 100644 --- a/test/moves/chilly_reception.test.ts +++ b/test/moves/chilly_reception.test.ts @@ -24,7 +24,7 @@ describe("Moves - Chilly Reception", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.CHILLY_RECEPTION, Moves.SNOWSCAPE]) .enemyMoveset(Array(4).fill(Moves.SPLASH)) .enemyAbility(Abilities.BALL_FETCH) @@ -70,7 +70,7 @@ describe("Moves - Chilly Reception", () => { // enemy uses another move and weather doesn't change it("check case - enemy not selecting chilly reception doesn't change weather ", async () => { game.override - .battleType("single") + .battleStyle("single") .enemyMoveset([Moves.CHILLY_RECEPTION, Moves.TACKLE]) .moveset(Array(4).fill(Moves.SPLASH)); @@ -85,7 +85,7 @@ describe("Moves - Chilly Reception", () => { it("enemy trainer - expected behavior ", async () => { game.override - .battleType("single") + .battleStyle("single") .startingWave(8) .enemyMoveset(Array(4).fill(Moves.CHILLY_RECEPTION)) .enemySpecies(Species.MAGIKARP) diff --git a/test/moves/chloroblast.test.ts b/test/moves/chloroblast.test.ts index f08eca100c4..175227bbd5e 100644 --- a/test/moves/chloroblast.test.ts +++ b/test/moves/chloroblast.test.ts @@ -24,7 +24,7 @@ describe("Moves - Chloroblast", () => { game.override .moveset([Moves.CHLOROBLAST]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/copycat.test.ts b/test/moves/copycat.test.ts index 0d9b0951f89..2e6e8098835 100644 --- a/test/moves/copycat.test.ts +++ b/test/moves/copycat.test.ts @@ -31,7 +31,7 @@ describe("Moves - Copycat", () => { game.override .moveset([Moves.COPYCAT, Moves.SPIKY_SHIELD, Moves.SWORDS_DANCE, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .starterSpecies(Species.FEEBAS) .enemySpecies(Species.MAGIKARP) diff --git a/test/moves/crafty_shield.test.ts b/test/moves/crafty_shield.test.ts index 3a2df6a3446..c61e6d3848a 100644 --- a/test/moves/crafty_shield.test.ts +++ b/test/moves/crafty_shield.test.ts @@ -26,7 +26,7 @@ describe("Moves - Crafty Shield", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.CRAFTY_SHIELD, Moves.SPLASH, Moves.SWORDS_DANCE]); diff --git a/test/moves/defog.test.ts b/test/moves/defog.test.ts index 64904e964c4..58631150b6f 100644 --- a/test/moves/defog.test.ts +++ b/test/moves/defog.test.ts @@ -25,7 +25,7 @@ describe("Moves - Defog", () => { game.override .moveset([Moves.MIST, Moves.SAFEGUARD, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.SHUCKLE) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/destiny_bond.test.ts b/test/moves/destiny_bond.test.ts index c39d40427ad..6e6446f464f 100644 --- a/test/moves/destiny_bond.test.ts +++ b/test/moves/destiny_bond.test.ts @@ -33,7 +33,7 @@ describe("Moves - Destiny Bond", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.UNNERVE) // Pre-emptively prevent flakiness from opponent berries .enemySpecies(Species.RATTATA) .enemyAbility(Abilities.RUN_AWAY) @@ -157,7 +157,7 @@ describe("Moves - Destiny Bond", () => { }); it("should not KO an ally", async () => { - game.override.moveset([Moves.DESTINY_BOND, Moves.CRUNCH]).battleType("double"); + game.override.moveset([Moves.DESTINY_BOND, Moves.CRUNCH]).battleStyle("double"); await game.classicMode.startBattle([Species.SHEDINJA, Species.BULBASAUR, Species.SQUIRTLE]); const enemyPokemon0 = game.scene.getEnemyField()[0]; @@ -201,7 +201,7 @@ describe("Moves - Destiny Bond", () => { }); it("should not cause a crash if the user is KO'd by Pledge moves", async () => { - game.override.moveset([Moves.GRASS_PLEDGE, Moves.WATER_PLEDGE]).battleType("double"); + game.override.moveset([Moves.GRASS_PLEDGE, Moves.WATER_PLEDGE]).battleStyle("double"); await game.classicMode.startBattle(defaultParty); const enemyPokemon0 = game.scene.getEnemyField()[0]; diff --git a/test/moves/diamond_storm.test.ts b/test/moves/diamond_storm.test.ts index 2363122f0d7..9ba62bbc52d 100644 --- a/test/moves/diamond_storm.test.ts +++ b/test/moves/diamond_storm.test.ts @@ -25,14 +25,14 @@ describe("Moves - Diamond Storm", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.DIAMOND_STORM]) - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); it("should only increase defense once even if hitting 2 pokemon", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); const diamondStorm = allMoves[Moves.DIAMOND_STORM]; vi.spyOn(diamondStorm, "chance", "get").mockReturnValue(100); vi.spyOn(diamondStorm, "accuracy", "get").mockReturnValue(100); diff --git a/test/moves/dig.test.ts b/test/moves/dig.test.ts index 81339111656..a53456ec083 100644 --- a/test/moves/dig.test.ts +++ b/test/moves/dig.test.ts @@ -27,7 +27,7 @@ describe("Moves - Dig", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.DIG) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyLevel(100) diff --git a/test/moves/disable.test.ts b/test/moves/disable.test.ts index fdfb748df9d..d21716145a4 100644 --- a/test/moves/disable.test.ts +++ b/test/moves/disable.test.ts @@ -23,7 +23,7 @@ describe("Moves - Disable", () => { beforeEach(async () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.BALL_FETCH) .enemyAbility(Abilities.BALL_FETCH) .moveset([Moves.DISABLE, Moves.SPLASH]) diff --git a/test/moves/dive.test.ts b/test/moves/dive.test.ts index d7b53701a25..f33dc69b55f 100644 --- a/test/moves/dive.test.ts +++ b/test/moves/dive.test.ts @@ -27,7 +27,7 @@ describe("Moves - Dive", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.DIVE) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyLevel(100) diff --git a/test/moves/doodle.test.ts b/test/moves/doodle.test.ts index 822e415c918..25dc0ddaede 100644 --- a/test/moves/doodle.test.ts +++ b/test/moves/doodle.test.ts @@ -26,7 +26,7 @@ describe("Moves - Doodle", () => { game.override .moveset([Moves.SPLASH, Moves.DOODLE]) .ability(Abilities.ADAPTABILITY) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -43,7 +43,7 @@ describe("Moves - Doodle", () => { }); it("should copy the opponent's ability to itself and its ally in doubles", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); game.move.select(Moves.DOODLE, 0, BattlerIndex.ENEMY); @@ -55,7 +55,7 @@ describe("Moves - Doodle", () => { }); it("should activate post-summon abilities", async () => { - game.override.battleType("double").enemyAbility(Abilities.INTIMIDATE); + game.override.battleStyle("double").enemyAbility(Abilities.INTIMIDATE); await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); diff --git a/test/moves/double_team.test.ts b/test/moves/double_team.test.ts index f6791573132..8eac6be11f4 100644 --- a/test/moves/double_team.test.ts +++ b/test/moves/double_team.test.ts @@ -23,7 +23,7 @@ describe("Moves - Double Team", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.DOUBLE_TEAM]); game.override.disableCrits(); game.override.ability(Abilities.BALL_FETCH); diff --git a/test/moves/dragon_cheer.test.ts b/test/moves/dragon_cheer.test.ts index 30d5af3a51b..dcf7f13eb65 100644 --- a/test/moves/dragon_cheer.test.ts +++ b/test/moves/dragon_cheer.test.ts @@ -23,7 +23,7 @@ describe("Moves - Dragon Cheer", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemyLevel(20) diff --git a/test/moves/dragon_rage.test.ts b/test/moves/dragon_rage.test.ts index 99d66421463..188c1511f37 100644 --- a/test/moves/dragon_rage.test.ts +++ b/test/moves/dragon_rage.test.ts @@ -31,7 +31,7 @@ describe("Moves - Dragon Rage", () => { beforeEach(async () => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.SNORLAX); game.override.moveset([Moves.DRAGON_RAGE]); diff --git a/test/moves/dragon_tail.test.ts b/test/moves/dragon_tail.test.ts index 37e8aa2fe1b..31e5560d4e0 100644 --- a/test/moves/dragon_tail.test.ts +++ b/test/moves/dragon_tail.test.ts @@ -28,7 +28,7 @@ describe("Moves - Dragon Tail", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.DRAGON_TAIL, Moves.SPLASH, Moves.FLAMETHROWER]) .enemySpecies(Species.WAILORD) .enemyMoveset(Moves.SPLASH) @@ -73,7 +73,7 @@ describe("Moves - Dragon Tail", () => { }); it("should proceed without crashing in a double battle", async () => { - game.override.battleType("double").enemyMoveset(Moves.SPLASH).enemyAbility(Abilities.ROUGH_SKIN); + game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).enemyAbility(Abilities.ROUGH_SKIN); await game.classicMode.startBattle([Species.DRATINI, Species.DRATINI, Species.WAILORD, Species.WAILORD]); const leadPokemon = game.scene.getPlayerParty()[0]!; @@ -102,7 +102,7 @@ describe("Moves - Dragon Tail", () => { }); it("should redirect targets upon opponent flee", async () => { - game.override.battleType("double").enemyMoveset(Moves.SPLASH).enemyAbility(Abilities.ROUGH_SKIN); + game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).enemyAbility(Abilities.ROUGH_SKIN); await game.classicMode.startBattle([Species.DRATINI, Species.DRATINI, Species.WAILORD, Species.WAILORD]); const leadPokemon = game.scene.getPlayerParty()[0]!; diff --git a/test/moves/dynamax_cannon.test.ts b/test/moves/dynamax_cannon.test.ts index 9cf3106b9c1..94f07ae500f 100644 --- a/test/moves/dynamax_cannon.test.ts +++ b/test/moves/dynamax_cannon.test.ts @@ -34,7 +34,7 @@ describe("Moves - Dynamax Cannon", () => { // Note that, for Waves 1-10, the level cap is 10 game.override.startingWave(1); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.enemySpecies(Species.MAGIKARP); diff --git a/test/moves/electrify.test.ts b/test/moves/electrify.test.ts index 69e7504b406..25529e0b552 100644 --- a/test/moves/electrify.test.ts +++ b/test/moves/electrify.test.ts @@ -25,7 +25,7 @@ describe("Moves - Electrify", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.ELECTRIFY) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/electro_shot.test.ts b/test/moves/electro_shot.test.ts index 05ab9c24a7c..0122bf04281 100644 --- a/test/moves/electro_shot.test.ts +++ b/test/moves/electro_shot.test.ts @@ -27,7 +27,7 @@ describe("Moves - Electro Shot", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.ELECTRO_SHOT) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyLevel(100) diff --git a/test/moves/encore.test.ts b/test/moves/encore.test.ts index 43b9eb6a77f..519e7860c04 100644 --- a/test/moves/encore.test.ts +++ b/test/moves/encore.test.ts @@ -27,7 +27,7 @@ describe("Moves - Encore", () => { game.override .moveset([Moves.SPLASH, Moves.ENCORE]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/endure.test.ts b/test/moves/endure.test.ts index 8fbb2272ece..190a689f46e 100644 --- a/test/moves/endure.test.ts +++ b/test/moves/endure.test.ts @@ -25,7 +25,7 @@ describe("Moves - Endure", () => { .moveset([Moves.THUNDER, Moves.BULLET_SEED, Moves.TOXIC, Moves.SHEER_COLD]) .ability(Abilities.SKILL_LINK) .startingLevel(100) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.NO_GUARD) diff --git a/test/moves/entrainment.test.ts b/test/moves/entrainment.test.ts index b2a0baf3e27..31a8ffcab85 100644 --- a/test/moves/entrainment.test.ts +++ b/test/moves/entrainment.test.ts @@ -25,7 +25,7 @@ describe("Moves - Entrainment", () => { game.override .moveset([Moves.SPLASH, Moves.ENTRAINMENT]) .ability(Abilities.ADAPTABILITY) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/fairy_lock.test.ts b/test/moves/fairy_lock.test.ts index a47143add4f..e967221bcae 100644 --- a/test/moves/fairy_lock.test.ts +++ b/test/moves/fairy_lock.test.ts @@ -26,7 +26,7 @@ describe("Moves - Fairy Lock", () => { game.override .moveset([Moves.FAIRY_LOCK, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/fake_out.test.ts b/test/moves/fake_out.test.ts index 929c760ee5b..cbce16270e0 100644 --- a/test/moves/fake_out.test.ts +++ b/test/moves/fake_out.test.ts @@ -21,7 +21,7 @@ describe("Moves - Fake Out", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.CORVIKNIGHT) .moveset([Moves.FAKE_OUT, Moves.SPLASH]) .enemyMoveset(Moves.SPLASH) diff --git a/test/moves/false_swipe.test.ts b/test/moves/false_swipe.test.ts index 4fb5b81ef67..d6743477cae 100644 --- a/test/moves/false_swipe.test.ts +++ b/test/moves/false_swipe.test.ts @@ -26,7 +26,7 @@ describe("Moves - False Swipe", () => { .moveset([Moves.FALSE_SWIPE]) .ability(Abilities.BALL_FETCH) .startingLevel(1000) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/fell_stinger.test.ts b/test/moves/fell_stinger.test.ts index 2ffa44c5a3a..11731d8a06f 100644 --- a/test/moves/fell_stinger.test.ts +++ b/test/moves/fell_stinger.test.ts @@ -27,7 +27,7 @@ describe("Moves - Fell Stinger", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.FELL_STINGER, Moves.SALT_CURE, Moves.BIND, Moves.LEECH_SEED]) .startingLevel(50) .disableCrits() @@ -99,7 +99,7 @@ describe("Moves - Fell Stinger", () => { }); it("should not grant stat boost if enemy is KO'd by Salt Cure", async () => { - game.override.battleType("double").startingLevel(5); + game.override.battleStyle("double").startingLevel(5); const saltCure = allMoves[Moves.SALT_CURE]; const fellStinger = allMoves[Moves.FELL_STINGER]; vi.spyOn(saltCure, "accuracy", "get").mockReturnValue(100); @@ -124,7 +124,7 @@ describe("Moves - Fell Stinger", () => { }); it("should not grant stat boost if enemy dies to Bind or a similar effect", async () => { - game.override.battleType("double").startingLevel(5); + game.override.battleStyle("double").startingLevel(5); vi.spyOn(allMoves[Moves.BIND], "accuracy", "get").mockReturnValue(100); vi.spyOn(allMoves[Moves.FELL_STINGER], "power", "get").mockReturnValue(50000); @@ -147,7 +147,7 @@ describe("Moves - Fell Stinger", () => { }); it("should not grant stat boost if enemy dies to Leech Seed", async () => { - game.override.battleType("double").startingLevel(5); + game.override.battleStyle("double").startingLevel(5); vi.spyOn(allMoves[Moves.LEECH_SEED], "accuracy", "get").mockReturnValue(100); vi.spyOn(allMoves[Moves.FELL_STINGER], "power", "get").mockReturnValue(50000); diff --git a/test/moves/fissure.test.ts b/test/moves/fissure.test.ts index 63de58eb2e7..be6be079cf0 100644 --- a/test/moves/fissure.test.ts +++ b/test/moves/fissure.test.ts @@ -28,7 +28,7 @@ describe("Moves - Fissure", () => { beforeEach(async () => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.disableCrits(); game.override.starterSpecies(Species.SNORLAX); diff --git a/test/moves/flame_burst.test.ts b/test/moves/flame_burst.test.ts index a39c27d37b3..fb92537a238 100644 --- a/test/moves/flame_burst.test.ts +++ b/test/moves/flame_burst.test.ts @@ -35,7 +35,7 @@ describe("Moves - Flame Burst", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.FLAME_BURST, Moves.SPLASH]); game.override.disableCrits(); game.override.ability(Abilities.UNNERVE); diff --git a/test/moves/flower_shield.test.ts b/test/moves/flower_shield.test.ts index b66847651c1..4840c6f018f 100644 --- a/test/moves/flower_shield.test.ts +++ b/test/moves/flower_shield.test.ts @@ -28,7 +28,7 @@ describe("Moves - Flower Shield", () => { game = new GameManager(phaserGame); game.override.ability(Abilities.NONE); game.override.enemyAbility(Abilities.NONE); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.FLOWER_SHIELD, Moves.SPLASH]); game.override.enemyMoveset(Moves.SPLASH); }); @@ -51,7 +51,7 @@ describe("Moves - Flower Shield", () => { }); it("raises DEF stat stage by 1 for all Grass-type Pokemon on the field by one stage - double battle", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingBiome(Biome.GRASS).battleType("double"); + game.override.enemySpecies(Species.MAGIKARP).startingBiome(Biome.GRASS).battleStyle("double"); await game.startBattle([Species.CHERRIM, Species.MAGIKARP]); const field = game.scene.getField(true); diff --git a/test/moves/fly.test.ts b/test/moves/fly.test.ts index 0bd7d22b2a7..f200e976704 100644 --- a/test/moves/fly.test.ts +++ b/test/moves/fly.test.ts @@ -28,7 +28,7 @@ describe("Moves - Fly", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.FLY) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyLevel(100) diff --git a/test/moves/focus_punch.test.ts b/test/moves/focus_punch.test.ts index 2dc5f20f2bf..e05eb008af7 100644 --- a/test/moves/focus_punch.test.ts +++ b/test/moves/focus_punch.test.ts @@ -28,7 +28,7 @@ describe("Moves - Focus Punch", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .ability(Abilities.UNNERVE) .moveset([Moves.FOCUS_PUNCH]) .enemySpecies(Species.GROUDON) diff --git a/test/moves/follow_me.test.ts b/test/moves/follow_me.test.ts index eeb11b36f24..68c4f111bb1 100644 --- a/test/moves/follow_me.test.ts +++ b/test/moves/follow_me.test.ts @@ -24,7 +24,7 @@ describe("Moves - Follow Me", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.starterSpecies(Species.AMOONGUSS); game.override.ability(Abilities.BALL_FETCH); game.override.enemySpecies(Species.SNORLAX); diff --git a/test/moves/forests_curse.test.ts b/test/moves/forests_curse.test.ts index 8850b92662d..f363fdbd19d 100644 --- a/test/moves/forests_curse.test.ts +++ b/test/moves/forests_curse.test.ts @@ -25,7 +25,7 @@ describe("Moves - Forest's Curse", () => { game.override .moveset([Moves.FORESTS_CURSE, Moves.TRICK_OR_TREAT]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/freeze_dry.test.ts b/test/moves/freeze_dry.test.ts index 8cab56ddfd2..62168afb960 100644 --- a/test/moves/freeze_dry.test.ts +++ b/test/moves/freeze_dry.test.ts @@ -24,7 +24,7 @@ describe("Moves - Freeze-Dry", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) diff --git a/test/moves/freezy_frost.test.ts b/test/moves/freezy_frost.test.ts index c1ac4054e70..4eb3114a5ba 100644 --- a/test/moves/freezy_frost.test.ts +++ b/test/moves/freezy_frost.test.ts @@ -24,7 +24,7 @@ describe("Moves - Freezy Frost", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.RATTATA) .enemyLevel(100) .enemyMoveset([Moves.HOWL, Moves.HOWL, Moves.HOWL, Moves.HOWL]) @@ -71,7 +71,7 @@ describe("Moves - Freezy Frost", () => { }); it("should clear all stat changes in double battle", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.SHUCKLE, Species.RATTATA]); const [leftPlayer, rightPlayer] = game.scene.getPlayerField(); const [leftOpp, rightOpp] = game.scene.getEnemyField(); diff --git a/test/moves/fusion_bolt.test.ts b/test/moves/fusion_bolt.test.ts index fc47a0f04be..33498a857a9 100644 --- a/test/moves/fusion_bolt.test.ts +++ b/test/moves/fusion_bolt.test.ts @@ -30,7 +30,7 @@ describe("Moves - Fusion Bolt", () => { game.override.enemyAbility(Abilities.ROUGH_SKIN); game.override.enemyMoveset([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.startingWave(97); game.override.disableCrits(); }); diff --git a/test/moves/fusion_flare.test.ts b/test/moves/fusion_flare.test.ts index 17653cf58bc..61bb126a75a 100644 --- a/test/moves/fusion_flare.test.ts +++ b/test/moves/fusion_flare.test.ts @@ -30,7 +30,7 @@ describe("Moves - Fusion Flare", () => { game.override.enemySpecies(Species.RATTATA); game.override.enemyMoveset([Moves.REST, Moves.REST, Moves.REST, Moves.REST]); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.startingWave(97); game.override.disableCrits(); }); diff --git a/test/moves/fusion_flare_bolt.test.ts b/test/moves/fusion_flare_bolt.test.ts index c340aeea63f..697ac57e739 100644 --- a/test/moves/fusion_flare_bolt.test.ts +++ b/test/moves/fusion_flare_bolt.test.ts @@ -39,7 +39,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { game.override.enemySpecies(Species.RESHIRAM); game.override.enemyMoveset([Moves.REST, Moves.REST, Moves.REST, Moves.REST]); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.startingWave(97); game.override.disableCrits(); diff --git a/test/moves/future_sight.test.ts b/test/moves/future_sight.test.ts index 40a940447e4..48be2451195 100644 --- a/test/moves/future_sight.test.ts +++ b/test/moves/future_sight.test.ts @@ -24,7 +24,7 @@ describe("Moves - Future Sight", () => { game.override .startingLevel(50) .moveset([Moves.FUTURE_SIGHT, Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.STURDY) .enemyMoveset(Moves.SPLASH); diff --git a/test/moves/gastro_acid.test.ts b/test/moves/gastro_acid.test.ts index c9f2428845e..8247d29c0a0 100644 --- a/test/moves/gastro_acid.test.ts +++ b/test/moves/gastro_acid.test.ts @@ -22,7 +22,7 @@ describe("Moves - Gastro Acid", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.startingLevel(1); game.override.enemyLevel(100); game.override.ability(Abilities.NONE); @@ -61,7 +61,7 @@ describe("Moves - Gastro Acid", () => { }); it("fails if used on an enemy with an already-suppressed ability", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.startBattle(); diff --git a/test/moves/geomancy.test.ts b/test/moves/geomancy.test.ts index 34281c96c60..51659f01b12 100644 --- a/test/moves/geomancy.test.ts +++ b/test/moves/geomancy.test.ts @@ -26,7 +26,7 @@ describe("Moves - Geomancy", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.GEOMANCY) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyLevel(100) diff --git a/test/moves/gigaton_hammer.test.ts b/test/moves/gigaton_hammer.test.ts index a6f7438a0a2..6275e5d2dcb 100644 --- a/test/moves/gigaton_hammer.test.ts +++ b/test/moves/gigaton_hammer.test.ts @@ -22,7 +22,7 @@ describe("Moves - Gigaton Hammer", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .starterSpecies(Species.FEEBAS) .moveset([Moves.GIGATON_HAMMER]) diff --git a/test/moves/glaive_rush.test.ts b/test/moves/glaive_rush.test.ts index d3531b172e2..3c2bcea7884 100644 --- a/test/moves/glaive_rush.test.ts +++ b/test/moves/glaive_rush.test.ts @@ -23,7 +23,7 @@ describe("Moves - Glaive Rush", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/growth.test.ts b/test/moves/growth.test.ts index 926593a4f72..37cd84638ba 100644 --- a/test/moves/growth.test.ts +++ b/test/moves/growth.test.ts @@ -24,7 +24,7 @@ describe("Moves - Growth", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemyAbility(Abilities.MOXIE); game.override.ability(Abilities.INSOMNIA); game.override.moveset([Moves.GROWTH]); diff --git a/test/moves/grudge.test.ts b/test/moves/grudge.test.ts index 161fa38edd2..ecde5351d6d 100644 --- a/test/moves/grudge.test.ts +++ b/test/moves/grudge.test.ts @@ -25,7 +25,7 @@ describe("Moves - Grudge", () => { game.override .moveset([Moves.EMBER, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.SHEDINJA) .enemyAbility(Abilities.WONDER_GUARD) diff --git a/test/moves/guard_split.test.ts b/test/moves/guard_split.test.ts index 5db07e4e82c..d182e94b203 100644 --- a/test/moves/guard_split.test.ts +++ b/test/moves/guard_split.test.ts @@ -24,7 +24,7 @@ describe("Moves - Guard Split", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.NONE) .enemySpecies(Species.MEW) .enemyLevel(200) diff --git a/test/moves/guard_swap.test.ts b/test/moves/guard_swap.test.ts index be824672f32..2076f92ccb1 100644 --- a/test/moves/guard_swap.test.ts +++ b/test/moves/guard_swap.test.ts @@ -24,7 +24,7 @@ describe("Moves - Guard Swap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.INDEEDEE) diff --git a/test/moves/hard_press.test.ts b/test/moves/hard_press.test.ts index 8891f0bf0e2..8fe768cb8e4 100644 --- a/test/moves/hard_press.test.ts +++ b/test/moves/hard_press.test.ts @@ -27,7 +27,7 @@ describe("Moves - Hard Press", () => { beforeEach(() => { moveToCheck = allMoves[Moves.HARD_PRESS]; game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.BALL_FETCH); game.override.enemySpecies(Species.MUNCHLAX); game.override.enemyAbility(Abilities.BALL_FETCH); diff --git a/test/moves/haze.test.ts b/test/moves/haze.test.ts index d890678b466..4ddb6d1c7c5 100644 --- a/test/moves/haze.test.ts +++ b/test/moves/haze.test.ts @@ -23,7 +23,7 @@ describe("Moves - Haze", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyLevel(100); diff --git a/test/moves/heal_bell.test.ts b/test/moves/heal_bell.test.ts index 4c0148bfd04..8ffb602c24f 100644 --- a/test/moves/heal_bell.test.ts +++ b/test/moves/heal_bell.test.ts @@ -26,7 +26,7 @@ describe("Moves - Heal Bell", () => { game.override .moveset([Moves.HEAL_BELL, Moves.SPLASH]) .statusEffect(StatusEffect.BURN) - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); diff --git a/test/moves/heart_swap.test.ts b/test/moves/heart_swap.test.ts index a3d892cd518..009db731951 100644 --- a/test/moves/heart_swap.test.ts +++ b/test/moves/heart_swap.test.ts @@ -24,7 +24,7 @@ describe("Moves - Heart Swap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.INDEEDEE) diff --git a/test/moves/hyper_beam.test.ts b/test/moves/hyper_beam.test.ts index 5cd54e9b46a..5b370f49e4c 100644 --- a/test/moves/hyper_beam.test.ts +++ b/test/moves/hyper_beam.test.ts @@ -26,7 +26,7 @@ describe("Moves - Hyper Beam", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.BALL_FETCH); game.override.enemySpecies(Species.SNORLAX); game.override.enemyAbility(Abilities.BALL_FETCH); diff --git a/test/moves/imprison.test.ts b/test/moves/imprison.test.ts index 89ef9981040..cefbaa52cad 100644 --- a/test/moves/imprison.test.ts +++ b/test/moves/imprison.test.ts @@ -23,7 +23,7 @@ describe("Moves - Imprison", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.IMPRISON, Moves.SPLASH, Moves.GROWL]) .enemySpecies(Species.SHUCKLE) diff --git a/test/moves/instruct.test.ts b/test/moves/instruct.test.ts index 079c8803ddc..c5650d7bbd5 100644 --- a/test/moves/instruct.test.ts +++ b/test/moves/instruct.test.ts @@ -32,7 +32,7 @@ describe("Moves - Instruct", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SHUCKLE) .enemyAbility(Abilities.NO_GUARD) .enemyLevel(100) @@ -89,7 +89,7 @@ describe("Moves - Instruct", () => { }); it("should repeat ally's attack on enemy", async () => { - game.override.battleType("double").enemyMoveset(Moves.SPLASH); + game.override.battleStyle("double").enemyMoveset(Moves.SPLASH); await game.classicMode.startBattle([Species.AMOONGUSS, Species.SHUCKLE]); const [amoonguss, shuckle] = game.scene.getPlayerField(); @@ -122,7 +122,7 @@ describe("Moves - Instruct", () => { }); it("should add moves to move queue for copycat", async () => { - game.override.battleType("double").moveset(Moves.INSTRUCT).enemyLevel(5); + game.override.battleStyle("double").moveset(Moves.INSTRUCT).enemyLevel(5); await game.classicMode.startBattle([Species.AMOONGUSS]); const [enemy1, enemy2] = game.scene.getEnemyField()!; @@ -179,7 +179,7 @@ describe("Moves - Instruct", () => { }); it("should redirect attacking moves if enemy faints", async () => { - game.override.battleType("double").enemyMoveset(Moves.SPLASH).enemySpecies(Species.MAGIKARP).enemyLevel(1); + game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).enemySpecies(Species.MAGIKARP).enemyLevel(1); await game.classicMode.startBattle([Species.HISUI_ELECTRODE, Species.KOMMO_O]); const [electrode, kommo_o] = game.scene.getPlayerField()!; @@ -201,7 +201,7 @@ describe("Moves - Instruct", () => { expect(karp2.isFainted()).toBe(true); }); it("should allow for dancer copying of instructed dance move", async () => { - game.override.battleType("double").enemyMoveset([Moves.INSTRUCT, Moves.SPLASH]).enemyLevel(1000); + game.override.battleStyle("double").enemyMoveset([Moves.INSTRUCT, Moves.SPLASH]).enemyLevel(1000); await game.classicMode.startBattle([Species.ORICORIO, Species.VOLCARONA]); const [oricorio, volcarona] = game.scene.getPlayerField(); @@ -256,7 +256,7 @@ describe("Moves - Instruct", () => { }); it("should attempt to call enemy's disabled move, but move use itself should fail", async () => { - game.override.moveset([Moves.INSTRUCT, Moves.DISABLE]).battleType("double"); + game.override.moveset([Moves.INSTRUCT, Moves.DISABLE]).battleStyle("double"); await game.classicMode.startBattle([Species.AMOONGUSS, Species.DROWZEE]); const [enemy1, enemy2] = game.scene.getEnemyField(); @@ -372,7 +372,7 @@ describe("Moves - Instruct", () => { it("should respect moves' original priority for psychic terrain", async () => { game.override - .battleType("double") + .battleStyle("double") .moveset([Moves.QUICK_ATTACK, Moves.SPLASH, Moves.INSTRUCT]) .enemyMoveset([Moves.SPLASH, Moves.PSYCHIC_TERRAIN]); await game.classicMode.startBattle([Species.BANETTE, Species.KLEFKI]); @@ -395,7 +395,7 @@ describe("Moves - Instruct", () => { }); it("should still work w/ prankster in psychic terrain", async () => { - game.override.battleType("double").enemyMoveset([Moves.SPLASH, Moves.PSYCHIC_TERRAIN]); + game.override.battleStyle("double").enemyMoveset([Moves.SPLASH, Moves.PSYCHIC_TERRAIN]); await game.classicMode.startBattle([Species.BANETTE, Species.KLEFKI]); const [banette, klefki] = game.scene.getPlayerField()!; @@ -419,7 +419,7 @@ describe("Moves - Instruct", () => { it("should cause spread moves to correctly hit targets in doubles after singles", async () => { game.override - .battleType("even-doubles") + .battleStyle("even-doubles") .moveset([Moves.BREAKING_SWIPE, Moves.INSTRUCT, Moves.SPLASH]) .enemyMoveset(Moves.SONIC_BOOM) .enemySpecies(Species.AXEW) @@ -446,7 +446,7 @@ describe("Moves - Instruct", () => { it("should cause AoE moves to correctly hit everyone in doubles after singles", async () => { game.override - .battleType("even-doubles") + .battleStyle("even-doubles") .moveset([Moves.BRUTAL_SWING, Moves.INSTRUCT, Moves.SPLASH]) .enemySpecies(Species.AXEW) .enemyMoveset(Moves.SONIC_BOOM) @@ -504,7 +504,7 @@ describe("Moves - Instruct", () => { it("should cause multi-hit moves to hit the appropriate number of times in doubles", async () => { game.override - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.SKILL_LINK) .moveset([Moves.SPLASH, Moves.INSTRUCT]) .enemyMoveset([Moves.BULLET_SEED, Moves.SPLASH]) diff --git a/test/moves/jaw_lock.test.ts b/test/moves/jaw_lock.test.ts index fc71397e624..71896dc3b62 100644 --- a/test/moves/jaw_lock.test.ts +++ b/test/moves/jaw_lock.test.ts @@ -29,7 +29,7 @@ describe("Moves - Jaw Lock", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.INSOMNIA) .enemyMoveset(Moves.SPLASH) @@ -107,7 +107,7 @@ describe("Moves - Jaw Lock", () => { }); it("should not trap other targets after the first target is trapped", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.startBattle([Species.CHARMANDER, Species.BULBASAUR]); diff --git a/test/moves/lash_out.test.ts b/test/moves/lash_out.test.ts index 8395633f5c0..c80a8ce348a 100644 --- a/test/moves/lash_out.test.ts +++ b/test/moves/lash_out.test.ts @@ -24,7 +24,7 @@ describe("Moves - Lash Out", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.FUR_COAT) diff --git a/test/moves/last_respects.test.ts b/test/moves/last_respects.test.ts index ccab8a43415..a69ecb2e989 100644 --- a/test/moves/last_respects.test.ts +++ b/test/moves/last_respects.test.ts @@ -31,7 +31,7 @@ describe("Moves - Last Respects", () => { move = allMoves[Moves.LAST_RESPECTS]; basePower = move.power; game.override - .battleType("single") + .battleStyle("single") .disableCrits() .moveset([Moves.LAST_RESPECTS, Moves.EXPLOSION, Moves.LUNAR_DANCE]) .ability(Abilities.BALL_FETCH) diff --git a/test/moves/light_screen.test.ts b/test/moves/light_screen.test.ts index 9cc6944ed3e..12aeb29577a 100644 --- a/test/moves/light_screen.test.ts +++ b/test/moves/light_screen.test.ts @@ -34,7 +34,7 @@ describe("Moves - Light Screen", () => { beforeEach(() => { game = new GameManager(phaserGame); globalScene = game.scene; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.NONE); game.override.moveset([Moves.ABSORB, Moves.DAZZLING_GLEAM, Moves.TACKLE]); game.override.enemyLevel(100); @@ -61,7 +61,7 @@ describe("Moves - Light Screen", () => { }); it("reduces damage of special attacks by a third in a double battle", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); const moveToUse = Moves.DAZZLING_GLEAM; await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); diff --git a/test/moves/lucky_chant.test.ts b/test/moves/lucky_chant.test.ts index 21802574e79..e2a28a7bbe3 100644 --- a/test/moves/lucky_chant.test.ts +++ b/test/moves/lucky_chant.test.ts @@ -25,7 +25,7 @@ describe("Moves - Lucky Chant", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.LUCKY_CHANT, Moves.SPLASH, Moves.FOLLOW_ME]) .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.INSOMNIA) @@ -54,7 +54,7 @@ describe("Moves - Lucky Chant", () => { }); it("should prevent critical hits against the user's ally", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.startBattle([Species.CHARIZARD, Species.BLASTOISE]); diff --git a/test/moves/lunar_blessing.test.ts b/test/moves/lunar_blessing.test.ts index d97e6c978eb..ee35107fccd 100644 --- a/test/moves/lunar_blessing.test.ts +++ b/test/moves/lunar_blessing.test.ts @@ -22,7 +22,7 @@ describe("Moves - Lunar Blessing", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemySpecies(Species.SHUCKLE); game.override.enemyMoveset(Moves.SPLASH); diff --git a/test/moves/lunar_dance.test.ts b/test/moves/lunar_dance.test.ts index d3dceba087c..30abe765291 100644 --- a/test/moves/lunar_dance.test.ts +++ b/test/moves/lunar_dance.test.ts @@ -25,7 +25,7 @@ describe("Moves - Lunar Dance", () => { game = new GameManager(phaserGame); game.override .statusEffect(StatusEffect.BURN) - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); diff --git a/test/moves/magic_coat.test.ts b/test/moves/magic_coat.test.ts index 2cc8dea8938..23deef97318 100644 --- a/test/moves/magic_coat.test.ts +++ b/test/moves/magic_coat.test.ts @@ -30,7 +30,7 @@ describe("Moves - Magic Coat", () => { game = new GameManager(phaserGame); game.override .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -82,7 +82,7 @@ describe("Moves - Magic Coat", () => { }); it("should individually bounce back multi-target moves when used by both targets in doubles", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.GROWL, Moves.SPLASH]); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); @@ -95,7 +95,7 @@ describe("Moves - Magic Coat", () => { }); it("should bounce back a spread status move against both pokemon", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.GROWL, Moves.SPLASH]); game.override.enemyMoveset([Moves.SPLASH, Moves.MAGIC_COAT]); await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); @@ -121,7 +121,7 @@ describe("Moves - Magic Coat", () => { }); it("should not bounce back a move that was just bounced", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.ability(Abilities.MAGIC_BOUNCE); game.override.moveset([Moves.GROWL, Moves.MAGIC_COAT]); game.override.enemyMoveset([Moves.SPLASH, Moves.MAGIC_COAT]); @@ -159,7 +159,7 @@ describe("Moves - Magic Coat", () => { }); it("should only bounce spikes back once when both targets use magic coat in doubles", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.MAGIKARP]); game.override.moveset([Moves.SPIKES]); @@ -206,7 +206,7 @@ describe("Moves - Magic Coat", () => { // TODO: stomping tantrum should consider moves that were bounced. it.todo("should cause stomping tantrum to double in power when the last move was bounced", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle([Species.MAGIKARP]); game.override.moveset([Moves.STOMPING_TANTRUM, Moves.CHARM]); diff --git a/test/moves/magnet_rise.test.ts b/test/moves/magnet_rise.test.ts index 725bbb99276..62ad0c88091 100644 --- a/test/moves/magnet_rise.test.ts +++ b/test/moves/magnet_rise.test.ts @@ -23,7 +23,7 @@ describe("Moves - Magnet Rise", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.MAGNEZONE); game.override.enemySpecies(Species.RATTATA); game.override.enemyMoveset([Moves.DRILL_RUN, Moves.DRILL_RUN, Moves.DRILL_RUN, Moves.DRILL_RUN]); diff --git a/test/moves/make_it_rain.test.ts b/test/moves/make_it_rain.test.ts index 38460d99e63..4d94537bcec 100644 --- a/test/moves/make_it_rain.test.ts +++ b/test/moves/make_it_rain.test.ts @@ -24,7 +24,7 @@ describe("Moves - Make It Rain", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.MAKE_IT_RAIN, Moves.SPLASH]); game.override.enemySpecies(Species.SNORLAX); game.override.enemyAbility(Abilities.INSOMNIA); @@ -48,7 +48,7 @@ describe("Moves - Make It Rain", () => { it("should apply effects even if the target faints", async () => { game.override.enemyLevel(1); // ensures the enemy will faint - game.override.battleType("single"); + game.override.battleStyle("single"); await game.startBattle([Species.CHARIZARD]); diff --git a/test/moves/mat_block.test.ts b/test/moves/mat_block.test.ts index ddfa29a53da..9ed0f497af9 100644 --- a/test/moves/mat_block.test.ts +++ b/test/moves/mat_block.test.ts @@ -26,7 +26,7 @@ describe("Moves - Mat Block", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.MAT_BLOCK, Moves.SPLASH]); diff --git a/test/moves/metal_burst.test.ts b/test/moves/metal_burst.test.ts index 2cbc999436f..7fa5434dc58 100644 --- a/test/moves/metal_burst.test.ts +++ b/test/moves/metal_burst.test.ts @@ -27,7 +27,7 @@ describe("Moves - Metal Burst", () => { .moveset([Moves.METAL_BURST, Moves.FISSURE, Moves.PRECIPICE_BLADES]) .ability(Abilities.PURE_POWER) .startingLevel(10) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.PICHU) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/metronome.test.ts b/test/moves/metronome.test.ts index 80f32a3a6fb..bf177fb1a93 100644 --- a/test/moves/metronome.test.ts +++ b/test/moves/metronome.test.ts @@ -30,7 +30,7 @@ describe("Moves - Metronome", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.METRONOME, Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .startingLevel(100) .starterSpecies(Species.REGIELEKI) .enemyLevel(100) @@ -79,7 +79,7 @@ describe("Moves - Metronome", () => { }); it("should only target ally for Aromatic Mist", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle([Species.REGIELEKI, Species.RATTATA]); const [leftPlayer, rightPlayer] = game.scene.getPlayerField(); const [leftOpp, rightOpp] = game.scene.getEnemyField(); diff --git a/test/moves/mirror_move.test.ts b/test/moves/mirror_move.test.ts index 9178410adb2..438c594d839 100644 --- a/test/moves/mirror_move.test.ts +++ b/test/moves/mirror_move.test.ts @@ -27,7 +27,7 @@ describe("Moves - Mirror Move", () => { game.override .moveset([Moves.MIRROR_MOVE, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -35,7 +35,7 @@ describe("Moves - Mirror Move", () => { }); it("should use the last move that the target used on the user", async () => { - game.override.battleType("double").enemyMoveset([Moves.TACKLE, Moves.GROWL]); + game.override.battleStyle("double").enemyMoveset([Moves.TACKLE, Moves.GROWL]); await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); game.move.select(Moves.MIRROR_MOVE, 0, BattlerIndex.ENEMY); // target's last move is Tackle, enemy should receive damage from Mirror Move copying Tackle diff --git a/test/moves/mist.test.ts b/test/moves/mist.test.ts index 2deb6f9b90d..70cdf5b55a0 100644 --- a/test/moves/mist.test.ts +++ b/test/moves/mist.test.ts @@ -25,7 +25,7 @@ describe("Moves - Mist", () => { game.override .moveset([Moves.MIST, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/moongeist_beam.test.ts b/test/moves/moongeist_beam.test.ts index 117fe513e17..82a2567377b 100644 --- a/test/moves/moongeist_beam.test.ts +++ b/test/moves/moongeist_beam.test.ts @@ -26,7 +26,7 @@ describe("Moves - Moongeist Beam", () => { .moveset([Moves.MOONGEIST_BEAM, Moves.METRONOME]) .ability(Abilities.BALL_FETCH) .startingLevel(200) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.STURDY) diff --git a/test/moves/multi_target.test.ts b/test/moves/multi_target.test.ts index 5d33c7860cb..fccf650416c 100644 --- a/test/moves/multi_target.test.ts +++ b/test/moves/multi_target.test.ts @@ -25,7 +25,7 @@ describe("Multi-target damage reduction", () => { game = new GameManager(phaserGame); game.override .disableCrits() - .battleType("double") + .battleStyle("double") .enemyLevel(100) .startingLevel(100) .enemySpecies(Species.POLIWAG) diff --git a/test/moves/nightmare.test.ts b/test/moves/nightmare.test.ts index e1cef0084ee..044856ae33d 100644 --- a/test/moves/nightmare.test.ts +++ b/test/moves/nightmare.test.ts @@ -24,7 +24,7 @@ describe("Moves - Nightmare", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.RATTATA) .enemyMoveset(Moves.SPLASH) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/obstruct.test.ts b/test/moves/obstruct.test.ts index d8e3a949f08..f35a5964bcb 100644 --- a/test/moves/obstruct.test.ts +++ b/test/moves/obstruct.test.ts @@ -22,7 +22,7 @@ describe("Moves - Obstruct", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyMoveset(Moves.TACKLE) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/octolock.test.ts b/test/moves/octolock.test.ts index c9c5fd42f7e..fb57d0bfad5 100644 --- a/test/moves/octolock.test.ts +++ b/test/moves/octolock.test.ts @@ -25,7 +25,7 @@ describe("Moves - Octolock", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyMoveset(Moves.SPLASH) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/order_up.test.ts b/test/moves/order_up.test.ts index f25114c12de..701d0489c25 100644 --- a/test/moves/order_up.test.ts +++ b/test/moves/order_up.test.ts @@ -29,7 +29,7 @@ describe("Moves - Order Up", () => { game.override .moveset(Moves.ORDER_UP) .ability(Abilities.COMMANDER) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/parting_shot.test.ts b/test/moves/parting_shot.test.ts index 699d960f882..a65c1a5b3a5 100644 --- a/test/moves/parting_shot.test.ts +++ b/test/moves/parting_shot.test.ts @@ -26,7 +26,7 @@ describe("Moves - Parting Shot", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.PARTING_SHOT, Moves.SPLASH]); game.override.enemyMoveset(Moves.SPLASH); game.override.startingLevel(5); diff --git a/test/moves/plasma_fists.test.ts b/test/moves/plasma_fists.test.ts index fe19ab4a460..b6a5ceaed68 100644 --- a/test/moves/plasma_fists.test.ts +++ b/test/moves/plasma_fists.test.ts @@ -25,7 +25,7 @@ describe("Moves - Plasma Fists", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.PLASMA_FISTS, Moves.TACKLE]) - .battleType("double") + .battleStyle("double") .startingLevel(100) .enemySpecies(Species.DUSCLOPS) .enemyAbility(Abilities.BALL_FETCH) @@ -56,7 +56,7 @@ describe("Moves - Plasma Fists", () => { }); it("should not affect Normal-type attacks boosted by Pixilate", async () => { - game.override.battleType("single").enemyAbility(Abilities.PIXILATE); + game.override.battleStyle("single").enemyAbility(Abilities.PIXILATE); await game.classicMode.startBattle([Species.ONIX]); @@ -74,7 +74,7 @@ describe("Moves - Plasma Fists", () => { }); it("should affect moves that become Normal type due to Normalize", async () => { - game.override.battleType("single").enemyAbility(Abilities.NORMALIZE).enemyMoveset(Moves.WATER_GUN); + game.override.battleStyle("single").enemyAbility(Abilities.NORMALIZE).enemyMoveset(Moves.WATER_GUN); await game.classicMode.startBattle([Species.DUSCLOPS]); diff --git a/test/moves/pledge_moves.test.ts b/test/moves/pledge_moves.test.ts index ee9e0b8b154..b3d13a27b83 100644 --- a/test/moves/pledge_moves.test.ts +++ b/test/moves/pledge_moves.test.ts @@ -30,7 +30,7 @@ describe("Moves - Pledge Moves", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .startingLevel(100) .moveset([Moves.FIRE_PLEDGE, Moves.GRASS_PLEDGE, Moves.WATER_PLEDGE, Moves.SPLASH]) .enemySpecies(Species.SNORLAX) @@ -86,7 +86,7 @@ describe("Moves - Pledge Moves", () => { }); it("Fire Pledge - should not combine with an enemy's Pledge move", async () => { - game.override.battleType("single").enemyMoveset(Moves.GRASS_PLEDGE); + game.override.battleStyle("single").enemyMoveset(Moves.GRASS_PLEDGE); await game.classicMode.startBattle([Species.CHARIZARD]); diff --git a/test/moves/pollen_puff.test.ts b/test/moves/pollen_puff.test.ts index 3af3ea1f41d..31d5950b47d 100644 --- a/test/moves/pollen_puff.test.ts +++ b/test/moves/pollen_puff.test.ts @@ -25,7 +25,7 @@ describe("Moves - Pollen Puff", () => { game.override .moveset([Moves.POLLEN_PUFF]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -33,7 +33,7 @@ describe("Moves - Pollen Puff", () => { }); it("should not heal more than once when the user has a source of multi-hit", async () => { - game.override.battleType("double").moveset([Moves.POLLEN_PUFF, Moves.ENDURE]).ability(Abilities.PARENTAL_BOND); + game.override.battleStyle("double").moveset([Moves.POLLEN_PUFF, Moves.ENDURE]).ability(Abilities.PARENTAL_BOND); await game.classicMode.startBattle([Species.BULBASAUR, Species.OMANYTE]); const [_, rightPokemon] = game.scene.getPlayerField(); diff --git a/test/moves/powder.test.ts b/test/moves/powder.test.ts index 522b0b74ca7..6f7a6add054 100644 --- a/test/moves/powder.test.ts +++ b/test/moves/powder.test.ts @@ -27,7 +27,7 @@ describe("Moves - Powder", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override .enemySpecies(Species.SNORLAX) @@ -150,7 +150,7 @@ describe("Moves - Powder", () => { }); it("should cancel Fire-type moves generated by the target's Dancer ability", async () => { - game.override.battleType("double").enemySpecies(Species.BLASTOISE).enemyAbility(Abilities.DANCER); + game.override.battleStyle("double").enemySpecies(Species.BLASTOISE).enemyAbility(Abilities.DANCER); await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); @@ -227,7 +227,7 @@ describe("Moves - Powder", () => { }); it("should cancel Grass Pledge if used after ally's Fire Pledge", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.GRASS_PLEDGE]).battleType("double"); + game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.GRASS_PLEDGE]).battleStyle("double"); await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -244,7 +244,7 @@ describe("Moves - Powder", () => { }); it("should cancel Fire Pledge if used before ally's Water Pledge", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE]).battleType("double"); + game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE]).battleStyle("double"); await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -261,7 +261,7 @@ describe("Moves - Powder", () => { }); it("should NOT cancel Fire Pledge if used after ally's Water Pledge", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE]).battleType("double"); + game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE]).battleStyle("double"); await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; diff --git a/test/moves/power_shift.test.ts b/test/moves/power_shift.test.ts index fbc6d732d30..0fee044f5ad 100644 --- a/test/moves/power_shift.test.ts +++ b/test/moves/power_shift.test.ts @@ -23,7 +23,7 @@ describe("Moves - Power Shift", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.POWER_SHIFT, Moves.BULK_UP]) - .battleType("single") + .battleStyle("single") .ability(Abilities.BALL_FETCH) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); diff --git a/test/moves/power_split.test.ts b/test/moves/power_split.test.ts index 9150a707ad5..f15275fce9e 100644 --- a/test/moves/power_split.test.ts +++ b/test/moves/power_split.test.ts @@ -24,7 +24,7 @@ describe("Moves - Power Split", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.NONE) .enemySpecies(Species.MEW) .enemyLevel(200) diff --git a/test/moves/power_swap.test.ts b/test/moves/power_swap.test.ts index d6f5e782e66..5f6aa022a51 100644 --- a/test/moves/power_swap.test.ts +++ b/test/moves/power_swap.test.ts @@ -24,7 +24,7 @@ describe("Moves - Power Swap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.INDEEDEE) diff --git a/test/moves/power_trick.test.ts b/test/moves/power_trick.test.ts index 0cd849bbcc5..181eeca81bc 100644 --- a/test/moves/power_trick.test.ts +++ b/test/moves/power_trick.test.ts @@ -25,7 +25,7 @@ describe("Moves - Power Trick", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.MEW) diff --git a/test/moves/protect.test.ts b/test/moves/protect.test.ts index d50c490f7d3..183430f8654 100644 --- a/test/moves/protect.test.ts +++ b/test/moves/protect.test.ts @@ -27,7 +27,7 @@ describe("Moves - Protect", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.moveset([Moves.PROTECT]); game.override.enemySpecies(Species.SNORLAX); diff --git a/test/moves/psycho_shift.test.ts b/test/moves/psycho_shift.test.ts index 0a82189d201..678742906c7 100644 --- a/test/moves/psycho_shift.test.ts +++ b/test/moves/psycho_shift.test.ts @@ -26,7 +26,7 @@ describe("Moves - Psycho Shift", () => { .moveset([Moves.PSYCHO_SHIFT]) .ability(Abilities.BALL_FETCH) .statusEffect(StatusEffect.POISON) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyLevel(20) diff --git a/test/moves/purify.test.ts b/test/moves/purify.test.ts index 30d9df8ff67..191539d8cec 100644 --- a/test/moves/purify.test.ts +++ b/test/moves/purify.test.ts @@ -25,7 +25,7 @@ describe("Moves - Purify", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.PYUKUMUKU); game.override.startingLevel(10); diff --git a/test/moves/quash.test.ts b/test/moves/quash.test.ts index f85dbd89517..5bf8271320b 100644 --- a/test/moves/quash.test.ts +++ b/test/moves/quash.test.ts @@ -25,7 +25,7 @@ describe("Moves - Quash", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .enemyLevel(1) .enemySpecies(Species.SLOWPOKE) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/quick_guard.test.ts b/test/moves/quick_guard.test.ts index 22d4a5078ac..d9970ce64fa 100644 --- a/test/moves/quick_guard.test.ts +++ b/test/moves/quick_guard.test.ts @@ -25,7 +25,7 @@ describe("Moves - Quick Guard", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.QUICK_GUARD, Moves.SPLASH, Moves.FOLLOW_ME]); @@ -84,7 +84,7 @@ describe("Moves - Quick Guard", () => { }); test("should fail if the user is the last to move in the turn", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemyMoveset([Moves.QUICK_GUARD]); await game.classicMode.startBattle([Species.CHARIZARD]); diff --git a/test/moves/rage_fist.test.ts b/test/moves/rage_fist.test.ts index f44901c5aba..687d805da78 100644 --- a/test/moves/rage_fist.test.ts +++ b/test/moves/rage_fist.test.ts @@ -27,7 +27,7 @@ describe("Moves - Rage Fist", () => { move = allMoves[Moves.RAGE_FIST]; game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.RAGE_FIST, Moves.SPLASH, Moves.SUBSTITUTE]) .startingLevel(100) .enemyLevel(1) diff --git a/test/moves/rage_powder.test.ts b/test/moves/rage_powder.test.ts index ab05ae2e0bc..284b558f842 100644 --- a/test/moves/rage_powder.test.ts +++ b/test/moves/rage_powder.test.ts @@ -22,7 +22,7 @@ describe("Moves - Rage Powder", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.enemySpecies(Species.SNORLAX); game.override.startingLevel(100); game.override.enemyLevel(100); diff --git a/test/moves/reflect.test.ts b/test/moves/reflect.test.ts index ac879a7cc2b..473b46bf097 100644 --- a/test/moves/reflect.test.ts +++ b/test/moves/reflect.test.ts @@ -34,7 +34,7 @@ describe("Moves - Reflect", () => { beforeEach(() => { game = new GameManager(phaserGame); globalScene = game.scene; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.ability(Abilities.NONE); game.override.moveset([Moves.ABSORB, Moves.ROCK_SLIDE, Moves.TACKLE]); game.override.enemyLevel(100); @@ -60,7 +60,7 @@ describe("Moves - Reflect", () => { }); it("reduces damage of physical attacks by a third in a double battle", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); const moveToUse = Moves.ROCK_SLIDE; await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); diff --git a/test/moves/reflect_type.test.ts b/test/moves/reflect_type.test.ts index 78371d35475..efd58bfeadf 100644 --- a/test/moves/reflect_type.test.ts +++ b/test/moves/reflect_type.test.ts @@ -22,7 +22,7 @@ describe("Moves - Reflect Type", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.ability(Abilities.BALL_FETCH).battleType("single").disableCrits().enemyAbility(Abilities.BALL_FETCH); + game.override.ability(Abilities.BALL_FETCH).battleStyle("single").disableCrits().enemyAbility(Abilities.BALL_FETCH); }); it("will make the user Normal/Grass if targetting a typeless Pokemon affected by Forest's Curse", async () => { diff --git a/test/moves/relic_song.test.ts b/test/moves/relic_song.test.ts index d8f1373b4c0..86195e81a24 100644 --- a/test/moves/relic_song.test.ts +++ b/test/moves/relic_song.test.ts @@ -24,7 +24,7 @@ describe("Moves - Relic Song", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.RELIC_SONG, Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.MAGIKARP) diff --git a/test/moves/retaliate.test.ts b/test/moves/retaliate.test.ts index e916c9ffeaa..9ad7cd7853b 100644 --- a/test/moves/retaliate.test.ts +++ b/test/moves/retaliate.test.ts @@ -26,7 +26,7 @@ describe("Moves - Retaliate", () => { retaliate = allMoves[Moves.RETALIATE]; game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SNORLAX) .enemyMoveset([Moves.RETALIATE, Moves.RETALIATE, Moves.RETALIATE, Moves.RETALIATE]) .enemyLevel(100) diff --git a/test/moves/revival_blessing.test.ts b/test/moves/revival_blessing.test.ts index 87be20f60ad..860ce5524d4 100644 --- a/test/moves/revival_blessing.test.ts +++ b/test/moves/revival_blessing.test.ts @@ -27,7 +27,7 @@ describe("Moves - Revival Blessing", () => { game.override .moveset([Moves.SPLASH, Moves.REVIVAL_BLESSING, Moves.MEMENTO]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) @@ -88,7 +88,7 @@ describe("Moves - Revival Blessing", () => { it("should revive a player pokemon and immediately send it back out if used in the same turn it fainted in doubles", async () => { game.override - .battleType("double") + .battleStyle("double") .enemyMoveset([Moves.SPLASH, Moves.FISSURE]) .enemyAbility(Abilities.NO_GUARD) .enemyLevel(100); @@ -116,7 +116,7 @@ describe("Moves - Revival Blessing", () => { }); it("should not summon multiple pokemon to the same slot when reviving the enemy ally in doubles", async () => { - game.override.battleType("double").enemyMoveset([Moves.REVIVAL_BLESSING]).moveset([Moves.SPLASH]).startingWave(25); // 2nd rival battle - must have 3+ pokemon + game.override.battleStyle("double").enemyMoveset([Moves.REVIVAL_BLESSING]).moveset([Moves.SPLASH]).startingWave(25); // 2nd rival battle - must have 3+ pokemon await game.classicMode.startBattle([Species.ARCEUS, Species.GIRATINA]); const enemyFainting = game.scene.getEnemyField()[0]; diff --git a/test/moves/role_play.test.ts b/test/moves/role_play.test.ts index 2a899b6e987..d4893212003 100644 --- a/test/moves/role_play.test.ts +++ b/test/moves/role_play.test.ts @@ -25,7 +25,7 @@ describe("Moves - Role Play", () => { game.override .moveset([Moves.SPLASH, Moves.ROLE_PLAY]) .ability(Abilities.ADAPTABILITY) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/rollout.test.ts b/test/moves/rollout.test.ts index 89270c2dfc7..b477fd8274f 100644 --- a/test/moves/rollout.test.ts +++ b/test/moves/rollout.test.ts @@ -24,7 +24,7 @@ describe("Moves - Rollout", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.disableCrits(); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.starterSpecies(Species.RATTATA); game.override.ability(Abilities.BALL_FETCH); game.override.enemySpecies(Species.BIDOOF); diff --git a/test/moves/roost.test.ts b/test/moves/roost.test.ts index a52b81085c8..e55c76ca220 100644 --- a/test/moves/roost.test.ts +++ b/test/moves/roost.test.ts @@ -25,7 +25,7 @@ describe("Moves - Roost", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RELICANTH); game.override.startingLevel(100); game.override.enemyLevel(100); diff --git a/test/moves/round.test.ts b/test/moves/round.test.ts index 82f080a25ea..a58efb730f8 100644 --- a/test/moves/round.test.ts +++ b/test/moves/round.test.ts @@ -27,7 +27,7 @@ describe("Moves - Round", () => { game.override .moveset([Moves.SPLASH, Moves.ROUND]) .ability(Abilities.BALL_FETCH) - .battleType("double") + .battleStyle("double") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/safeguard.test.ts b/test/moves/safeguard.test.ts index 675c74f28d0..7804b63f5c5 100644 --- a/test/moves/safeguard.test.ts +++ b/test/moves/safeguard.test.ts @@ -26,7 +26,7 @@ describe("Moves - Safeguard", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.DRATINI) .enemyMoveset([Moves.SAFEGUARD]) .enemyAbility(Abilities.BALL_FETCH) @@ -71,7 +71,7 @@ describe("Moves - Safeguard", () => { }); it("protects ally from status", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.classicMode.startBattle(); diff --git a/test/moves/scale_shot.test.ts b/test/moves/scale_shot.test.ts index 2be632adb54..4731ccf9574 100644 --- a/test/moves/scale_shot.test.ts +++ b/test/moves/scale_shot.test.ts @@ -30,7 +30,7 @@ describe("Moves - Scale Shot", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SCALE_SHOT]) - .battleType("single") + .battleStyle("single") .disableCrits() .ability(Abilities.NO_GUARD) .passiveAbility(Abilities.SKILL_LINK) diff --git a/test/moves/secret_power.test.ts b/test/moves/secret_power.test.ts index d769b112b70..cbc0cded28b 100644 --- a/test/moves/secret_power.test.ts +++ b/test/moves/secret_power.test.ts @@ -33,7 +33,7 @@ describe("Moves - Secret Power", () => { game.override .moveset([Moves.SECRET_POWER]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyLevel(60) @@ -65,7 +65,7 @@ describe("Moves - Secret Power", () => { .moveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE, Moves.SECRET_POWER, Moves.SPLASH]) .ability(Abilities.SERENE_GRACE) .enemyMoveset([Moves.SPLASH]) - .battleType("double"); + .battleStyle("double"); await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); const sereneGraceAttr = allAbilities[Abilities.SERENE_GRACE].getAttrs(MoveEffectChanceMultiplierAbAttr)[0]; diff --git a/test/moves/shed_tail.test.ts b/test/moves/shed_tail.test.ts index 6744c4e9ed8..845399f6c27 100644 --- a/test/moves/shed_tail.test.ts +++ b/test/moves/shed_tail.test.ts @@ -25,7 +25,7 @@ describe("Moves - Shed Tail", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SHED_TAIL]) - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); diff --git a/test/moves/shell_side_arm.test.ts b/test/moves/shell_side_arm.test.ts index a5b065b76cb..e43bf6db037 100644 --- a/test/moves/shell_side_arm.test.ts +++ b/test/moves/shell_side_arm.test.ts @@ -30,7 +30,7 @@ describe("Moves - Shell Side Arm", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SHELL_SIDE_ARM, Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemyLevel(100) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/shell_trap.test.ts b/test/moves/shell_trap.test.ts index 2df94cdb828..f6501c2cd9e 100644 --- a/test/moves/shell_trap.test.ts +++ b/test/moves/shell_trap.test.ts @@ -27,7 +27,7 @@ describe("Moves - Shell Trap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .moveset([Moves.SHELL_TRAP, Moves.SPLASH, Moves.BULLDOZE]) .enemySpecies(Species.SNORLAX) .enemyMoveset([Moves.RAZOR_LEAF]) @@ -128,7 +128,7 @@ describe("Moves - Shell Trap", () => { }); it("should not activate from a subsequent physical attack", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); vi.spyOn(allMoves[Moves.RAZOR_LEAF], "priority", "get").mockReturnValue(-4); await game.startBattle([Species.CHARIZARD]); diff --git a/test/moves/simple_beam.test.ts b/test/moves/simple_beam.test.ts index ce86f42671e..225fda28083 100644 --- a/test/moves/simple_beam.test.ts +++ b/test/moves/simple_beam.test.ts @@ -24,7 +24,7 @@ describe("Moves - Simple Beam", () => { game.override .moveset([Moves.SPLASH, Moves.SIMPLE_BEAM]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/sketch.test.ts b/test/moves/sketch.test.ts index dfbf2eca713..c9755189a71 100644 --- a/test/moves/sketch.test.ts +++ b/test/moves/sketch.test.ts @@ -27,7 +27,7 @@ describe("Moves - Sketch", () => { game = new GameManager(phaserGame); game.override .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.SHUCKLE) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/skill_swap.test.ts b/test/moves/skill_swap.test.ts index f807a85eaf6..562e4bb56ed 100644 --- a/test/moves/skill_swap.test.ts +++ b/test/moves/skill_swap.test.ts @@ -25,7 +25,7 @@ describe("Moves - Skill Swap", () => { game.override .moveset([Moves.SPLASH, Moves.SKILL_SWAP]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/sleep_talk.test.ts b/test/moves/sleep_talk.test.ts index d31eff34a7a..cbe3b6d7d3a 100644 --- a/test/moves/sleep_talk.test.ts +++ b/test/moves/sleep_talk.test.ts @@ -28,7 +28,7 @@ describe("Moves - Sleep Talk", () => { .moveset([Moves.SPLASH, Moves.SLEEP_TALK]) .statusEffect(StatusEffect.SLEEP) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/solar_beam.test.ts b/test/moves/solar_beam.test.ts index dffd4f210e5..49605a70c66 100644 --- a/test/moves/solar_beam.test.ts +++ b/test/moves/solar_beam.test.ts @@ -27,7 +27,7 @@ describe("Moves - Solar Beam", () => { game = new GameManager(phaserGame); game.override .moveset(Moves.SOLAR_BEAM) - .battleType("single") + .battleStyle("single") .startingLevel(100) .enemySpecies(Species.SNORLAX) .enemyLevel(100) diff --git a/test/moves/sparkly_swirl.test.ts b/test/moves/sparkly_swirl.test.ts index 6cd357c7e0e..b9df302933c 100644 --- a/test/moves/sparkly_swirl.test.ts +++ b/test/moves/sparkly_swirl.test.ts @@ -34,7 +34,7 @@ describe("Moves - Sparkly Swirl", () => { }); it("should cure status effect of the user, its ally, and all party pokemon", async () => { - game.override.battleType("double").statusEffect(StatusEffect.BURN); + game.override.battleStyle("double").statusEffect(StatusEffect.BURN); await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA, Species.RATTATA]); const [leftPlayer, rightPlayer, partyPokemon] = game.scene.getPlayerParty(); const leftOpp = game.scene.getEnemyPokemon()!; @@ -58,7 +58,7 @@ describe("Moves - Sparkly Swirl", () => { }); it("should not cure status effect of the target/target's allies", async () => { - game.override.battleType("double").enemyStatusEffect(StatusEffect.BURN); + game.override.battleStyle("double").enemyStatusEffect(StatusEffect.BURN); await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA]); const [leftOpp, rightOpp] = game.scene.getEnemyField(); diff --git a/test/moves/speed_swap.test.ts b/test/moves/speed_swap.test.ts index a1385ce5386..2b010885e34 100644 --- a/test/moves/speed_swap.test.ts +++ b/test/moves/speed_swap.test.ts @@ -24,7 +24,7 @@ describe("Moves - Speed Swap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.NONE) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.MEW) diff --git a/test/moves/spikes.test.ts b/test/moves/spikes.test.ts index 76af15777bb..3dfa398d7d6 100644 --- a/test/moves/spikes.test.ts +++ b/test/moves/spikes.test.ts @@ -23,7 +23,7 @@ describe("Moves - Spikes", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .ability(Abilities.BALL_FETCH) @@ -81,7 +81,7 @@ describe("Moves - Spikes", () => { it("should work when all targets fainted", async () => { game.override.enemySpecies(Species.DIGLETT); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.startingLevel(50); await game.classicMode.startBattle([Species.RAYQUAZA, Species.ROWLET]); diff --git a/test/moves/spit_up.test.ts b/test/moves/spit_up.test.ts index d71647bda52..c034117bc64 100644 --- a/test/moves/spit_up.test.ts +++ b/test/moves/spit_up.test.ts @@ -32,7 +32,7 @@ describe("Moves - Spit Up", () => { spitUp = allMoves[Moves.SPIT_UP]; game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyMoveset(Moves.SPLASH); diff --git a/test/moves/spotlight.test.ts b/test/moves/spotlight.test.ts index 91705dbb2fa..2c4f652e408 100644 --- a/test/moves/spotlight.test.ts +++ b/test/moves/spotlight.test.ts @@ -22,7 +22,7 @@ describe("Moves - Spotlight", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.starterSpecies(Species.AMOONGUSS); game.override.enemySpecies(Species.SNORLAX); game.override.startingLevel(100); diff --git a/test/moves/steamroller.test.ts b/test/moves/steamroller.test.ts index ba96928e01d..b32b4551c81 100644 --- a/test/moves/steamroller.test.ts +++ b/test/moves/steamroller.test.ts @@ -25,7 +25,7 @@ describe("Moves - Steamroller", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.moveset([Moves.STEAMROLLER]).battleType("single").enemyAbility(Abilities.BALL_FETCH); + game.override.moveset([Moves.STEAMROLLER]).battleStyle("single").enemyAbility(Abilities.BALL_FETCH); }); it("should always hit a minimzed target with double damage", async () => { diff --git a/test/moves/stockpile.test.ts b/test/moves/stockpile.test.ts index 033f24d5229..4b8f51c32b2 100644 --- a/test/moves/stockpile.test.ts +++ b/test/moves/stockpile.test.ts @@ -27,7 +27,7 @@ describe("Moves - Stockpile", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyMoveset(Moves.SPLASH); diff --git a/test/moves/struggle.test.ts b/test/moves/struggle.test.ts index 6b566df9d54..61c6cd23e10 100644 --- a/test/moves/struggle.test.ts +++ b/test/moves/struggle.test.ts @@ -24,7 +24,7 @@ describe("Moves - Struggle", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/substitute.test.ts b/test/moves/substitute.test.ts index 23f7f4af4b9..2e82078418b 100644 --- a/test/moves/substitute.test.ts +++ b/test/moves/substitute.test.ts @@ -36,7 +36,7 @@ describe("Moves - Substitute", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .moveset([Moves.SUBSTITUTE, Moves.SWORDS_DANCE, Moves.TACKLE, Moves.SPLASH]) .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.INSOMNIA) diff --git a/test/moves/swallow.test.ts b/test/moves/swallow.test.ts index baa03801079..d548522068b 100644 --- a/test/moves/swallow.test.ts +++ b/test/moves/swallow.test.ts @@ -27,7 +27,7 @@ describe("Moves - Swallow", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyMoveset(Moves.SPLASH); diff --git a/test/moves/syrup_bomb.test.ts b/test/moves/syrup_bomb.test.ts index 1e193793d82..8e9134497d0 100644 --- a/test/moves/syrup_bomb.test.ts +++ b/test/moves/syrup_bomb.test.ts @@ -25,7 +25,7 @@ describe("Moves - SYRUP BOMB", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) .ability(Abilities.BALL_FETCH) diff --git a/test/moves/tackle.test.ts b/test/moves/tackle.test.ts index 44fc698ec62..162836cd181 100644 --- a/test/moves/tackle.test.ts +++ b/test/moves/tackle.test.ts @@ -24,7 +24,7 @@ describe("Moves - Tackle", () => { beforeEach(() => { game = new GameManager(phaserGame); const moveToUse = Moves.TACKLE; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.MAGIKARP); game.override.startingLevel(1); game.override.startingWave(97); diff --git a/test/moves/tail_whip.test.ts b/test/moves/tail_whip.test.ts index 41c39ab22ca..2d3ade2691d 100644 --- a/test/moves/tail_whip.test.ts +++ b/test/moves/tail_whip.test.ts @@ -25,7 +25,7 @@ describe("Moves - Tail whip", () => { beforeEach(() => { game = new GameManager(phaserGame); const moveToUse = Moves.TAIL_WHIP; - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.RATTATA); game.override.enemyAbility(Abilities.INSOMNIA); game.override.ability(Abilities.INSOMNIA); diff --git a/test/moves/tailwind.test.ts b/test/moves/tailwind.test.ts index 591b94408ce..40bae67b514 100644 --- a/test/moves/tailwind.test.ts +++ b/test/moves/tailwind.test.ts @@ -25,7 +25,7 @@ describe("Moves - Tailwind", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("double") + .battleStyle("double") .moveset([Moves.TAILWIND, Moves.SPLASH]) .enemyMoveset(Moves.SPLASH) .enemyAbility(Abilities.BALL_FETCH) @@ -54,7 +54,7 @@ describe("Moves - Tailwind", () => { }); it("lasts for 4 turns", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle([Species.MAGIKARP]); @@ -77,7 +77,7 @@ describe("Moves - Tailwind", () => { }); it("does not affect the opposing side", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle([Species.MAGIKARP]); diff --git a/test/moves/tar_shot.test.ts b/test/moves/tar_shot.test.ts index ac3ba534446..68f19e3ab51 100644 --- a/test/moves/tar_shot.test.ts +++ b/test/moves/tar_shot.test.ts @@ -24,7 +24,7 @@ describe("Moves - Tar Shot", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.TANGELA) diff --git a/test/moves/taunt.test.ts b/test/moves/taunt.test.ts index adc1434c7dd..e0bb13c61fb 100644 --- a/test/moves/taunt.test.ts +++ b/test/moves/taunt.test.ts @@ -23,7 +23,7 @@ describe("Moves - Taunt", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.TAUNT, Moves.SPLASH]) .enemySpecies(Species.SHUCKLE) diff --git a/test/moves/telekinesis.test.ts b/test/moves/telekinesis.test.ts index 1355cb975f3..d11cc0861f0 100644 --- a/test/moves/telekinesis.test.ts +++ b/test/moves/telekinesis.test.ts @@ -27,7 +27,7 @@ describe("Moves - Telekinesis", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.TELEKINESIS, Moves.TACKLE, Moves.MUD_SHOT, Moves.SMACK_DOWN]) - .battleType("single") + .battleStyle("single") .enemySpecies(Species.SNORLAX) .enemyLevel(60) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index c1a2b999fa0..5dc3a914a2e 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -34,7 +34,7 @@ describe("Moves - Tera Blast", () => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .starterSpecies(Species.FEEBAS) .moveset([Moves.TERA_BLAST]) diff --git a/test/moves/tera_starstorm.test.ts b/test/moves/tera_starstorm.test.ts index 9f97b2a51aa..5ae0c575599 100644 --- a/test/moves/tera_starstorm.test.ts +++ b/test/moves/tera_starstorm.test.ts @@ -25,7 +25,7 @@ describe("Moves - Tera Starstorm", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.TERA_STARSTORM, Moves.SPLASH]) - .battleType("double") + .battleStyle("double") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemyLevel(30) @@ -33,7 +33,7 @@ describe("Moves - Tera Starstorm", () => { }); it("changes type to Stellar when used by Terapagos in its Stellar Form", async () => { - game.override.battleType("single"); + game.override.battleStyle("single"); await game.classicMode.startBattle([Species.TERAPAGOS]); const terapagos = game.scene.getPlayerPokemon()!; diff --git a/test/moves/thousand_arrows.test.ts b/test/moves/thousand_arrows.test.ts index 109fc2c6936..7259fda8560 100644 --- a/test/moves/thousand_arrows.test.ts +++ b/test/moves/thousand_arrows.test.ts @@ -24,7 +24,7 @@ describe("Moves - Thousand Arrows", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.TOGETIC); game.override.startingLevel(100); game.override.enemyLevel(100); diff --git a/test/moves/throat_chop.test.ts b/test/moves/throat_chop.test.ts index 755e60fe425..aaae9c0f5bb 100644 --- a/test/moves/throat_chop.test.ts +++ b/test/moves/throat_chop.test.ts @@ -24,7 +24,7 @@ describe("Moves - Throat Chop", () => { game = new GameManager(phaserGame); game.override .moveset(Array(4).fill(Moves.GROWL)) - .battleType("single") + .battleStyle("single") .ability(Abilities.BALL_FETCH) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Array(4).fill(Moves.THROAT_CHOP)) diff --git a/test/moves/thunder_wave.test.ts b/test/moves/thunder_wave.test.ts index 9f907e38b62..abfb5828d3b 100644 --- a/test/moves/thunder_wave.test.ts +++ b/test/moves/thunder_wave.test.ts @@ -24,7 +24,7 @@ describe("Moves - Thunder Wave", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .starterSpecies(Species.PIKACHU) .moveset([Moves.THUNDER_WAVE]) .enemyMoveset(Moves.SPLASH); diff --git a/test/moves/tidy_up.test.ts b/test/moves/tidy_up.test.ts index 9d98feb13f5..ba7a1e07959 100644 --- a/test/moves/tidy_up.test.ts +++ b/test/moves/tidy_up.test.ts @@ -26,7 +26,7 @@ describe("Moves - Tidy Up", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.enemySpecies(Species.MAGIKARP); game.override.enemyAbility(Abilities.BALL_FETCH); game.override.enemyMoveset(Moves.SPLASH); diff --git a/test/moves/torment.test.ts b/test/moves/torment.test.ts index 75143053321..d06837d2806 100644 --- a/test/moves/torment.test.ts +++ b/test/moves/torment.test.ts @@ -24,7 +24,7 @@ describe("Moves - Torment", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.TORMENT, Moves.SPLASH]) .enemySpecies(Species.SHUCKLE) diff --git a/test/moves/toxic.test.ts b/test/moves/toxic.test.ts index f2b1f82fe02..f908d27ec7e 100644 --- a/test/moves/toxic.test.ts +++ b/test/moves/toxic.test.ts @@ -23,7 +23,7 @@ describe("Moves - Toxic", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("single").moveset(Moves.TOXIC).enemySpecies(Species.MAGIKARP).enemyMoveset(Moves.SPLASH); + game.override.battleStyle("single").moveset(Moves.TOXIC).enemySpecies(Species.MAGIKARP).enemyMoveset(Moves.SPLASH); }); it("should be guaranteed to hit if user is Poison-type", async () => { diff --git a/test/moves/toxic_spikes.test.ts b/test/moves/toxic_spikes.test.ts index d457ec5cb56..624db27bb92 100644 --- a/test/moves/toxic_spikes.test.ts +++ b/test/moves/toxic_spikes.test.ts @@ -28,7 +28,7 @@ describe("Moves - Toxic Spikes", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .startingWave(5) .enemySpecies(Species.RATTATA) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/transform.test.ts b/test/moves/transform.test.ts index d37decf28f4..5bcb7c7ed4c 100644 --- a/test/moves/transform.test.ts +++ b/test/moves/transform.test.ts @@ -26,7 +26,7 @@ describe("Moves - Transform", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MEW) .enemyLevel(200) .enemyAbility(Abilities.BEAST_BOOST) diff --git a/test/moves/trick_or_treat.test.ts b/test/moves/trick_or_treat.test.ts index 108028f3008..3b32e09f72d 100644 --- a/test/moves/trick_or_treat.test.ts +++ b/test/moves/trick_or_treat.test.ts @@ -25,7 +25,7 @@ describe("Moves - Trick Or Treat", () => { game.override .moveset([Moves.FORESTS_CURSE, Moves.TRICK_OR_TREAT]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/triple_arrows.test.ts b/test/moves/triple_arrows.test.ts index eb434b25815..58ce8a9c528 100644 --- a/test/moves/triple_arrows.test.ts +++ b/test/moves/triple_arrows.test.ts @@ -32,7 +32,7 @@ describe("Moves - Triple Arrows", () => { game.override .ability(Abilities.BALL_FETCH) .moveset([Moves.TRIPLE_ARROWS]) - .battleType("single") + .battleStyle("single") .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.STURDY) .enemyMoveset(Moves.SPLASH); diff --git a/test/moves/u_turn.test.ts b/test/moves/u_turn.test.ts index f1d212f3f47..68bb7fe05c1 100644 --- a/test/moves/u_turn.test.ts +++ b/test/moves/u_turn.test.ts @@ -23,7 +23,7 @@ describe("Moves - U-turn", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .enemySpecies(Species.GENGAR) .startingLevel(90) .startingWave(97) diff --git a/test/moves/upper_hand.test.ts b/test/moves/upper_hand.test.ts index ecfd9f0735c..66359a94ccb 100644 --- a/test/moves/upper_hand.test.ts +++ b/test/moves/upper_hand.test.ts @@ -26,7 +26,7 @@ describe("Moves - Upper Hand", () => { game.override .moveset(Moves.UPPER_HAND) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/moves/whirlwind.test.ts b/test/moves/whirlwind.test.ts index d6124b6c766..b0ca1783f2f 100644 --- a/test/moves/whirlwind.test.ts +++ b/test/moves/whirlwind.test.ts @@ -10,6 +10,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { Status } from "#app/data/status-effect"; import { StatusEffect } from "#enums/status-effect"; +import { BattlerIndex } from "#app/battle"; +import { BattleType } from "#enums/battle-type"; +import { TrainerType } from "#enums/trainer-type"; describe("Moves - Whirlwind", () => { let phaserGame: Phaser.Game; @@ -28,8 +31,8 @@ describe("Moves - Whirlwind", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") - .moveset(Moves.SPLASH) + .battleStyle("single") + .moveset([Moves.SPLASH]) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset([Moves.SPLASH, Moves.WHIRLWIND]) .enemySpecies(Species.PIDGEY); @@ -41,7 +44,8 @@ describe("Moves - Whirlwind", () => { { move: Moves.SKY_DROP, name: "Sky Drop" }, ])("should not hit a flying target: $name (=$move)", async ({ move }) => { game.override.moveset([move]); - await game.classicMode.startBattle([Species.STARAPTOR]); + // Must have a pokemon in the back so that the move misses instead of fails. + await game.classicMode.startBattle([Species.STARAPTOR, Species.MAGIKARP]); const staraptor = game.scene.getPlayerPokemon()!; @@ -156,4 +160,60 @@ describe("Moves - Whirlwind", () => { expect(lapras.isOnField()).toBe(true); expect(eevee.isOnField()).toBe(false); }); + + it("should not pull in the other trainer's pokemon in a partner trainer battle", async () => { + game.override + .battleType(BattleType.TRAINER) + .randomTrainer({ + trainerType: TrainerType.BREEDER, + alwaysDouble: true, + }) + .enemyMoveset([Moves.SPLASH, Moves.LUNAR_DANCE]) + .moveset([Moves.WHIRLWIND, Moves.SPLASH]); + await game.classicMode.startBattle([Species.MAGIKARP, Species.TOTODILE]); + + // expect the enemy to have at least 4 pokemon, necessary for this check to even work + expect(game.scene.getEnemyParty().length, "enemy must have exactly 4 pokemon").toBe(4); + + const user = game.scene.getPlayerPokemon()!; + + console.log(user.getMoveset(false)); + + game.move.select(Moves.SPLASH); + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.MEMENTO); + await game.forceEnemyMove(Moves.SPLASH); + await game.toNextTurn(); + + // Get the enemy pokemon id so we can check if is the same after switch. + const enemy_id = game.scene.getEnemyPokemon()!.id; + + // Hit the enemy that fainted with whirlwind. + game.move.select(Moves.WHIRLWIND, 0, BattlerIndex.ENEMY); + game.move.select(Moves.SPLASH, 1); + + await game.forceEnemyMove(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + + await game.toNextTurn(); + + // Expect the enemy pokemon to not have switched out. + expect(game.scene.getEnemyPokemon()!.id).toBe(enemy_id); + }); + + it("should force a wild pokemon to flee", async () => { + game.override + .battleType(BattleType.WILD) + .moveset([Moves.WHIRLWIND, Moves.SPLASH]) + .enemyMoveset(Moves.SPLASH) + .ability(Abilities.BALL_FETCH); + await game.classicMode.startBattle([Species.MAGIKARP]); + + const user = game.scene.getPlayerPokemon()!; + + game.move.select(Moves.WHIRLWIND); + await game.phaseInterceptor.to("BerryPhase"); + + expect(user.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); + }); }); diff --git a/test/moves/wide_guard.test.ts b/test/moves/wide_guard.test.ts index c466f104f67..85ebad806d7 100644 --- a/test/moves/wide_guard.test.ts +++ b/test/moves/wide_guard.test.ts @@ -25,7 +25,7 @@ describe("Moves - Wide Guard", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); + game.override.battleStyle("double"); game.override.moveset([Moves.WIDE_GUARD, Moves.SPLASH, Moves.SURF]); diff --git a/test/moves/will_o_wisp.test.ts b/test/moves/will_o_wisp.test.ts index 0d19fec954c..b4e4975896b 100644 --- a/test/moves/will_o_wisp.test.ts +++ b/test/moves/will_o_wisp.test.ts @@ -26,7 +26,7 @@ describe("Moves - Will-O-Wisp", () => { game.override .moveset([Moves.WILL_O_WISP, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/phases/form-change-phase.test.ts b/test/phases/form-change-phase.test.ts index deac21ed0dd..974c64d9e5a 100644 --- a/test/phases/form-change-phase.test.ts +++ b/test/phases/form-change-phase.test.ts @@ -27,7 +27,7 @@ describe("Form Change Phase", () => { game.override .moveset([Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) diff --git a/test/phases/frenzy-move-reset.test.ts b/test/phases/frenzy-move-reset.test.ts index 2f628f8a8c4..6d3ec767722 100644 --- a/test/phases/frenzy-move-reset.test.ts +++ b/test/phases/frenzy-move-reset.test.ts @@ -25,7 +25,7 @@ describe("Frenzy Move Reset", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .battleType("single") + .battleStyle("single") .disableCrits() .starterSpecies(Species.MAGIKARP) .moveset(Moves.THRASH) diff --git a/test/phases/game-over-phase.test.ts b/test/phases/game-over-phase.test.ts index 438efc85167..40473a022cb 100644 --- a/test/phases/game-over-phase.test.ts +++ b/test/phases/game-over-phase.test.ts @@ -27,7 +27,7 @@ describe("Game Over Phase", () => { game.override .moveset([Moves.MEMENTO, Moves.ICE_BEAM, Moves.SPLASH]) .ability(Abilities.BALL_FETCH) - .battleType("single") + .battleStyle("single") .disableCrits() .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) diff --git a/test/reload.test.ts b/test/reload.test.ts index f54885eccfb..c69c0f9f484 100644 --- a/test/reload.test.ts +++ b/test/reload.test.ts @@ -48,7 +48,7 @@ describe("Reload", () => { it("should not have RNG inconsistencies after a biome switch", async () => { game.override .startingWave(10) - .battleType("single") + .battleStyle("single") .startingLevel(100) // Avoid levelling up .disableTrainerWaves() .moveset([Moves.SPLASH]) @@ -81,7 +81,7 @@ describe("Reload", () => { game.override .startingWave(10) .startingBiome(Biome.ICE_CAVE) // Will lead to Snowy Forest with randomly generated weather - .battleType("single") + .battleStyle("single") .startingLevel(100) // Avoid levelling up .disableTrainerWaves() .moveset([Moves.SPLASH]) @@ -116,7 +116,7 @@ describe("Reload", () => { }, 20000); it("should not have RNG inconsistencies at a Daily run double battle", async () => { - game.override.battleType("double"); + game.override.battleStyle("double"); await game.dailyMode.startBattle(); const preReloadRngState = Phaser.Math.RND.state(); @@ -129,7 +129,7 @@ describe("Reload", () => { }, 20000); it("should not have RNG inconsistencies at a Daily run Gym Leader fight", async () => { - game.override.battleType("single").startingWave(40); + game.override.battleStyle("single").startingWave(40); await game.dailyMode.startBattle(); const preReloadRngState = Phaser.Math.RND.state(); @@ -142,7 +142,7 @@ describe("Reload", () => { }, 20000); it("should not have RNG inconsistencies at a Daily run regular trainer fight", async () => { - game.override.battleType("single").startingWave(45); + game.override.battleStyle("single").startingWave(45); await game.dailyMode.startBattle(); const preReloadRngState = Phaser.Math.RND.state(); @@ -155,7 +155,7 @@ describe("Reload", () => { }, 20000); it("should not have RNG inconsistencies at a Daily run wave 50 Boss fight", async () => { - game.override.battleType("single").startingWave(50); + game.override.battleStyle("single").startingWave(50); await game.runToFinalBossEncounter([Species.BULBASAUR], GameModes.DAILY); const preReloadRngState = Phaser.Math.RND.state(); diff --git a/test/system/game_data.test.ts b/test/system/game_data.test.ts index 93e615711c4..94e82949fe6 100644 --- a/test/system/game_data.test.ts +++ b/test/system/game_data.test.ts @@ -22,7 +22,7 @@ describe("System - Game Data", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); diff --git a/test/testUtils/gameManagerUtils.ts b/test/testUtils/gameManagerUtils.ts index 11636bd66b4..9e9c8f15f96 100644 --- a/test/testUtils/gameManagerUtils.ts +++ b/test/testUtils/gameManagerUtils.ts @@ -1,4 +1,5 @@ -import Battle, { BattleType } from "#app/battle"; +import Battle from "#app/battle"; +import { BattleType } from "#enums/battle-type"; import type BattleScene from "#app/battle-scene"; import { getDailyRunStarters } from "#app/data/daily-run"; import { Gender } from "#app/data/gender"; diff --git a/test/testUtils/helpers/overridesHelper.ts b/test/testUtils/helpers/overridesHelper.ts index 0ed1511255b..d570a1a4195 100644 --- a/test/testUtils/helpers/overridesHelper.ts +++ b/test/testUtils/helpers/overridesHelper.ts @@ -15,6 +15,8 @@ import type { WeatherType } from "#enums/weather-type"; import { expect, vi } from "vitest"; import { GameManagerHelper } from "./gameManagerHelper"; import { shiftCharCodes } from "#app/utils"; +import type { RandomTrainerOverride } from "#app/overrides"; +import type { BattleType } from "#enums/battle-type"; /** * Helper to handle overrides in tests @@ -28,7 +30,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the starting biome * @warning Any event listeners that are attached to [NewArenaEvent](events\battle-scene.ts) may need to be handled down the line - * @param biome the biome to set + * @param biome - The biome to set */ public startingBiome(biome: Biome): this { this.game.scene.newArena(biome); @@ -37,8 +39,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the starting wave (index) - * @param wave the wave (index) to set. Classic: `1`-`200` + * Override the starting wave index + * @param wave - The wave to set. Classic: `1`-`200` * @returns `this` */ public startingWave(wave: number): this { @@ -48,8 +50,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) starting level - * @param level the (pokemon) level to set + * Override the player pokemon's starting level + * @param level - The level to set * @returns `this` */ public startingLevel(level: Species | number): this { @@ -60,7 +62,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the XP Multiplier - * @param value the XP multiplier to set + * @param value - The XP multiplier to set * @returns `this` */ public xpMultiplier(value: number): this { @@ -71,7 +73,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the wave level cap - * @param cap the level cap value to set; 0 uses normal level caps and negative values + * @param cap - The level cap value to set; 0 uses normal level caps and negative values * disable it completely * @returns `this` */ @@ -90,8 +92,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) starting held items - * @param items the items to hold + * Override the player pokemon's starting held items + * @param items - The items to hold * @returns `this` */ public startingHeldItems(items: ModifierOverride[]): this { @@ -101,8 +103,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) {@linkcode Species | species} - * @param species the (pokemon) {@linkcode Species | species} to set + * Override the player pokemon's {@linkcode Species | species} + * @param species - The {@linkcode Species | species} to set * @returns `this` */ public starterSpecies(species: Species | number): this { @@ -112,7 +114,7 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) to be a random fusion + * Override the player pokemon to be a random fusion * @returns `this` */ public enableStarterFusion(): this { @@ -122,8 +124,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) fusion species - * @param species the fusion species to set + * Override the player pokemon's fusion species + * @param species - The fusion species to set * @returns `this` */ public starterFusionSpecies(species: Species | number): this { @@ -133,8 +135,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemons) forms - * @param forms the (pokemon) forms to set + * Override the player pokemon's forms + * @param forms - The forms to set * @returns `this` */ public starterForms(forms: Partial>): this { @@ -148,7 +150,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the player's starting modifiers - * @param modifiers the modifiers to set + * @param modifiers - The modifiers to set * @returns `this` */ public startingModifier(modifiers: ModifierOverride[]): this { @@ -158,8 +160,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) {@linkcode Abilities | ability}. - * @param ability the (pokemon) {@linkcode Abilities | ability} to set + * Override the player pokemon's {@linkcode Abilities | ability}. + * @param ability - The {@linkcode Abilities | ability} to set * @returns `this` */ public ability(ability: Abilities): this { @@ -169,8 +171,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) **passive** {@linkcode Abilities | ability} - * @param passiveAbility the (pokemon) **passive** {@linkcode Abilities | ability} to set + * Override the player pokemon's **passive** {@linkcode Abilities | ability} + * @param passiveAbility - The **passive** {@linkcode Abilities | ability} to set * @returns `this` */ public passiveAbility(passiveAbility: Abilities): this { @@ -180,8 +182,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Forces the status of the player (pokemon) **passive** {@linkcode Abilities | ability} - * @param hasPassiveAbility forces the passive to be active if `true`, inactive if `false` + * Forces the status of the player pokemon **passive** {@linkcode Abilities | ability} + * @param hasPassiveAbility - Forces the passive to be active if `true`, inactive if `false` * @returns `this` */ public hasPassiveAbility(hasPassiveAbility: boolean | null): this { @@ -194,8 +196,8 @@ export class OverridesHelper extends GameManagerHelper { return this; } /** - * Override the player (pokemon) {@linkcode Moves | moves}set - * @param moveset the {@linkcode Moves | moves}set to set + * Override the player pokemon's {@linkcode Moves | moves}set + * @param moveset - The {@linkcode Moves | moves}set to set * @returns `this` */ public moveset(moveset: Moves | Moves[]): this { @@ -209,8 +211,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player (pokemon) {@linkcode StatusEffect | status-effect} - * @param statusEffect the {@linkcode StatusEffect | status-effect} to set + * Override the player pokemon's {@linkcode StatusEffect | status-effect} + * @param statusEffect - The {@linkcode StatusEffect | status-effect} to set * @returns */ public statusEffect(statusEffect: StatusEffect): this { @@ -229,6 +231,19 @@ export class OverridesHelper extends GameManagerHelper { return this; } + /** + * Override the trainer chosen when a random trainer is selected. + * + * Does not force the battle to be a trainer battle. + * @see {@linkcode setBattleType} + * @returns `this` + */ + public randomTrainer(trainer: RandomTrainerOverride | null): this { + vi.spyOn(Overrides, "RANDOM_TRAINER_OVERRIDE", "get").mockReturnValue(trainer); + this.log("Partner battle is forced!"); + return this; + } + /** * Override each wave to not have critical hits * @returns `this` @@ -240,8 +255,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the {@linkcode WeatherType | weather (type)} - * @param type {@linkcode WeatherType | weather type} to set + * Override the {@linkcode WeatherType | weather type} + * @param type - The {@linkcode WeatherType | weather type} to set * @returns `this` */ public weather(type: WeatherType): this { @@ -252,7 +267,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the seed - * @param seed the seed to set + * @param seed - The seed to set * @returns `this` */ public seed(seed: string): this { @@ -264,20 +279,36 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the battle type (e.g., single or double). - * @see {@linkcode Overrides.BATTLE_TYPE_OVERRIDE} - * @param battleType battle type to set + * Override the battle style (e.g., single or double). + * @see {@linkcode Overrides.BATTLE_STYLE_OVERRIDE} + * @param battleStyle - The battle style to set * @returns `this` */ - public battleType(battleType: BattleStyle | null): this { - vi.spyOn(Overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue(battleType); - this.log(battleType === null ? "Battle type override disabled!" : `Battle type set to ${battleType}!`); + public battleStyle(battleStyle: BattleStyle | null): this { + vi.spyOn(Overrides, "BATTLE_STYLE_OVERRIDE", "get").mockReturnValue(battleStyle); + this.log(battleStyle === null ? "Battle type override disabled!" : `Battle type set to ${battleStyle}!`); return this; } /** - * Override the enemy (pokemon) {@linkcode Species | species} - * @param species the (pokemon) {@linkcode Species | species} to set + * Override the battle type (e.g., WILD, or Trainer) for non-scripted battles. + * @see {@linkcode Overrides.BATTLE_TYPE_OVERRIDE} + * @param battleType - The battle type to set + * @returns `this` + */ + public battleType(battleType: Exclude): this { + vi.spyOn(Overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue(battleType); + this.log( + battleType === null + ? "Battle type override disabled!" + : `Battle type set to ${battleType[battleType]} (=${battleType})!`, + ); + return this; + } + + /** + * Override the {@linkcode Species | species} of enemy pokemon + * @param species - The {@linkcode Species | species} to set * @returns `this` */ public enemySpecies(species: Species | number): this { @@ -287,7 +318,7 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) to be a random fusion + * Override the enemy pokemon to be a random fusion * @returns `this` */ public enableEnemyFusion(): this { @@ -297,8 +328,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) fusion species - * @param species the fusion species to set + * Override the enemy pokemon fusion species + * @param species - The fusion species to set * @returns `this` */ public enemyFusionSpecies(species: Species | number): this { @@ -308,8 +339,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) {@linkcode Abilities | ability} - * @param ability the (pokemon) {@linkcode Abilities | ability} to set + * Override the {@linkcode Abilities | ability} of enemy pokemon + * @param ability - The {@linkcode Abilities | ability} to set * @returns `this` */ public enemyAbility(ability: Abilities): this { @@ -319,8 +350,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) **passive** {@linkcode Abilities | ability} - * @param passiveAbility the (pokemon) **passive** {@linkcode Abilities | ability} to set + * Override the **passive** {@linkcode Abilities | ability} of enemy pokemon + * @param passiveAbility - The **passive** {@linkcode Abilities | ability} to set * @returns `this` */ public enemyPassiveAbility(passiveAbility: Abilities): this { @@ -330,8 +361,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Forces the status of the enemy (pokemon) **passive** {@linkcode Abilities | ability} - * @param hasPassiveAbility forces the passive to be active if `true`, inactive if `false` + * Forces the status of the enemy pokemon **passive** {@linkcode Abilities | ability} + * @param hasPassiveAbility - Forces the passive to be active if `true`, inactive if `false` * @returns `this` */ public enemyHasPassiveAbility(hasPassiveAbility: boolean | null): this { @@ -345,8 +376,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) {@linkcode Moves | moves}set - * @param moveset the {@linkcode Moves | moves}set to set + * Override the {@linkcode Moves | move}set of enemy pokemon + * @param moveset - The {@linkcode Moves | move}set to set * @returns `this` */ public enemyMoveset(moveset: Moves | Moves[]): this { @@ -360,8 +391,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) level - * @param level the level to set + * Override the level of enemy pokemon + * @param level - The level to set * @returns `this` */ public enemyLevel(level: number): this { @@ -371,8 +402,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (pokemon) {@linkcode StatusEffect | status-effect} - * @param statusEffect the {@linkcode StatusEffect | status-effect} to set + * Override the enemy {@linkcode StatusEffect | status-effect} for enemy pokemon + * @param statusEffect - The {@linkcode StatusEffect | status-effect} to set * @returns */ public enemyStatusEffect(statusEffect: StatusEffect): this { @@ -394,7 +425,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Gives the player access to an Unlockable. - * @param unlockable The Unlockable(s) to enable. + * @param unlockable - The Unlockable(s) to enable. * @returns `this` */ public enableUnlockable(unlockable: Unlockables[]): this { @@ -405,7 +436,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the items rolled at the end of a battle - * @param items the items to be rolled + * @param items - The items to be rolled * @returns `this` */ public itemRewards(items: ModifierOverride[]): this { @@ -463,8 +494,8 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the enemy (Pokemon) to have the given amount of health segments - * @param healthSegments the number of segments to give + * Override the enemy Pokemon to have the given amount of health segments + * @param healthSegments - The number of segments to give * - `0` (default): the health segments will be handled like in the game based on wave, level and species * - `1`: the Pokemon will not be a boss * - `2`+: the Pokemon will be a boss with the given number of health segments @@ -493,7 +524,7 @@ export class OverridesHelper extends GameManagerHelper { /** * Override the encounter chance for a mystery encounter. - * @param percentage the encounter chance in % + * @param percentage - The encounter chance in % * @returns `this` */ public mysteryEncounterChance(percentage: number): this { diff --git a/test/ui/battle_info.test.ts b/test/ui/battle_info.test.ts index 4c6274d5efb..c4548adc49c 100644 --- a/test/ui/battle_info.test.ts +++ b/test/ui/battle_info.test.ts @@ -32,7 +32,7 @@ describe("UI - Battle Info", () => { game = new GameManager(phaserGame); game.override .moveset([Moves.GUILLOTINE, Moves.SPLASH]) - .battleType("single") + .battleStyle("single") .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH) .enemySpecies(Species.CATERPIE); diff --git a/test/ui/transfer-item.test.ts b/test/ui/transfer-item.test.ts index 476f0744436..cbbdc1d50ee 100644 --- a/test/ui/transfer-item.test.ts +++ b/test/ui/transfer-item.test.ts @@ -26,7 +26,7 @@ describe("UI - Transfer Items", () => { beforeEach(async () => { game = new GameManager(phaserGame); - game.override.battleType("single"); + game.override.battleStyle("single"); game.override.startingLevel(100); game.override.startingWave(1); game.override.startingHeldItems([ diff --git a/test/ui/type-hints.test.ts b/test/ui/type-hints.test.ts index fa7532fb674..fcb71186448 100644 --- a/test/ui/type-hints.test.ts +++ b/test/ui/type-hints.test.ts @@ -27,12 +27,12 @@ describe("UI - Type Hints", () => { beforeEach(async () => { game = new GameManager(phaserGame); game.settings.typeHints(true); //activate type hints - game.override.battleType("single").startingLevel(100).startingWave(1).enemyMoveset(Moves.SPLASH); + game.override.battleStyle("single").startingLevel(100).startingWave(1).enemyMoveset(Moves.SPLASH); }); it("check immunity color", async () => { game.override - .battleType("single") + .battleStyle("single") .startingLevel(100) .startingWave(1) .enemySpecies(Species.FLORGES) From a6e87c84382765a1922e675b2301eeb9b825e4a9 Mon Sep 17 00:00:00 2001 From: damocleas Date: Fri, 18 Apr 2025 22:25:05 -0400 Subject: [PATCH 037/102] [Bug] [Move] Supercell Slam now hits Minimized targets for double damage and can't miss (#5680) Added AlwaysHitMinimizeAttr and HitsTagForDoubleDamageAttr to Supercell Slam for Minimize --- src/data/moves/move.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 6e5e09839c1..7a2834c0322 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -11231,6 +11231,8 @@ export function initMoves() { new AttackMove(Moves.TEMPER_FLARE, PokemonType.FIRE, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => user.getLastXMoves(2)[1]?.result === MoveResult.MISS || user.getLastXMoves(2)[1]?.result === MoveResult.FAIL ? 2 : 1), new AttackMove(Moves.SUPERCELL_SLAM, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 95, 15, -1, 0, 9) + .attr(AlwaysHitMinimizeAttr) + .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) .recklessMove(), From 5854b21da0a191b19413325c1b3ff048e4582323 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 19 Apr 2025 06:57:03 -0500 Subject: [PATCH 038/102] [Refactor] Remove circular imports part 1 (#5663) * Extract Mode enum out of UI and into its own file Reduces circular imports from 909 to 773 * Move around utility files Reduces cyclical dependencies from 773 to 765 * Remove starterColors and bypassLogin from battle-scene Reduces cyclical dependencies from 765 to 623 * Fix test runner error * Update import for bypassLogin in test * Update mocks for utils in tests * Fix broken tests * Update selectWithTera override * Update path for utils in ab-attr.ts * Update path for utils in ability-class.ts * Fix utils import path in healer.test.ts --- src/account.ts | 4 +- src/battle-scene.ts | 17 +- src/battle.ts | 2 +- src/data/abilities/ab-attrs/ab-attr.ts | 4 +- src/data/abilities/ability-class.ts | 2 +- src/data/abilities/ability.ts | 2 +- src/data/arena-tag.ts | 2 +- src/data/balance/biomes.ts | 2 +- src/data/balance/egg-moves.ts | 2 +- src/data/balance/pokemon-evolutions.ts | 6 +- src/data/battle-anims.ts | 4 +- src/data/battler-tags.ts | 4 +- src/data/berry.ts | 2 +- src/data/challenge.ts | 2 +- src/data/custom-pokemon-data.ts | 2 +- src/data/daily-run.ts | 2 +- src/data/egg.ts | 2 +- src/data/moves/move.ts | 2 +- .../encounters/a-trainers-test-encounter.ts | 2 +- .../encounters/absolute-avarice-encounter.ts | 2 +- .../encounters/berries-abound-encounter.ts | 2 +- .../encounters/bug-type-superfan-encounter.ts | 2 +- .../encounters/clowning-around-encounter.ts | 12 +- .../encounters/dark-deal-encounter.ts | 2 +- .../encounters/delibirdy-encounter.ts | 2 +- .../department-store-sale-encounter.ts | 2 +- .../encounters/fiery-fallout-encounter.ts | 2 +- .../encounters/fight-or-flight-encounter.ts | 2 +- .../global-trade-system-encounter.ts | 9 +- .../mysterious-challengers-encounter.ts | 2 +- .../encounters/mysterious-chest-encounter.ts | 2 +- .../encounters/safari-zone-encounter.ts | 2 +- .../shady-vitamin-dealer-encounter.ts | 2 +- .../teleporting-hijinks-encounter.ts | 2 +- .../the-expert-pokemon-breeder-encounter.ts | 2 +- .../the-pokemon-salesman-encounter.ts | 2 +- .../encounters/training-session-encounter.ts | 2 +- .../encounters/trash-to-treasure-encounter.ts | 2 +- .../encounters/uncommon-breed-encounter.ts | 2 +- .../encounters/weird-dream-encounter.ts | 2 +- .../mystery-encounter-option.ts | 2 +- .../mystery-encounter-requirements.ts | 2 +- .../mystery-encounter-save-data.ts | 2 +- .../mystery-encounters/mystery-encounter.ts | 4 +- .../can-learn-move-requirement.ts | 2 +- .../utils/encounter-dialogue-utils.ts | 2 +- .../utils/encounter-phase-utils.ts | 18 +- .../utils/encounter-pokemon-utils.ts | 20 +-- .../encounter-transformation-sequence.ts | 2 +- src/data/nature.ts | 2 +- src/data/pokeball.ts | 2 +- src/data/pokemon-forms.ts | 2 +- src/data/pokemon-species.ts | 2 +- src/data/status-effect.ts | 2 +- src/data/trainer-names.ts | 2 +- src/data/trainers/TrainerPartyTemplate.ts | 2 +- src/data/trainers/trainer-config.ts | 2 +- src/data/weather.ts | 2 +- src/enums/ui-mode.ts | 47 +++++ src/field/anims.ts | 2 +- src/field/arena.ts | 2 +- src/field/damage-number-handler.ts | 2 +- src/field/mystery-encounter-intro.ts | 2 +- src/field/pokemon-sprite-sparkle-handler.ts | 2 +- src/field/pokemon.ts | 8 +- src/field/trainer.ts | 2 +- src/game-mode.ts | 2 +- src/global-vars/bypass-login.ts | 1 + src/global-vars/starter-colors.ts | 4 + src/inputs-controller.ts | 12 +- src/loading-scene.ts | 2 +- src/modifier/modifier-type.ts | 2 +- src/modifier/modifier.ts | 2 +- src/phases/attempt-capture-phase.ts | 31 ++-- src/phases/attempt-run-phase.ts | 2 +- src/phases/berry-phase.ts | 2 +- src/phases/check-switch-phase.ts | 8 +- src/phases/command-phase.ts | 70 ++++---- src/phases/damage-anim-phase.ts | 2 +- src/phases/egg-hatch-phase.ts | 6 +- src/phases/egg-lapse-phase.ts | 4 +- src/phases/egg-summary-phase.ts | 6 +- src/phases/encounter-phase.ts | 6 +- src/phases/end-evolution-phase.ts | 4 +- src/phases/evolution-phase.ts | 8 +- src/phases/exp-phase.ts | 2 +- src/phases/faint-phase.ts | 2 +- src/phases/form-change-phase.ts | 8 +- src/phases/game-over-modifier-reward-phase.ts | 4 +- src/phases/game-over-phase.ts | 6 +- src/phases/learn-move-phase.ts | 14 +- src/phases/level-cap-phase.ts | 4 +- src/phases/level-up-phase.ts | 4 +- src/phases/login-phase.ts | 17 +- src/phases/money-reward-phase.ts | 2 +- src/phases/move-charge-phase.ts | 2 +- src/phases/move-effect-phase.ts | 4 +- src/phases/move-phase.ts | 2 +- src/phases/mystery-encounter-phases.ts | 12 +- src/phases/obtain-status-effect-phase.ts | 2 +- src/phases/party-heal-phase.ts | 2 +- src/phases/pokemon-anim-phase.ts | 2 +- src/phases/pokemon-heal-phase.ts | 2 +- src/phases/post-turn-status-effect-phase.ts | 2 +- src/phases/reload-session-phase.ts | 6 +- src/phases/revival-blessing-phase.ts | 8 +- src/phases/ribbon-modifier-reward-phase.ts | 4 +- src/phases/scan-ivs-phase.ts | 8 +- src/phases/select-biome-phase.ts | 8 +- src/phases/select-challenge-phase.ts | 4 +- src/phases/select-gender-phase.ts | 6 +- src/phases/select-modifier-phase.ts | 38 ++-- src/phases/select-starter-phase.ts | 8 +- src/phases/select-target-phase.ts | 6 +- src/phases/show-party-exp-bar-phase.ts | 2 +- src/phases/stat-stage-change-phase.ts | 2 +- src/phases/switch-phase.ts | 6 +- src/phases/title-phase.ts | 20 +-- src/phases/trainer-victory-phase.ts | 2 +- src/phases/turn-start-phase.ts | 2 +- src/phases/unavailable-phase.ts | 4 +- src/phases/unlock-phase.ts | 4 +- src/phases/weather-effect-phase.ts | 2 +- src/pipelines/field-sprite.ts | 2 +- src/pipelines/sprite.ts | 2 +- src/plugins/api/api-base.ts | 2 +- src/plugins/api/pokerogue-account-api.ts | 2 +- src/plugins/i18n.ts | 2 +- src/sprites/variant.ts | 2 +- src/starter-colors.ts | 4 + src/starting-wave.ts | 3 + src/system/achv.ts | 2 +- src/system/game-data.ts | 10 +- src/system/game-speed.ts | 2 +- src/system/settings/settings-gamepad.ts | 8 +- src/system/settings/settings-keyboard.ts | 4 +- src/system/settings/settings.ts | 6 +- .../version_migration/versions/v1_0_4.ts | 2 +- .../version_migration/versions/v1_7_0.ts | 2 +- src/timed-event-manager.ts | 4 +- src/tutorial.ts | 6 +- src/ui-inputs.ts | 24 +-- src/ui/abstact-option-select-ui-handler.ts | 12 +- src/ui/achvs-ui-handler.ts | 4 +- src/ui/admin-ui-handler.ts | 20 +-- src/ui/arena-flyout.ts | 2 +- src/ui/autocomplete-ui-handler.ts | 4 +- src/ui/awaitable-ui-handler.ts | 4 +- src/ui/ball-ui-handler.ts | 10 +- src/ui/base-stats-overlay.ts | 2 +- src/ui/battle-flyout.ts | 2 +- src/ui/battle-info.ts | 6 +- src/ui/battle-message-ui-handler.ts | 4 +- src/ui/bgm-bar.ts | 2 +- src/ui/candy-bar.ts | 4 +- src/ui/challenges-select-ui-handler.ts | 6 +- src/ui/char-sprite.ts | 2 +- src/ui/command-ui-handler.ts | 12 +- src/ui/confirm-ui-handler.ts | 4 +- src/ui/daily-run-scoreboard.ts | 2 +- src/ui/egg-gacha-ui-handler.ts | 6 +- src/ui/egg-hatch-scene-handler.ts | 4 +- src/ui/egg-list-ui-handler.ts | 4 +- src/ui/egg-summary-ui-handler.ts | 4 +- src/ui/evolution-scene-handler.ts | 4 +- src/ui/fight-ui-handler.ts | 19 +- src/ui/filter-text.ts | 4 +- src/ui/form-modal-ui-handler.ts | 6 +- src/ui/game-stats-ui-handler.ts | 6 +- src/ui/loading-modal-ui-handler.ts | 4 +- src/ui/login-form-ui-handler.ts | 16 +- src/ui/menu-ui-handler.ts | 46 ++--- src/ui/message-ui-handler.ts | 6 +- src/ui/modal-ui-handler.ts | 4 +- src/ui/modifier-select-ui-handler.ts | 6 +- src/ui/move-info-overlay.ts | 2 +- src/ui/mystery-encounter-ui-handler.ts | 10 +- src/ui/party-ui-handler.ts | 32 ++-- src/ui/pokedex-info-overlay.ts | 2 +- src/ui/pokedex-mon-container.ts | 2 +- src/ui/pokedex-page-ui-handler.ts | 84 ++++----- src/ui/pokedex-scan-ui-handler.ts | 12 +- src/ui/pokedex-ui-handler.ts | 18 +- src/ui/pokemon-hatch-info-container.ts | 4 +- src/ui/pokemon-icon-anim-handler.ts | 2 +- src/ui/pokemon-info-container.ts | 2 +- src/ui/registration-form-ui-handler.ts | 6 +- src/ui/run-history-ui-handler.ts | 8 +- src/ui/run-info-ui-handler.ts | 6 +- src/ui/save-slot-select-ui-handler.ts | 12 +- src/ui/saving-icon-handler.ts | 2 +- src/ui/session-reload-modal-ui-handler.ts | 4 +- .../settings/abstract-binding-ui-handler.ts | 4 +- .../abstract-control-settings-ui-handler.ts | 4 +- .../settings/abstract-settings-ui-handler.ts | 6 +- src/ui/settings/gamepad-binding-ui-handler.ts | 4 +- .../settings/keyboard-binding-ui-handler.ts | 4 +- src/ui/settings/navigationMenu.ts | 18 +- src/ui/settings/option-select-ui-handler.ts | 4 +- src/ui/settings/settings-audio-ui-handler.ts | 4 +- .../settings/settings-display-ui-handler.ts | 4 +- .../settings/settings-gamepad-ui-handler.ts | 6 +- .../settings/settings-keyboard-ui-handler.ts | 10 +- src/ui/settings/settings-ui-handler.ts | 4 +- src/ui/starter-select-ui-handler.ts | 78 ++++----- src/ui/summary-ui-handler.ts | 14 +- src/ui/target-select-ui-handler.ts | 6 +- src/ui/test-dialogue-ui-handler.ts | 12 +- src/ui/time-of-day-widget.ts | 2 +- src/ui/title-ui-handler.ts | 6 +- src/ui/ui-handler.ts | 4 +- src/ui/ui.ts | 163 +++++++----------- src/ui/unavailable-modal-ui-handler.ts | 7 +- src/{utils.ts => utils/common.ts} | 37 ---- src/utils/cookies.ts | 36 ++++ src/utils/utility-vars.ts | 1 + test/abilities/ability_timing.test.ts | 6 +- test/abilities/analytic.test.ts | 2 +- test/abilities/disguise.test.ts | 2 +- test/abilities/healer.test.ts | 2 +- test/abilities/heatproof.test.ts | 2 +- test/abilities/intimidate.test.ts | 10 +- test/abilities/parental_bond.test.ts | 2 +- test/abilities/shield_dust.test.ts | 2 +- test/abilities/stakeout.test.ts | 2 +- test/abilities/wimp_out.test.ts | 2 +- test/account.test.ts | 10 +- test/achievements/achievement.test.ts | 2 +- test/battle/battle.test.ts | 38 ++-- test/battle/special_battle.test.ts | 20 +-- test/boss-pokemon.test.ts | 2 +- test/daily_mode.test.ts | 6 +- test/eggs/egg.test.ts | 2 +- test/enemy_command.test.ts | 2 +- test/escape-calculations.test.ts | 2 +- test/evolution.test.ts | 2 +- test/game-mode.test.ts | 2 +- test/items/dire_hit.test.ts | 4 +- .../double_battle_chance_booster.test.ts | 4 +- test/items/eviolite.test.ts | 2 +- test/items/exp_booster.test.ts | 2 +- test/items/leek.test.ts | 2 +- test/items/light_ball.test.ts | 2 +- test/items/lock_capsule.test.ts | 4 +- test/items/metal_powder.test.ts | 2 +- test/items/quick_powder.test.ts | 2 +- test/items/temp_stat_stage_booster.test.ts | 4 +- test/items/thick_club.test.ts | 2 +- test/moves/aurora_veil.test.ts | 2 +- test/moves/belly_drum.test.ts | 2 +- test/moves/fillet_away.test.ts | 2 +- test/moves/light_screen.test.ts | 2 +- test/moves/multi_target.test.ts | 2 +- test/moves/pledge_moves.test.ts | 2 +- test/moves/reflect.test.ts | 2 +- test/moves/revival_blessing.test.ts | 2 +- test/moves/substitute.test.ts | 4 +- .../mystery-encounter/encounter-test-utils.ts | 30 ++-- .../a-trainers-test-encounter.test.ts | 6 +- .../berries-abound-encounter.test.ts | 6 +- .../bug-type-superfan-encounter.test.ts | 14 +- .../clowning-around-encounter.test.ts | 8 +- .../dancing-lessons-encounter.test.ts | 4 +- .../department-store-sale-encounter.test.ts | 10 +- .../encounters/field-trip-encounter.test.ts | 14 +- .../fight-or-flight-encounter.test.ts | 6 +- .../fun-and-games-encounter.test.ts | 20 +-- .../global-trade-system-encounter.test.ts | 6 +- .../mysterious-challengers-encounter.test.ts | 8 +- .../teleporting-hijinks-encounter.test.ts | 4 +- .../the-strong-stuff-encounter.test.ts | 4 +- .../the-winstrate-challenge-encounter.test.ts | 8 +- .../trash-to-treasure-encounter.test.ts | 6 +- .../encounters/weird-dream-encounter.test.ts | 6 +- test/phases/learn-move-phase.test.ts | 12 +- test/phases/mystery-encounter-phase.test.ts | 10 +- test/phases/phases.test.ts | 8 +- test/phases/select-modifier-phase.test.ts | 24 +-- .../plugins/api/pokerogue-account-api.test.ts | 17 +- test/reload.test.ts | 4 +- test/settingMenu/rebinding_setting.test.ts | 2 +- test/system/game_data.test.ts | 6 +- test/testUtils/gameManager.ts | 46 ++--- test/testUtils/gameWrapper.ts | 9 +- test/testUtils/helpers/challengeModeHelper.ts | 12 +- test/testUtils/helpers/classicModeHelper.ts | 12 +- test/testUtils/helpers/dailyModeHelper.ts | 14 +- test/testUtils/helpers/moveHelper.ts | 20 +-- test/testUtils/helpers/overridesHelper.ts | 2 +- test/testUtils/helpers/reloadHelper.ts | 10 +- test/testUtils/phaseInterceptor.ts | 13 +- test/testUtils/testFileInitialization.ts | 4 +- test/ui/starter-select.test.ts | 110 ++++++------ test/ui/transfer-item.test.ts | 10 +- test/ui/type-hints.test.ts | 10 +- {src => test}/utils.test.ts | 2 +- 296 files changed, 1186 insertions(+), 1147 deletions(-) create mode 100644 src/enums/ui-mode.ts create mode 100644 src/global-vars/bypass-login.ts create mode 100644 src/global-vars/starter-colors.ts create mode 100644 src/starter-colors.ts create mode 100644 src/starting-wave.ts rename src/{utils.ts => utils/common.ts} (92%) create mode 100644 src/utils/cookies.ts create mode 100644 src/utils/utility-vars.ts rename {src => test}/utils.test.ts (95%) diff --git a/src/account.ts b/src/account.ts index 7baa7d10a1a..3416fa6ed5e 100644 --- a/src/account.ts +++ b/src/account.ts @@ -1,7 +1,7 @@ import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type { UserInfo } from "#app/@types/UserInfo"; -import { bypassLogin } from "#app/battle-scene"; -import { randomString } from "#app/utils"; +import { bypassLogin } from "./global-vars/bypass-login"; +import { randomString } from "#app/utils/common"; export let loggedInUser: UserInfo | null = null; // This is a random string that is used to identify the client session - unique per session (tab or window) so that the game will only save on the one that the server is expecting diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 0fe4c7f7e4f..ecaffc5ed07 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -18,7 +18,7 @@ import { isNullOrUndefined, BooleanHolder, type Constructor, -} from "#app/utils"; +} from "#app/utils/common"; import type { Modifier, ModifierPredicate, TurnHeldItemTransferModifier } from "./modifier/modifier"; import { ConsumableModifier, @@ -185,8 +185,8 @@ import { HideAbilityPhase } from "#app/phases/hide-ability-phase"; import { expSpriteKeys } from "./sprites/sprite-keys"; import { hasExpSprite } from "./sprites/sprite-utils"; import { timedEventManager } from "./global-event-manager"; - -export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1"; +import { starterColors } from "./global-vars/starter-colors"; +import { startingWave } from "./starting-wave"; const DEBUG_RNG = false; @@ -194,13 +194,6 @@ const OPP_IVS_OVERRIDE_VALIDATED: number[] = ( Array.isArray(Overrides.OPP_IVS_OVERRIDE) ? Overrides.OPP_IVS_OVERRIDE : new Array(6).fill(Overrides.OPP_IVS_OVERRIDE) ).map(iv => (Number.isNaN(iv) || iv === null || iv > 31 ? -1 : iv)); -export const startingWave = Overrides.STARTING_WAVE_OVERRIDE || 1; - -export let starterColors: StarterColors; -interface StarterColors { - [key: string]: [string, string]; -} - export interface PokeballCounts { [pb: string]: number; } @@ -810,11 +803,11 @@ export default class BattleScene extends SceneBase { } async initStarterColors(): Promise { - if (starterColors) { + if (Object.keys(starterColors).length > 0) { + // already initialized return; } const sc = await this.cachedFetch("./starter-colors.json").then(res => res.json()); - starterColors = {}; for (const key of Object.keys(sc)) { starterColors[key] = sc[key]; } diff --git a/src/battle.ts b/src/battle.ts index 3e2f293065a..6630d53bd67 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -8,7 +8,7 @@ import { shiftCharCodes, randSeedItem, randInt, -} from "#app/utils"; +} from "#app/utils/common"; import Trainer, { TrainerVariant } from "./field/trainer"; import type { GameMode } from "./game-mode"; import { MoneyMultiplierModifier, PokemonHeldItemModifier } from "./modifier/modifier"; diff --git a/src/data/abilities/ab-attrs/ab-attr.ts b/src/data/abilities/ab-attrs/ab-attr.ts index c8ead691b25..a653c3f372d 100644 --- a/src/data/abilities/ab-attrs/ab-attr.ts +++ b/src/data/abilities/ab-attrs/ab-attr.ts @@ -1,6 +1,6 @@ import type { AbAttrCondition } from "#app/@types/ability-types"; import type Pokemon from "#app/field/pokemon"; -import type * as Utils from "#app/utils"; +import type { BooleanHolder } from "#app/utils/common"; export abstract class AbAttr { public showAbility: boolean; @@ -22,7 +22,7 @@ export abstract class AbAttr { _pokemon: Pokemon, _passive: boolean, _simulated: boolean, - _cancelled: Utils.BooleanHolder | null, + _cancelled: BooleanHolder | null, _args: any[], ): void {} diff --git a/src/data/abilities/ability-class.ts b/src/data/abilities/ability-class.ts index b4cda2482d4..387c5fb328b 100644 --- a/src/data/abilities/ability-class.ts +++ b/src/data/abilities/ability-class.ts @@ -3,7 +3,7 @@ import type { AbAttrCondition } from "#app/@types/ability-types"; import type { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; import i18next from "i18next"; import type { Localizable } from "#app/interfaces/locales"; -import type { Constructor } from "#app/utils"; +import type { Constructor } from "#app/utils/common"; export class Ability implements Localizable { public id: Abilities; diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index a3bd9b728f5..55a1a4eb902 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -1,5 +1,5 @@ import { HitResult, MoveResult, PlayerPokemon } from "#app/field/pokemon"; -import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; +import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils/common"; import { getPokemonNameWithAffix } from "#app/messages"; import { BattlerTagLapseType, GroundedTag } from "#app/data/battler-tags"; import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect"; diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 1fe1eca4bba..2ef98723cea 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import type { Arena } from "#app/field/arena"; import { PokemonType } from "#enums/pokemon-type"; -import { BooleanHolder, NumberHolder, toDmgValue } from "#app/utils"; +import { BooleanHolder, NumberHolder, toDmgValue } from "#app/utils/common"; import { allMoves } from "#app/data/moves/move"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts index c722291c66d..968164c7902 100644 --- a/src/data/balance/biomes.ts +++ b/src/data/balance/biomes.ts @@ -1,5 +1,5 @@ import { PokemonType } from "#enums/pokemon-type"; -import { randSeedInt, getEnumValues } from "#app/utils"; +import { randSeedInt, getEnumValues } from "#app/utils/common"; import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import i18next from "i18next"; diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 74f6a2c1afb..b0e8d5160fa 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -1,5 +1,5 @@ import { allMoves } from "#app/data/moves/move"; -import { getEnumKeys, getEnumValues } from "#app/utils"; +import { getEnumKeys, getEnumValues } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index 17f71f3c3c9..64409c3c989 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -3,7 +3,7 @@ import { Gender } from "#app/data/gender"; import { PokeballType } from "#enums/pokeball"; import type Pokemon from "#app/field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { WeatherType } from "#enums/weather-type"; import { Nature } from "#enums/nature"; import { Biome } from "#enums/biome"; @@ -14,6 +14,7 @@ import { DamageMoneyRewardModifier, ExtraModifierModifier, MoneyMultiplierModifi import { SpeciesFormKey } from "#enums/species-form-key"; import { speciesStarterCosts } from "./starters"; import i18next from "i18next"; +import { initI18n } from "#app/plugins/i18n"; export enum SpeciesWildEvolutionDelay { @@ -95,6 +96,9 @@ export class SpeciesFormEvolution { public description = ""; constructor(speciesId: Species, preFormKey: string | null, evoFormKey: string | null, level: number, item: EvolutionItem | null, condition: SpeciesEvolutionCondition | null, wildDelay?: SpeciesWildEvolutionDelay) { + if (!i18next.isInitialized) { + initI18n(); + } this.speciesId = speciesId; this.preFormKey = preFormKey; this.evoFormKey = evoFormKey; diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 511c80bee72..0999e9db6ff 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -2,11 +2,11 @@ import { globalScene } from "#app/global-scene"; import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, SelfStatusMove, allMoves } from "./moves/move"; import { MoveFlags } from "#enums/MoveFlags"; import type Pokemon from "../field/pokemon"; -import { type nil, getFrameMs, getEnumKeys, getEnumValues, animationFileName } from "../utils"; +import { type nil, getFrameMs, getEnumKeys, getEnumValues, animationFileName } from "../utils/common"; import type { BattlerIndex } from "../battle"; import { Moves } from "#enums/moves"; import { SubstituteTag } from "./battler-tags"; -import { isNullOrUndefined } from "../utils"; +import { isNullOrUndefined } from "../utils/common"; import Phaser from "phaser"; import { EncounterAnim } from "#enums/encounter-anims"; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 9b72f3083fd..3b2421897c9 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -33,7 +33,7 @@ import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import type { StatStageChangeCallback } from "#app/phases/stat-stage-change-phase"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import i18next from "#app/plugins/i18n"; -import { BooleanHolder, getFrameMs, NumberHolder, toDmgValue } from "#app/utils"; +import { BooleanHolder, getFrameMs, NumberHolder, toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; @@ -42,7 +42,7 @@ import { Species } from "#enums/species"; import { EFFECTIVE_STATS, getStatKey, Stat, type BattleStat, type EffectiveStat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; export enum BattlerTagLapseType { FAINT, diff --git a/src/data/berry.ts b/src/data/berry.ts index e118b45711c..22950c0beca 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -2,7 +2,7 @@ import { getPokemonNameWithAffix } from "../messages"; import type Pokemon from "../field/pokemon"; import { HitResult } from "../field/pokemon"; import { getStatusEffectHealText } from "./status-effect"; -import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils"; +import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils/common"; import { DoubleBerryEffectAbAttr, PostItemLostAbAttr, diff --git a/src/data/challenge.ts b/src/data/challenge.ts index cc5783ad1fb..f786152ca3d 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -1,4 +1,4 @@ -import { BooleanHolder, type NumberHolder, randSeedItem, deepCopy } from "#app/utils"; +import { BooleanHolder, type NumberHolder, randSeedItem, deepCopy } from "#app/utils/common"; import i18next from "i18next"; import type { DexAttrProps, GameData } from "#app/system/game-data"; import { defaultStarterSpecies } from "#app/system/game-data"; diff --git a/src/data/custom-pokemon-data.ts b/src/data/custom-pokemon-data.ts index d95d9f77b83..704835e9dbc 100644 --- a/src/data/custom-pokemon-data.ts +++ b/src/data/custom-pokemon-data.ts @@ -1,6 +1,6 @@ import type { Abilities } from "#enums/abilities"; import type { PokemonType } from "#enums/pokemon-type"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import type { Nature } from "#enums/nature"; /** diff --git a/src/data/daily-run.ts b/src/data/daily-run.ts index 3438510d613..8a1632ce160 100644 --- a/src/data/daily-run.ts +++ b/src/data/daily-run.ts @@ -3,7 +3,7 @@ import type { Species } from "#enums/species"; import { globalScene } from "#app/global-scene"; import { PlayerPokemon } from "#app/field/pokemon"; import type { Starter } from "#app/ui/starter-select-ui-handler"; -import { randSeedGauss, randSeedInt, randSeedItem, getEnumValues } from "#app/utils"; +import { randSeedGauss, randSeedInt, randSeedItem, getEnumValues } from "#app/utils/common"; import type { PokemonSpeciesForm } from "#app/data/pokemon-species"; import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; diff --git a/src/data/egg.ts b/src/data/egg.ts index 13ab0bec479..55a253e843f 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -4,7 +4,7 @@ import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; import { VariantTier } from "#enums/variant-tier"; -import { randInt, randomString, randSeedInt, getIvsFromId } from "#app/utils"; +import { randInt, randomString, randSeedInt, getIvsFromId } from "#app/utils/common"; import Overrides from "#app/overrides"; import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import type { PlayerPokemon } from "#app/field/pokemon"; diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 7a2834c0322..513ab3f6a74 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -29,7 +29,7 @@ import { } from "../status-effect"; import { getTypeDamageMultiplier } from "../type"; import { PokemonType } from "#enums/pokemon-type"; -import { BooleanHolder, NumberHolder, isNullOrUndefined, toDmgValue, randSeedItem, randSeedInt, getEnumValues, toReadableString, type Constructor } from "#app/utils"; +import { BooleanHolder, NumberHolder, isNullOrUndefined, toDmgValue, randSeedItem, randSeedInt, getEnumValues, toReadableString, type Constructor } from "#app/utils/common"; import { WeatherType } from "#enums/weather-type"; import type { ArenaTrapTag } from "../arena-tag"; import { ArenaTagSide, WeakenMoveTypeTag } from "../arena-tag"; diff --git a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts index a49157f8e88..d8af7b6aac8 100644 --- a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts +++ b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts @@ -14,7 +14,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { TrainerType } from "#enums/trainer-type"; import { Species } from "#enums/species"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import i18next from "i18next"; import type { IEggOptions } from "#app/data/egg"; import { EggSourceType } from "#enums/egg-source-types"; diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index 85f40a41e51..0a270aebf37 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -24,7 +24,7 @@ import { BerryModifier, PokemonInstantReviveModifier } from "#app/modifier/modif import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Moves } from "#enums/moves"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { randInt } from "#app/utils"; +import { randInt } from "#app/utils/common"; import { BattlerIndex } from "#app/battle"; import { applyModifierTypeToPlayerPokemon, diff --git a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts index 94e27e32773..bf49dfdea91 100644 --- a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts +++ b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts @@ -13,7 +13,7 @@ import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import type { BerryModifierType, ModifierTypeOption } from "#app/modifier/modifier-type"; import { ModifierPoolType, modifierTypes, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index 1e4c9a3b957..8dfd1a270bd 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -16,7 +16,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PartyMemberStrength } from "#enums/party-member-strength"; import { globalScene } from "#app/global-scene"; -import { isNullOrUndefined, randSeedInt, randSeedShuffle } from "#app/utils"; +import { isNullOrUndefined, randSeedInt, randSeedShuffle } from "#app/utils/common"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 5edc2e6bbc5..07688db4583 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -31,9 +31,9 @@ import { import { PokemonType } from "#enums/pokemon-type"; import { MysteryEncounterOptionBuilder } from "#app/data/mystery-encounters/mystery-encounter-option"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { randSeedInt, randSeedShuffle } from "#app/utils"; +import { randSeedInt, randSeedShuffle } from "#app/utils/common"; import { showEncounterDialogue, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import type { OptionSelectConfig } from "#app/ui/abstact-option-select-ui-handler"; import type { PlayerPokemon } from "#app/field/pokemon"; @@ -437,7 +437,7 @@ async function handleSwapAbility() { await showEncounterDialogue(`${namespace}:option.1.apply_ability_dialogue`, `${namespace}:speaker`); await showEncounterText(`${namespace}:option.1.apply_ability_message`); - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { displayYesNoOptions(resolve); }); }); @@ -467,7 +467,7 @@ function displayYesNoOptions(resolve) { maxOptions: 7, yOffset: 0, }; - globalScene.ui.setModeWithoutClear(Mode.OPTION_SELECT, config, null, true); + globalScene.ui.setModeWithoutClear(UiMode.OPTION_SELECT, config, null, true); } function onYesAbilitySwap(resolve) { @@ -477,11 +477,11 @@ function onYesAbilitySwap(resolve) { applyAbilityOverrideToPokemon(pokemon, encounter.misc.ability); encounter.setDialogueToken("chosenPokemon", pokemon.getNameToRender()); - globalScene.ui.setMode(Mode.MESSAGE).then(() => resolve(true)); + globalScene.ui.setMode(UiMode.MESSAGE).then(() => resolve(true)); }; const onPokemonNotSelected = () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { displayYesNoOptions(resolve); }); }; diff --git a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts index 6c4c8f26deb..85ebf175f43 100644 --- a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts +++ b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts @@ -1,5 +1,5 @@ import type { PokemonType } from "#enums/pokemon-type"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; +import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { Species } from "#enums/species"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts index 364484cb511..e57955c324a 100644 --- a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts +++ b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts @@ -32,7 +32,7 @@ import { modifierTypes } from "#app/modifier/modifier-type"; import { ModifierRewardPhase } from "#app/phases/modifier-reward-phase"; import i18next from "#app/plugins/i18n"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; -import { randSeedItem } from "#app/utils"; +import { randSeedItem } from "#app/utils/common"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts index 9b8e2e24d12..6a26cf19d7f 100644 --- a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts +++ b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts @@ -4,7 +4,7 @@ import { } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import type { ModifierTypeFunc } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { Species } from "#enums/species"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index f0b7a05a21c..f0fb6398334 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -30,7 +30,7 @@ import { PokemonMove } from "#app/field/pokemon"; import { Moves } from "#enums/moves"; import { EncounterBattleAnim } from "#app/data/battle-anims"; import { WeatherType } from "#enums/weather-type"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; +import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import { StatusEffect } from "#enums/status-effect"; import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { diff --git a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts index 595d13cf727..d9b4140c6ee 100644 --- a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts +++ b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts @@ -31,7 +31,7 @@ import { import PokemonData from "#app/system/pokemon-data"; import { BattlerTagType } from "#enums/battler-tag-type"; import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index f80620647b0..63db5c7c5d6 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -23,7 +23,14 @@ import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import { getTypeRgb } from "#app/data/type"; import { MysteryEncounterOptionBuilder } from "#app/data/mystery-encounters/mystery-encounter-option"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { NumberHolder, isNullOrUndefined, randInt, randSeedInt, randSeedShuffle, randSeedItem } from "#app/utils"; +import { + NumberHolder, + isNullOrUndefined, + randInt, + randSeedInt, + randSeedShuffle, + randSeedItem, +} from "#app/utils/common"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; diff --git a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts index 5f88ca083c0..b10f2f3dba2 100644 --- a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts @@ -12,7 +12,7 @@ import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PartyMemberStrength } from "#enums/party-member-strength"; import { globalScene } from "#app/global-scene"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts index c295e36749a..8877bf36ce8 100644 --- a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts @@ -18,7 +18,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { GameOverPhase } from "#app/phases/game-over-phase"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts index 8c45fde3079..602a8d397db 100644 --- a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts +++ b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts @@ -15,7 +15,7 @@ import { HiddenAbilityRateBoosterModifier, IvScannerModifier } from "#app/modifi import type { EnemyPokemon } from "#app/field/pokemon"; import { PokeballType } from "#enums/pokeball"; import { PlayerGender } from "#enums/player-gender"; -import { NumberHolder, randSeedInt } from "#app/utils"; +import { NumberHolder, randSeedInt } from "#app/utils/common"; import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MoneyRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; diff --git a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts index b9476d49fec..79f4b53a73e 100644 --- a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts +++ b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts @@ -8,7 +8,7 @@ import { import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { Species } from "#enums/species"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts index 806a89a7131..ef3532b080e 100644 --- a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts +++ b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts @@ -7,7 +7,7 @@ import { transitionMysteryEncounterIntroVisuals, updatePlayerMoney, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; diff --git a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts index c189e341089..ab2f19cfb77 100644 --- a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts @@ -7,7 +7,7 @@ import { import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; -import { randSeedShuffle } from "#app/utils"; +import { randSeedShuffle } from "#app/utils/common"; import type MysteryEncounter from "../mystery-encounter"; import { MysteryEncounterBuilder } from "../mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index fb55c55a1a3..4e8e1c2524e 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -3,7 +3,7 @@ import { transitionMysteryEncounterIntroVisuals, updatePlayerMoney, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; +import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; diff --git a/src/data/mystery-encounters/encounters/training-session-encounter.ts b/src/data/mystery-encounters/encounters/training-session-encounter.ts index e8711be172d..11d00f1dd8c 100644 --- a/src/data/mystery-encounters/encounters/training-session-encounter.ts +++ b/src/data/mystery-encounters/encounters/training-session-encounter.ts @@ -15,7 +15,7 @@ import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; import { AbilityAttr } from "#app/system/game-data"; import PokemonData from "#app/system/pokemon-data"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; -import { isNullOrUndefined, randSeedShuffle } from "#app/utils"; +import { isNullOrUndefined, randSeedShuffle } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index e60fe0ddc18..1ff96f21edc 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -27,7 +27,7 @@ import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; import { PokemonMove } from "#app/field/pokemon"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; /** the i18n namespace for this encounter */ const namespace = "mysteryEncounters/trashToTreasure"; diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index ed1866c7a1b..66c7f7afc56 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -27,7 +27,7 @@ import { getSpriteKeysFromPokemon, } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import PokemonData from "#app/system/pokemon-data"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; +import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import type { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; import { SelfStatusMove } from "#app/data/moves/move"; diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index 22ec52e976c..cd9ffefb516 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -17,7 +17,7 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; -import { NumberHolder, isNullOrUndefined, randSeedInt, randSeedShuffle } from "#app/utils"; +import { NumberHolder, isNullOrUndefined, randSeedInt, randSeedShuffle } from "#app/utils/common"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; diff --git a/src/data/mystery-encounters/mystery-encounter-option.ts b/src/data/mystery-encounters/mystery-encounter-option.ts index f360658c2dc..57dd50fa972 100644 --- a/src/data/mystery-encounters/mystery-encounter-option.ts +++ b/src/data/mystery-encounters/mystery-encounter-option.ts @@ -12,7 +12,7 @@ import { } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import type { CanLearnMoveRequirementOptions } from "./requirements/can-learn-move-requirement"; import { CanLearnMoveRequirement } from "./requirements/can-learn-move-requirement"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; +import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; // biome-ignore lint/suspicious/noConfusingVoidType: void unions in callbacks are OK diff --git a/src/data/mystery-encounters/mystery-encounter-requirements.ts b/src/data/mystery-encounters/mystery-encounter-requirements.ts index 948e3e96ef0..49fd632932c 100644 --- a/src/data/mystery-encounters/mystery-encounter-requirements.ts +++ b/src/data/mystery-encounters/mystery-encounter-requirements.ts @@ -9,7 +9,7 @@ import { WeatherType } from "#enums/weather-type"; import type { PlayerPokemon } from "#app/field/pokemon"; import { AttackTypeBoosterModifier } from "#app/modifier/modifier"; import type { AttackTypeBoosterModifierType } from "#app/modifier/modifier-type"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import type { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; diff --git a/src/data/mystery-encounters/mystery-encounter-save-data.ts b/src/data/mystery-encounters/mystery-encounter-save-data.ts index 7c8110628f0..dd633390e46 100644 --- a/src/data/mystery-encounters/mystery-encounter-save-data.ts +++ b/src/data/mystery-encounters/mystery-encounter-save-data.ts @@ -1,6 +1,6 @@ import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT } from "#app/data/mystery-encounters/mystery-encounters"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import type { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; export class SeenEncounterData { diff --git a/src/data/mystery-encounters/mystery-encounter.ts b/src/data/mystery-encounters/mystery-encounter.ts index ff098d4d7dd..e305252ed0f 100644 --- a/src/data/mystery-encounters/mystery-encounter.ts +++ b/src/data/mystery-encounters/mystery-encounter.ts @@ -1,11 +1,11 @@ import type { EnemyPartyConfig } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { capitalizeFirstLetter, isNullOrUndefined } from "#app/utils"; +import { capitalizeFirstLetter, isNullOrUndefined } from "#app/utils/common"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import type { MysteryEncounterSpriteConfig } from "#app/field/mystery-encounter-intro"; import MysteryEncounterIntroVisuals from "#app/field/mystery-encounter-intro"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import type { StatusEffect } from "#enums/status-effect"; import type { OptionTextDisplay } from "./mystery-encounter-dialogue"; import type MysteryEncounterDialogue from "./mystery-encounter-dialogue"; diff --git a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts index a7ffe3e26ca..37194aef78e 100644 --- a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts +++ b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts @@ -1,7 +1,7 @@ import type { Moves } from "#app/enums/moves"; import type { PlayerPokemon } from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import { EncounterPokemonRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/mystery-encounters/utils/encounter-dialogue-utils.ts b/src/data/mystery-encounters/utils/encounter-dialogue-utils.ts index 94790145687..296d94093d9 100644 --- a/src/data/mystery-encounters/utils/encounter-dialogue-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-dialogue-utils.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import type { TextStyle } from "#app/ui/text"; import { getTextWithColors } from "#app/ui/text"; import { UiTheme } from "#enums/ui-theme"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import i18next from "i18next"; /** diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 69b0d81520a..d77b70caa31 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -30,8 +30,8 @@ import type PokemonData from "#app/system/pokemon-data"; import type { OptionSelectConfig, OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import type { PartyOption, PokemonSelectFilter } from "#app/ui/party-ui-handler"; import { PartyUiMode } from "#app/ui/party-ui-handler"; -import { Mode } from "#app/ui/ui"; -import { isNullOrUndefined, randSeedInt, randomString, randSeedItem } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { isNullOrUndefined, randSeedInt, randomString, randSeedItem } from "#app/utils/common"; import type { BattlerTagType } from "#enums/battler-tag-type"; import { Biome } from "#enums/biome"; import type { TrainerType } from "#enums/trainer-type"; @@ -563,7 +563,7 @@ export function selectPokemonForOption( // Open party screen to choose pokemon globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.SELECT, -1, (slotIndex: number, _option: PartyOption) => { @@ -581,7 +581,7 @@ export function selectPokemonForOption( } // There is a second option to choose after selecting the Pokemon - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { const displayOptions = () => { // Always appends a cancel option to bottom of options const fullOptions = secondaryOptions @@ -623,7 +623,7 @@ export function selectPokemonForOption( if (fullOptions[0].onHover) { fullOptions[0].onHover(); } - globalScene.ui.setModeWithoutClear(Mode.OPTION_SELECT, config, null, true); + globalScene.ui.setModeWithoutClear(UiMode.OPTION_SELECT, config, null, true); }; const textPromptKey = @@ -673,20 +673,20 @@ export function selectOptionThenPokemon( const modeToSetOnExit = globalScene.ui.getMode(); const displayOptions = (config: OptionSelectConfig) => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { if (!optionSelectPromptKey) { // Do hover over the starting selection option if (fullOptions[0].onHover) { fullOptions[0].onHover(); } - globalScene.ui.setMode(Mode.OPTION_SELECT, config); + globalScene.ui.setMode(UiMode.OPTION_SELECT, config); } else { showEncounterText(optionSelectPromptKey).then(() => { // Do hover over the starting selection option if (fullOptions[0].onHover) { fullOptions[0].onHover(); } - globalScene.ui.setMode(Mode.OPTION_SELECT, config); + globalScene.ui.setMode(UiMode.OPTION_SELECT, config); }); } }); @@ -695,7 +695,7 @@ export function selectOptionThenPokemon( const selectPokemonAfterOption = (selectedOptionIndex: number) => { // Open party screen to choose a Pokemon globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.SELECT, -1, (slotIndex: number, _option: PartyOption) => { diff --git a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts index a4787e819b8..ed94a46ac18 100644 --- a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import i18next from "i18next"; -import { isNullOrUndefined, randSeedInt } from "#app/utils"; +import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import { PokemonHeldItemModifier } from "#app/modifier/modifier"; import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; @@ -14,7 +14,7 @@ import { PlayerGender } from "#enums/player-gender"; import { addPokeballCaptureStars, addPokeballOpenParticles } from "#app/field/anims"; import { getStatusEffectCatchRateMultiplier } from "#app/data/status-effect"; import { achvs } from "#app/system/achv"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { PartyOption } from "#app/ui/party-ui-handler"; import { PartyUiMode } from "#app/ui/party-ui-handler"; import { Species } from "#enums/species"; @@ -714,7 +714,7 @@ export async function catchPokemon( () => { globalScene.pokemonInfoContainer.makeRoomForConfirmUi(1, true); globalScene.ui.setMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { const newPokemon = globalScene.addPlayerPokemon( pokemon.species, @@ -729,12 +729,12 @@ export async function catchPokemon( pokemon, ); globalScene.ui.setMode( - Mode.SUMMARY, + UiMode.SUMMARY, newPokemon, 0, SummaryUiMode.DEFAULT, () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { promptRelease(); }); }, @@ -749,13 +749,13 @@ export async function catchPokemon( female: pokemon.gender === Gender.FEMALE, }; globalScene.ui.setOverlayMode( - Mode.POKEDEX_PAGE, + UiMode.POKEDEX_PAGE, pokemon.species, pokemon.formIndex, attributes, null, () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { promptRelease(); }); }, @@ -763,11 +763,11 @@ export async function catchPokemon( }, () => { globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.RELEASE, 0, (slotIndex: number, _option: PartyOption) => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { if (slotIndex < 6) { addToParty(slotIndex); } else { @@ -778,7 +778,7 @@ export async function catchPokemon( ); }, () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { removePokemon(); end(); }); diff --git a/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts b/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts index 15085bb2bf8..578c2efefdb 100644 --- a/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts +++ b/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts @@ -1,5 +1,5 @@ import type { PlayerPokemon } from "#app/field/pokemon"; -import { getFrameMs } from "#app/utils"; +import { getFrameMs } from "#app/utils/common"; import { cos, sin } from "#app/field/anims"; import { getTypeRgb } from "#app/data/type"; import { globalScene } from "#app/global-scene"; diff --git a/src/data/nature.ts b/src/data/nature.ts index 2ab4723c10d..83b3ee7538d 100644 --- a/src/data/nature.ts +++ b/src/data/nature.ts @@ -1,4 +1,4 @@ -import { toReadableString } from "#app/utils"; +import { toReadableString } from "#app/utils/common"; import { TextStyle, getBBCodeFrag } from "../ui/text"; import { Nature } from "#enums/nature"; import { UiTheme } from "#enums/ui-theme"; diff --git a/src/data/pokeball.ts b/src/data/pokeball.ts index b0744237755..7a44ebdda7c 100644 --- a/src/data/pokeball.ts +++ b/src/data/pokeball.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { CriticalCatchChanceBoosterModifier } from "#app/modifier/modifier"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { PokeballType } from "#enums/pokeball"; import i18next from "i18next"; diff --git a/src/data/pokemon-forms.ts b/src/data/pokemon-forms.ts index 63e166c7fc4..f76462d2725 100644 --- a/src/data/pokemon-forms.ts +++ b/src/data/pokemon-forms.ts @@ -3,7 +3,7 @@ import type Pokemon from "../field/pokemon"; import { StatusEffect } from "#enums/status-effect"; import { allMoves } from "./moves/move"; import { MoveCategory } from "#enums/MoveCategory"; -import type { Constructor, nil } from "#app/utils"; +import type { Constructor, nil } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 75ea07edd40..95ff28e61e0 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -8,7 +8,7 @@ import type { AnySound } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import type { GameMode } from "#app/game-mode"; import { DexAttr, type StarterMoveset } from "#app/system/game-data"; -import { isNullOrUndefined, capitalizeString, randSeedInt, randSeedGauss, randSeedItem } from "#app/utils"; +import { isNullOrUndefined, capitalizeString, randSeedInt, randSeedGauss, randSeedItem } from "#app/utils/common"; import { uncatchableSpecies } from "#app/data/balance/biomes"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate } from "#app/data/exp"; diff --git a/src/data/status-effect.ts b/src/data/status-effect.ts index fe4fa380d46..a90304c9f7d 100644 --- a/src/data/status-effect.ts +++ b/src/data/status-effect.ts @@ -1,4 +1,4 @@ -import { randIntRange } from "#app/utils"; +import { randIntRange } from "#app/utils/common"; import { StatusEffect } from "#enums/status-effect"; import type { ParseKeys } from "i18next"; import i18next from "i18next"; diff --git a/src/data/trainer-names.ts b/src/data/trainer-names.ts index 195e5041d28..8714dad0fc9 100644 --- a/src/data/trainer-names.ts +++ b/src/data/trainer-names.ts @@ -1,5 +1,5 @@ import { TrainerType } from "#enums/trainer-type"; -import { toReadableString } from "#app/utils"; +import { toReadableString } from "#app/utils/common"; class TrainerNameConfig { public urls: string[]; diff --git a/src/data/trainers/TrainerPartyTemplate.ts b/src/data/trainers/TrainerPartyTemplate.ts index adbaacc6b55..5d02ffdc6af 100644 --- a/src/data/trainers/TrainerPartyTemplate.ts +++ b/src/data/trainers/TrainerPartyTemplate.ts @@ -1,4 +1,4 @@ -import { startingWave } from "#app/battle-scene"; +import { startingWave } from "#app/starting-wave"; import { globalScene } from "#app/global-scene"; import { PartyMemberStrength } from "#enums/party-member-strength"; diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index d9922ecc097..fec1d4757e7 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { modifierTypes } from "#app/modifier/modifier-type"; import { PokemonMove } from "#app/field/pokemon"; -import { toReadableString, isNullOrUndefined, randSeedItem, randSeedInt } from "#app/utils"; +import { toReadableString, isNullOrUndefined, randSeedItem, randSeedInt } from "#app/utils/common"; import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { tmSpecies } from "#app/data/balance/tms"; diff --git a/src/data/weather.ts b/src/data/weather.ts index 31b460bbddb..81559304661 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -5,7 +5,7 @@ import type Pokemon from "../field/pokemon"; import { PokemonType } from "#enums/pokemon-type"; import type Move from "./moves/move"; import { AttackMove } from "./moves/move"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { SuppressWeatherEffectAbAttr } from "./abilities/ability"; import { TerrainType, getTerrainName } from "./terrain"; import i18next from "i18next"; diff --git a/src/enums/ui-mode.ts b/src/enums/ui-mode.ts new file mode 100644 index 00000000000..dcf6bd2a238 --- /dev/null +++ b/src/enums/ui-mode.ts @@ -0,0 +1,47 @@ +export enum UiMode { + MESSAGE, + TITLE, + COMMAND, + FIGHT, + BALL, + TARGET_SELECT, + MODIFIER_SELECT, + SAVE_SLOT, + PARTY, + SUMMARY, + STARTER_SELECT, + EVOLUTION_SCENE, + EGG_HATCH_SCENE, + EGG_HATCH_SUMMARY, + CONFIRM, + OPTION_SELECT, + MENU, + MENU_OPTION_SELECT, + SETTINGS, + SETTINGS_DISPLAY, + SETTINGS_AUDIO, + SETTINGS_GAMEPAD, + GAMEPAD_BINDING, + SETTINGS_KEYBOARD, + KEYBOARD_BINDING, + ACHIEVEMENTS, + GAME_STATS, + EGG_LIST, + EGG_GACHA, + POKEDEX, + POKEDEX_SCAN, + POKEDEX_PAGE, + LOGIN_FORM, + REGISTRATION_FORM, + LOADING, + SESSION_RELOAD, + UNAVAILABLE, + CHALLENGE_SELECT, + RENAME_POKEMON, + RUN_HISTORY, + RUN_INFO, + TEST_DIALOGUE, + AUTO_COMPLETE, + ADMIN, + MYSTERY_ENCOUNTER +} diff --git a/src/field/anims.ts b/src/field/anims.ts index eb895c2d8f9..2fd23e4262b 100644 --- a/src/field/anims.ts +++ b/src/field/anims.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { PokeballType } from "#enums/pokeball"; import type { Variant } from "#app/sprites/variant"; -import { getFrameMs, randGauss } from "#app/utils"; +import { getFrameMs, randGauss } from "#app/utils/common"; export function addPokeballOpenParticles(x: number, y: number, pokeballType: PokeballType): void { switch (pokeballType) { diff --git a/src/field/arena.ts b/src/field/arena.ts index 1bc465c7dbb..f083180490b 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import type { BiomeTierTrainerPools, PokemonPools } from "#app/data/balance/biomes"; import { biomePokemonPools, BiomePoolTier, biomeTrainerPools } from "#app/data/balance/biomes"; -import { randSeedInt, NumberHolder, isNullOrUndefined, type Constructor } from "#app/utils"; +import { randSeedInt, NumberHolder, isNullOrUndefined, type Constructor } from "#app/utils/common"; import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index a527b148fff..bfb85018dd6 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -2,7 +2,7 @@ import { TextStyle, addTextObject } from "../ui/text"; import type { DamageResult } from "./pokemon"; import type Pokemon from "./pokemon"; import { HitResult } from "./pokemon"; -import { formatStat, fixedInt } from "#app/utils"; +import { formatStat, fixedInt } from "#app/utils/common"; import type { BattlerIndex } from "../battle"; import { globalScene } from "#app/global-scene"; diff --git a/src/field/mystery-encounter-intro.ts b/src/field/mystery-encounter-intro.ts index e1fb0c37074..b6212b6b031 100644 --- a/src/field/mystery-encounter-intro.ts +++ b/src/field/mystery-encounter-intro.ts @@ -2,7 +2,7 @@ import type { GameObjects } from "phaser"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import type { Species } from "#enums/species"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import type { Variant } from "#app/sprites/variant"; import { doShinySparkleAnim } from "#app/field/anims"; diff --git a/src/field/pokemon-sprite-sparkle-handler.ts b/src/field/pokemon-sprite-sparkle-handler.ts index d2f69500258..cceb0bd7717 100644 --- a/src/field/pokemon-sprite-sparkle-handler.ts +++ b/src/field/pokemon-sprite-sparkle-handler.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import Pokemon from "./pokemon"; -import { fixedInt, randInt } from "#app/utils"; +import { fixedInt, randInt } from "#app/utils/common"; export default class PokemonSpriteSparkleHandler { private sprites: Set; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 27c4edea297..0242820dcde 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -55,7 +55,7 @@ import { getStarterValueFriendshipCap, speciesStarterCosts, } from "#app/data/balance/starters"; -import { NumberHolder, randSeedInt, getIvsFromId, BooleanHolder, randSeedItem, isNullOrUndefined, getEnumValues, toDmgValue, fixedInt, rgbaToInt, rgbHexToRgba, rgbToHsv, deltaRgb, isBetween, type nil, type Constructor } from "#app/utils"; +import { NumberHolder, randSeedInt, getIvsFromId, BooleanHolder, randSeedItem, isNullOrUndefined, getEnumValues, toDmgValue, fixedInt, rgbaToInt, rgbHexToRgba, rgbToHsv, deltaRgb, isBetween, type nil, type Constructor } from "#app/utils/common"; import type { TypeDamageMultiplier } from "#app/data/type"; import { getTypeDamageMultiplier, getTypeRgb } from "#app/data/type"; import { PokemonType } from "#enums/pokemon-type"; @@ -193,7 +193,7 @@ import { import { allAbilities } from "#app/data/data-lists"; import type PokemonData from "#app/system/pokemon-data"; import { BattlerIndex } from "#app/battle"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { PartyOption } from "#app/ui/party-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; @@ -6581,7 +6581,7 @@ export class PlayerPokemon extends Pokemon { this.leaveField(switchType === SwitchType.SWITCH); globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.FAINT_SWITCH, this.getFieldIndex(), (slotIndex: number, option: PartyOption) => { @@ -6599,7 +6599,7 @@ export class PlayerPokemon extends Pokemon { MoveEndPhase, ); } - globalScene.ui.setMode(Mode.MESSAGE).then(resolve); + globalScene.ui.setMode(UiMode.MESSAGE).then(resolve); }, PartyUiHandler.FilterNonFainted, ); diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 1679e6f12e0..6b0a54b2103 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -11,7 +11,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import { TrainerPoolTier } from "#enums/trainer-pool-tier"; import { TeraAIMode } from "#enums/tera-ai-mode"; import type { EnemyPokemon } from "#app/field/pokemon"; -import { randSeedWeightedItem, randSeedItem, randSeedInt } from "#app/utils"; +import { randSeedWeightedItem, randSeedItem, randSeedInt } from "#app/utils/common"; import type { PersistentModifier } from "#app/modifier/modifier"; import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { getIsInitialized, initI18n } from "#app/plugins/i18n"; diff --git a/src/game-mode.ts b/src/game-mode.ts index 4779fda50e8..dfe6b8cf123 100644 --- a/src/game-mode.ts +++ b/src/game-mode.ts @@ -7,7 +7,7 @@ import type PokemonSpecies from "./data/pokemon-species"; import { allSpecies } from "./data/pokemon-species"; import type { Arena } from "./field/arena"; import Overrides from "#app/overrides"; -import { randSeedInt, randSeedItem } from "#app/utils"; +import { randSeedInt, randSeedItem } from "#app/utils/common"; import { Biome } from "#enums/biome"; import { Species } from "#enums/species"; import { Challenges } from "./enums/challenges"; diff --git a/src/global-vars/bypass-login.ts b/src/global-vars/bypass-login.ts new file mode 100644 index 00000000000..3595a076101 --- /dev/null +++ b/src/global-vars/bypass-login.ts @@ -0,0 +1 @@ +export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1"; diff --git a/src/global-vars/starter-colors.ts b/src/global-vars/starter-colors.ts new file mode 100644 index 00000000000..6abe028be99 --- /dev/null +++ b/src/global-vars/starter-colors.ts @@ -0,0 +1,4 @@ +export const starterColors: StarterColors = {}; +interface StarterColors { + [key: string]: [string, string]; +} diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts index f92ce3957ab..7fde0f2aca8 100644 --- a/src/inputs-controller.ts +++ b/src/inputs-controller.ts @@ -1,11 +1,11 @@ import Phaser from "phaser"; -import { deepCopy, getEnumValues } from "#app/utils"; +import { deepCopy, getEnumValues } from "#app/utils/common"; import pad_generic from "./configs/inputs/pad_generic"; import pad_unlicensedSNES from "./configs/inputs/pad_unlicensedSNES"; import pad_xbox360 from "./configs/inputs/pad_xbox360"; import pad_dualshock from "./configs/inputs/pad_dualshock"; import pad_procon from "./configs/inputs/pad_procon"; -import { Mode } from "./ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type SettingsGamepadUiHandler from "./ui/settings/settings-gamepad-ui-handler"; import type SettingsKeyboardUiHandler from "./ui/settings/settings-keyboard-ui-handler"; import cfg_keyboard_qwerty from "./configs/inputs/cfg_keyboard_qwerty"; @@ -235,7 +235,7 @@ export class InputsController { if (gamepadName) { this.selectedDevice[Device.GAMEPAD] = gamepadName.toLowerCase(); } - const handler = globalScene.ui?.handlers[Mode.SETTINGS_GAMEPAD] as SettingsGamepadUiHandler; + const handler = globalScene.ui?.handlers[UiMode.SETTINGS_GAMEPAD] as SettingsGamepadUiHandler; handler?.updateChosenGamepadDisplay(); } @@ -248,7 +248,7 @@ export class InputsController { if (layoutKeyboard) { this.selectedDevice[Device.KEYBOARD] = layoutKeyboard.toLowerCase(); } - const handler = globalScene.ui?.handlers[Mode.SETTINGS_KEYBOARD] as SettingsKeyboardUiHandler; + const handler = globalScene.ui?.handlers[UiMode.SETTINGS_KEYBOARD] as SettingsKeyboardUiHandler; handler?.updateChosenKeyboardDisplay(); } @@ -296,7 +296,7 @@ export class InputsController { globalScene.gameData?.saveMappingConfigs(gamepadID, this.configs[gamepadID]); } this.lastSource = "gamepad"; - const handler = globalScene.ui?.handlers[Mode.SETTINGS_GAMEPAD] as SettingsGamepadUiHandler; + const handler = globalScene.ui?.handlers[UiMode.SETTINGS_GAMEPAD] as SettingsGamepadUiHandler; handler?.updateChosenGamepadDisplay(); } @@ -406,7 +406,7 @@ export class InputsController { this.lastSource = "gamepad"; if ( !this.selectedDevice[Device.GAMEPAD] || - (globalScene.ui.getMode() !== Mode.GAMEPAD_BINDING && + (globalScene.ui.getMode() !== UiMode.GAMEPAD_BINDING && this.selectedDevice[Device.GAMEPAD] !== pad.id.toLowerCase()) ) { this.setChosenGamepad(pad.id); diff --git a/src/loading-scene.ts b/src/loading-scene.ts index 4ec2fdf1bb2..914e6e961e2 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -4,7 +4,7 @@ import CacheBustedLoaderPlugin from "#app/plugins/cache-busted-loader-plugin"; import { SceneBase } from "#app/scene-base"; import { WindowVariant, getWindowVariantSuffix } from "#app/ui/ui-theme"; import { isMobile } from "#app/touch-controls"; -import { localPing, getEnumValues, hasAllLocalizedSprites, getEnumKeys } from "#app/utils"; +import { localPing, getEnumValues, hasAllLocalizedSprites, getEnumKeys } from "#app/utils/common"; import { initPokemonPrevolutions, initPokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { initBiomes } from "#app/data/balance/biomes"; import { initEggMoves } from "#app/data/balance/egg-moves"; diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 8feb60c7778..219a6b6344b 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -114,7 +114,7 @@ import { NumberHolder, padInt, randSeedInt, -} from "#app/utils"; +} from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 851fa33cedc..3eaf4e3c510 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -15,7 +15,7 @@ import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import type { VoucherType } from "#app/system/voucher"; import { Command } from "#app/ui/command-ui-handler"; import { addTextObject, TextStyle } from "#app/ui/text"; -import { BooleanHolder, hslToHex, isNullOrUndefined, NumberHolder, toDmgValue } from "#app/utils"; +import { BooleanHolder, hslToHex, isNullOrUndefined, NumberHolder, toDmgValue } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; import type { Moves } from "#enums/moves"; diff --git a/src/phases/attempt-capture-phase.ts b/src/phases/attempt-capture-phase.ts index 78021da4066..795aa7010e1 100644 --- a/src/phases/attempt-capture-phase.ts +++ b/src/phases/attempt-capture-phase.ts @@ -19,7 +19,7 @@ import { achvs } from "#app/system/achv"; import type { PartyOption } from "#app/ui/party-ui-handler"; import { PartyUiMode } from "#app/ui/party-ui-handler"; import { SummaryUiMode } from "#app/ui/summary-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { PokeballType } from "#enums/pokeball"; import { StatusEffect } from "#enums/status-effect"; import i18next from "i18next"; @@ -295,7 +295,7 @@ export class AttemptCapturePhase extends PokemonPhase { () => { globalScene.pokemonInfoContainer.makeRoomForConfirmUi(1, true); globalScene.ui.setMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { const newPokemon = globalScene.addPlayerPokemon( pokemon.species, @@ -310,12 +310,12 @@ export class AttemptCapturePhase extends PokemonPhase { pokemon, ); globalScene.ui.setMode( - Mode.SUMMARY, + UiMode.SUMMARY, newPokemon, 0, SummaryUiMode.DEFAULT, () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { promptRelease(); }); }, @@ -329,19 +329,26 @@ export class AttemptCapturePhase extends PokemonPhase { form: pokemon.formIndex, female: pokemon.gender === Gender.FEMALE, }; - globalScene.ui.setOverlayMode(Mode.POKEDEX_PAGE, pokemon.species, attributes, null, null, () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { - promptRelease(); - }); - }); + globalScene.ui.setOverlayMode( + UiMode.POKEDEX_PAGE, + pokemon.species, + attributes, + null, + null, + () => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { + promptRelease(); + }); + }, + ); }, () => { globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.RELEASE, this.fieldIndex, (slotIndex: number, _option: PartyOption) => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { if (slotIndex < 6) { addToParty(slotIndex); } else { @@ -352,7 +359,7 @@ export class AttemptCapturePhase extends PokemonPhase { ); }, () => { - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { removePokemon(); end(); }); diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index 5c51e5c589d..eed5c3c522e 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -9,7 +9,7 @@ import { StatusEffect } from "#enums/status-effect"; import type { PlayerPokemon, EnemyPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import i18next from "i18next"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { BattleEndPhase } from "./battle-end-phase"; import { NewBattlePhase } from "./new-battle-phase"; import { PokemonPhase } from "./pokemon-phase"; diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index ae593f66f34..b20b1736d4f 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -4,7 +4,7 @@ import { BerryUsedEvent } from "#app/events/battle-scene"; import { getPokemonNameWithAffix } from "#app/messages"; import { BerryModifier } from "#app/modifier/modifier"; import i18next from "i18next"; -import { BooleanHolder } from "#app/utils"; +import { BooleanHolder } from "#app/utils/common"; import { FieldPhase } from "./field-phase"; import { CommonAnimPhase } from "./common-anim-phase"; import { globalScene } from "#app/global-scene"; diff --git a/src/phases/check-switch-phase.ts b/src/phases/check-switch-phase.ts index ba4837fd7cc..9d73411fd37 100644 --- a/src/phases/check-switch-phase.ts +++ b/src/phases/check-switch-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { BattleStyle } from "#app/enums/battle-style"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { getPokemonNameWithAffix } from "#app/messages"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { BattlePhase } from "./battle-phase"; import { SummonMissingPhase } from "./summon-missing-phase"; @@ -64,14 +64,14 @@ export class CheckSwitchPhase extends BattlePhase { null, () => { globalScene.ui.setMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.unshiftPhase(new SwitchPhase(SwitchType.INITIAL_SWITCH, this.fieldIndex, false, true)); this.end(); }, () => { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); this.end(); }, ); diff --git a/src/phases/command-phase.ts b/src/phases/command-phase.ts index 30343f92aa3..c3e558e1d86 100644 --- a/src/phases/command-phase.ts +++ b/src/phases/command-phase.ts @@ -15,12 +15,12 @@ import type { PlayerPokemon, TurnMove } from "#app/field/pokemon"; import { FieldPosition } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { Command } from "#app/ui/command-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { FieldPhase } from "./field-phase"; import { SelectTargetPhase } from "./select-target-phase"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagType } from "#app/enums/arena-tag-type"; @@ -38,7 +38,7 @@ export class CommandPhase extends FieldPhase { globalScene.updateGameInfo(); - const commandUiHandler = globalScene.ui.handlers[Mode.COMMAND]; + const commandUiHandler = globalScene.ui.handlers[UiMode.COMMAND]; // If one of these conditions is true, we always reset the cursor to Command.FIGHT const cursorResetEvent = @@ -127,7 +127,7 @@ export class CommandPhase extends FieldPhase { ) { this.handleCommand(Command.FIGHT, moveIndex, queuedMove.ignorePP, queuedMove); } else { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); } } } else { @@ -136,9 +136,9 @@ export class CommandPhase extends FieldPhase { globalScene.currentBattle.mysteryEncounter?.skipToFightInput ) { globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.FIGHT, this.fieldIndex); + globalScene.ui.setMode(UiMode.FIGHT, this.fieldIndex); } else { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); } } } @@ -209,7 +209,7 @@ export class CommandPhase extends FieldPhase { success = true; } else if (cursor < playerPokemon.getMoveset().length) { const move = playerPokemon.getMoveset()[cursor]; - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); // Decides between a Disabled, Not Implemented, or No PP translation message const errorMessage = playerPokemon.isMoveRestricted(move.moveId, playerPokemon) @@ -226,7 +226,7 @@ export class CommandPhase extends FieldPhase { null, () => { globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.FIGHT, this.fieldIndex); + globalScene.ui.setMode(UiMode.FIGHT, this.fieldIndex); }, null, true, @@ -244,27 +244,27 @@ export class CommandPhase extends FieldPhase { globalScene.arena.biomeType === Biome.END && (!globalScene.gameMode.isClassic || globalScene.gameMode.isFreshStartChallenge() || notInDex) ) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noPokeballForce"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, ); } else if (globalScene.currentBattle.battleType === BattleType.TRAINER) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noPokeballTrainer"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, @@ -273,14 +273,14 @@ export class CommandPhase extends FieldPhase { globalScene.currentBattle.isBattleMysteryEncounter() && !globalScene.currentBattle.mysteryEncounter!.catchAllowed ) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noPokeballMysteryEncounter"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, @@ -291,14 +291,14 @@ export class CommandPhase extends FieldPhase { .filter(p => p.isActive(true)) .map(p => p.getBattlerIndex()); if (targets.length > 1) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noPokeballMulti"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, @@ -311,14 +311,14 @@ export class CommandPhase extends FieldPhase { !targetPokemon?.hasAbility(Abilities.WONDER_GUARD, false, true) && cursor < PokeballType.MASTER_BALL ) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noPokeballStrong"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, @@ -347,14 +347,14 @@ export class CommandPhase extends FieldPhase { (arena.biomeType === Biome.END || (!isNullOrUndefined(mysteryEncounterFleeAllowed) && !mysteryEncounterFleeAllowed)) ) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noEscapeForce"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, @@ -364,14 +364,14 @@ export class CommandPhase extends FieldPhase { (currentBattle.battleType === BattleType.TRAINER || currentBattle.mysteryEncounter?.encounterMode === MysteryEncounterMode.TRAINER_BATTLE) ) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:noEscapeTrainer"), null, () => { globalScene.ui.showText("", 0); - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); }, null, true, @@ -389,7 +389,7 @@ export class CommandPhase extends FieldPhase { } } else if (trappedAbMessages.length > 0) { if (!isSwitch) { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); } globalScene.ui.showText( trappedAbMessages[0], @@ -397,7 +397,7 @@ export class CommandPhase extends FieldPhase { () => { globalScene.ui.showText("", 0); if (!isSwitch) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); } }, null, @@ -412,8 +412,8 @@ export class CommandPhase extends FieldPhase { break; } if (!isSwitch) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.MESSAGE); } const showNoEscapeText = (tag: any) => { globalScene.ui.showText( @@ -429,7 +429,7 @@ export class CommandPhase extends FieldPhase { () => { globalScene.ui.showText("", 0); if (!isSwitch) { - globalScene.ui.setMode(Mode.COMMAND, this.fieldIndex); + globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); } }, null, @@ -471,6 +471,6 @@ export class CommandPhase extends FieldPhase { } end() { - globalScene.ui.setMode(Mode.MESSAGE).then(() => super.end()); + globalScene.ui.setMode(UiMode.MESSAGE).then(() => super.end()); } } diff --git a/src/phases/damage-anim-phase.ts b/src/phases/damage-anim-phase.ts index 696a2e55b6f..b9581573f2e 100644 --- a/src/phases/damage-anim-phase.ts +++ b/src/phases/damage-anim-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { BattleSpec } from "#enums/battle-spec"; import { type DamageResult, HitResult } from "#app/field/pokemon"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import { PokemonPhase } from "#app/phases/pokemon-phase"; export class DamageAnimPhase extends PokemonPhase { diff --git a/src/phases/egg-hatch-phase.ts b/src/phases/egg-hatch-phase.ts index 07eeeb0f8ae..69bcf741383 100644 --- a/src/phases/egg-hatch-phase.ts +++ b/src/phases/egg-hatch-phase.ts @@ -8,10 +8,10 @@ import { achvs } from "#app/system/achv"; import EggCounterContainer from "#app/ui/egg-counter-container"; import type EggHatchSceneHandler from "#app/ui/egg-hatch-scene-handler"; import PokemonInfoContainer from "#app/ui/pokemon-info-container"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; -import { fixedInt, getFrameMs, randInt } from "#app/utils"; +import { fixedInt, getFrameMs, randInt } from "#app/utils/common"; import type { EggLapsePhase } from "./egg-lapse-phase"; import type { EggHatchData } from "#app/data/egg-hatch-data"; import { doShinySparkleAnim } from "#app/field/anims"; @@ -76,7 +76,7 @@ export class EggHatchPhase extends Phase { start() { super.start(); - globalScene.ui.setModeForceTransition(Mode.EGG_HATCH_SCENE).then(() => { + globalScene.ui.setModeForceTransition(UiMode.EGG_HATCH_SCENE).then(() => { if (!this.egg) { return this.end(); } diff --git a/src/phases/egg-lapse-phase.ts b/src/phases/egg-lapse-phase.ts index 397eb970fec..4632e264c1d 100644 --- a/src/phases/egg-lapse-phase.ts +++ b/src/phases/egg-lapse-phase.ts @@ -5,7 +5,7 @@ import { Phase } from "#app/phase"; import i18next from "i18next"; import Overrides from "#app/overrides"; import { EggHatchPhase } from "./egg-hatch-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { achvs } from "#app/system/achv"; import type { PlayerPokemon } from "#app/field/pokemon"; import { EggSummaryPhase } from "./egg-summary-phase"; @@ -41,7 +41,7 @@ export class EggLapsePhase extends Phase { 0, ); globalScene.ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { this.hatchEggsSkipped(eggsToHatch); this.showSummary(); diff --git a/src/phases/egg-summary-phase.ts b/src/phases/egg-summary-phase.ts index 9d9259d1e67..d16cafa7611 100644 --- a/src/phases/egg-summary-phase.ts +++ b/src/phases/egg-summary-phase.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { EggHatchData } from "#app/data/egg-hatch-data"; /** @@ -22,7 +22,7 @@ export class EggSummaryPhase extends Phase { // updates next pokemon once the current update has been completed const updateNextPokemon = (i: number) => { if (i >= this.eggHatchData.length) { - globalScene.ui.setModeForceTransition(Mode.EGG_HATCH_SUMMARY, this.eggHatchData).then(() => { + globalScene.ui.setModeForceTransition(UiMode.EGG_HATCH_SUMMARY, this.eggHatchData).then(() => { globalScene.fadeOutBgm(undefined, false); }); } else { @@ -39,7 +39,7 @@ export class EggSummaryPhase extends Phase { end() { globalScene.time.delayedCall(250, () => globalScene.setModifiersVisible(true)); - globalScene.ui.setModeForceTransition(Mode.MESSAGE).then(() => { + globalScene.ui.setModeForceTransition(UiMode.MESSAGE).then(() => { super.end(); }); } diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index c196608f91e..6fd11c416a2 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -29,8 +29,8 @@ import { SummonPhase } from "#app/phases/summon-phase"; import { ToggleDoublePositionPhase } from "#app/phases/toggle-double-position-phase"; import { achvs } from "#app/system/achv"; import { handleTutorial, Tutorial } from "#app/tutorial"; -import { Mode } from "#app/ui/ui"; -import { randSeedInt, randSeedItem } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { randSeedInt, randSeedItem } from "#app/utils/common"; import { BattleSpec } from "#enums/battle-spec"; import { Biome } from "#enums/biome"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; @@ -298,7 +298,7 @@ export class EncounterPhase extends BattlePhase { globalScene.currentBattle.trainer!.genAI(globalScene.getEnemyParty()); } - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { if (!this.loaded) { this.trySetWeatherIfNewBiome(); // Set weather before session gets saved // Game syncs to server on waves X1 and X6 (As of 1.2.0) diff --git a/src/phases/end-evolution-phase.ts b/src/phases/end-evolution-phase.ts index e0bdc7e0d68..579920dde90 100644 --- a/src/phases/end-evolution-phase.ts +++ b/src/phases/end-evolution-phase.ts @@ -1,11 +1,11 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; export class EndEvolutionPhase extends Phase { start() { super.start(); - globalScene.ui.setModeForceTransition(Mode.MESSAGE).then(() => this.end()); + globalScene.ui.setModeForceTransition(UiMode.MESSAGE).then(() => this.end()); } } diff --git a/src/phases/evolution-phase.ts b/src/phases/evolution-phase.ts index 203c7542eff..7b013555f40 100644 --- a/src/phases/evolution-phase.ts +++ b/src/phases/evolution-phase.ts @@ -5,8 +5,8 @@ import { globalScene } from "#app/global-scene"; import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import { FusionSpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import type EvolutionSceneHandler from "#app/ui/evolution-scene-handler"; -import { fixedInt, getFrameMs, randInt } from "#app/utils"; -import { Mode } from "#app/ui/ui"; +import { fixedInt, getFrameMs, randInt } from "#app/utils/common"; +import { UiMode } from "#enums/ui-mode"; import { cos, sin } from "#app/field/anims"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; @@ -53,7 +53,7 @@ export class EvolutionPhase extends Phase { } setMode(): Promise { - return globalScene.ui.setModeForceTransition(Mode.EVOLUTION_SCENE); + return globalScene.ui.setModeForceTransition(UiMode.EVOLUTION_SCENE); } start() { @@ -280,7 +280,7 @@ export class EvolutionPhase extends Phase { this.end(); }; globalScene.ui.setOverlayMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { globalScene.ui.revertMode(); this.pokemon.pauseEvolutions = true; diff --git a/src/phases/exp-phase.ts b/src/phases/exp-phase.ts index b7d62c92bcf..8841a90d5b1 100644 --- a/src/phases/exp-phase.ts +++ b/src/phases/exp-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { getPokemonNameWithAffix } from "#app/messages"; import { ExpBoosterModifier } from "#app/modifier/modifier"; import i18next from "i18next"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase"; import { LevelUpPhase } from "./level-up-phase"; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 2719206a6cc..5a25cf6330d 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -29,7 +29,7 @@ import { SwitchPhase } from "./switch-phase"; import { SwitchSummonPhase } from "./switch-summon-phase"; import { ToggleDoublePositionPhase } from "./toggle-double-position-phase"; import { VictoryPhase } from "./victory-phase"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import { FRIENDSHIP_LOSS_FROM_FAINT } from "#app/data/balance/starters"; import { BattlerTagType } from "#enums/battler-tag-type"; diff --git a/src/phases/form-change-phase.ts b/src/phases/form-change-phase.ts index bf94284b117..ac7edadf244 100644 --- a/src/phases/form-change-phase.ts +++ b/src/phases/form-change-phase.ts @@ -1,10 +1,10 @@ import { globalScene } from "#app/global-scene"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import { achvs } from "../system/achv"; import type { SpeciesFormChange } from "../data/pokemon-forms"; import { getSpeciesFormChangeMessage } from "../data/pokemon-forms"; import type { PlayerPokemon } from "../field/pokemon"; -import { Mode } from "../ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type PartyUiHandler from "../ui/party-ui-handler"; import { getPokemonNameWithAffix } from "../messages"; import { EndEvolutionPhase } from "./end-evolution-phase"; @@ -31,7 +31,7 @@ export class FormChangePhase extends EvolutionPhase { if (!this.modal) { return super.setMode(); } - return globalScene.ui.setOverlayMode(Mode.EVOLUTION_SCENE); + return globalScene.ui.setOverlayMode(UiMode.EVOLUTION_SCENE); } doEvolution(): void { @@ -181,7 +181,7 @@ export class FormChangePhase extends EvolutionPhase { this.pokemon.findAndRemoveTags(t => t.tagType === BattlerTagType.AUTOTOMIZED); if (this.modal) { globalScene.ui.revertMode().then(() => { - if (globalScene.ui.getMode() === Mode.PARTY) { + if (globalScene.ui.getMode() === UiMode.PARTY) { const partyUiHandler = globalScene.ui.getHandler() as PartyUiHandler; partyUiHandler.clearPartySlots(); partyUiHandler.populatePartySlots(); diff --git a/src/phases/game-over-modifier-reward-phase.ts b/src/phases/game-over-modifier-reward-phase.ts index d0a39a4031a..ab6f6554c99 100644 --- a/src/phases/game-over-modifier-reward-phase.ts +++ b/src/phases/game-over-modifier-reward-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { ModifierRewardPhase } from "./modifier-reward-phase"; @@ -10,7 +10,7 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase { globalScene.addModifier(newModifier); // Sound loaded into game as is globalScene.playSound("level_up_fanfare"); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.fadeIn(250).then(() => { globalScene.ui.showText( i18next.t("battle:rewardGain", { diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index 9e79eafe88b..304d876a99e 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -19,8 +19,8 @@ import { SummonPhase } from "#app/phases/summon-phase"; import { UnlockPhase } from "#app/phases/unlock-phase"; import { achvs, ChallengeAchv } from "#app/system/achv"; import { Unlockables } from "#app/system/unlockables"; -import { Mode } from "#app/ui/ui"; -import { isLocal, isLocalServerConnected } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { isLocal, isLocalServerConnected } from "#app/utils/common"; import { PlayerGender } from "#enums/player-gender"; import { TrainerType } from "#enums/trainer-type"; import i18next from "i18next"; @@ -78,7 +78,7 @@ export class GameOverPhase extends BattlePhase { } else { globalScene.ui.showText(i18next.t("battle:retryBattle"), null, () => { globalScene.ui.setMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { globalScene.ui.fadeOut(1250).then(() => { globalScene.reset(); diff --git a/src/phases/learn-move-phase.ts b/src/phases/learn-move-phase.ts index 4107a9cf087..515ce492b92 100644 --- a/src/phases/learn-move-phase.ts +++ b/src/phases/learn-move-phase.ts @@ -8,7 +8,7 @@ import { getPokemonNameWithAffix } from "#app/messages"; import Overrides from "#app/overrides"; import EvolutionSceneHandler from "#app/ui/evolution-scene-handler"; import { SummaryUiMode } from "#app/ui/summary-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { PlayerPartyMemberPokemonPhase } from "#app/phases/player-party-member-pokemon-phase"; import type Pokemon from "#app/field/pokemon"; @@ -25,7 +25,7 @@ export enum LearnMoveType { export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { private moveId: Moves; - private messageMode: Mode; + private messageMode: UiMode; private learnMoveType: LearnMoveType; private cost: number; @@ -55,7 +55,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { } this.messageMode = - globalScene.ui.getHandler() instanceof EvolutionSceneHandler ? Mode.EVOLUTION_SCENE : Mode.MESSAGE; + globalScene.ui.getHandler() instanceof EvolutionSceneHandler ? UiMode.EVOLUTION_SCENE : UiMode.MESSAGE; globalScene.ui.setMode(this.messageMode); // If the Pokemon has less than 4 moves, the new move is added to the largest empty moveset index // If it has 4 moves, the phase then checks if the player wants to replace the move itself. @@ -90,7 +90,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { await globalScene.ui.showTextPromise(preQText); await globalScene.ui.showTextPromise(shouldReplaceQ, undefined, false); await globalScene.ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => this.forgetMoveProcess(move, pokemon), // Yes () => { // No @@ -115,7 +115,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { globalScene.ui.setMode(this.messageMode); await globalScene.ui.showTextPromise(i18next.t("battle:learnMoveForgetQuestion"), undefined, true); await globalScene.ui.setModeWithoutClear( - Mode.SUMMARY, + UiMode.SUMMARY, pokemon, SummaryUiMode.LEARN_MOVE, move, @@ -153,7 +153,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { false, ); globalScene.ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { globalScene.ui.setMode(this.messageMode); globalScene.ui @@ -228,7 +228,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeMoveLearnedTrigger, true); this.end(); }, - this.messageMode === Mode.EVOLUTION_SCENE ? 1000 : undefined, + this.messageMode === UiMode.EVOLUTION_SCENE ? 1000 : undefined, true, ); } diff --git a/src/phases/level-cap-phase.ts b/src/phases/level-cap-phase.ts index 567ac922124..6f3fa6fdb39 100644 --- a/src/phases/level-cap-phase.ts +++ b/src/phases/level-cap-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { FieldPhase } from "./field-phase"; @@ -7,7 +7,7 @@ export class LevelCapPhase extends FieldPhase { start(): void { super.start(); - globalScene.ui.setMode(Mode.MESSAGE).then(() => { + globalScene.ui.setMode(UiMode.MESSAGE).then(() => { // Sound loaded into game as is globalScene.playSound("level_up_fanfare"); globalScene.ui.showText( diff --git a/src/phases/level-up-phase.ts b/src/phases/level-up-phase.ts index c6ca17d583e..8c4f4f58095 100644 --- a/src/phases/level-up-phase.ts +++ b/src/phases/level-up-phase.ts @@ -6,7 +6,7 @@ import { EvolutionPhase } from "#app/phases/evolution-phase"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; import { PlayerPartyMemberPokemonPhase } from "#app/phases/player-party-member-pokemon-phase"; import { LevelAchv } from "#app/system/achv"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import i18next from "i18next"; export class LevelUpPhase extends PlayerPartyMemberPokemonPhase { @@ -71,7 +71,7 @@ export class LevelUpPhase extends PlayerPartyMemberPokemonPhase { if (!this.pokemon.pauseEvolutions) { const evolution = this.pokemon.getEvolution(); if (evolution) { - this.pokemon.breakIllusion() + this.pokemon.breakIllusion(); globalScene.unshiftPhase(new EvolutionPhase(this.pokemon, evolution, this.lastLevel)); } } diff --git a/src/phases/login-phase.ts b/src/phases/login-phase.ts index 846482ff726..673b94b1148 100644 --- a/src/phases/login-phase.ts +++ b/src/phases/login-phase.ts @@ -1,11 +1,12 @@ import { updateUserInfo } from "#app/account"; -import { bypassLogin } from "#app/battle-scene"; +import { bypassLogin } from "#app/global-vars/bypass-login"; import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; import { handleTutorial, Tutorial } from "#app/tutorial"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next, { t } from "i18next"; -import { getCookie, sessionIdKey, executeIf, removeCookie } from "#app/utils"; +import { sessionIdKey, executeIf } from "#app/utils/common"; +import { getCookie, removeCookie } from "#app/utils/cookies"; import { SelectGenderPhase } from "./select-gender-phase"; import { UnavailablePhase } from "./unavailable-phase"; @@ -23,7 +24,7 @@ export class LoginPhase extends Phase { const hasSession = !!getCookie(sessionIdKey); - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); executeIf(bypassLogin || hasSession, updateUserInfo).then(response => { const success = response ? response[0] : false; const statusCode = response ? response[1] : null; @@ -46,7 +47,7 @@ export class LoginPhase extends Phase { }); }; - globalScene.ui.setMode(Mode.LOGIN_FORM, { + globalScene.ui.setMode(UiMode.LOGIN_FORM, { buttonActions: [ () => { globalScene.ui.playSelect(); @@ -54,7 +55,7 @@ export class LoginPhase extends Phase { }, () => { globalScene.playSound("menu_open"); - globalScene.ui.setMode(Mode.REGISTRATION_FORM, { + globalScene.ui.setMode(UiMode.REGISTRATION_FORM, { buttonActions: [ () => { globalScene.ui.playSelect(); @@ -101,7 +102,7 @@ export class LoginPhase extends Phase { if (success || bypassLogin) { this.end(); } else { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText(t("menu:failedToLoadSaveData")); } }); @@ -109,7 +110,7 @@ export class LoginPhase extends Phase { } end(): void { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); if (!globalScene.gameData.gender) { globalScene.unshiftPhase(new SelectGenderPhase()); diff --git a/src/phases/money-reward-phase.ts b/src/phases/money-reward-phase.ts index ae8dc90616d..708bb3a2fa8 100644 --- a/src/phases/money-reward-phase.ts +++ b/src/phases/money-reward-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { MoneyMultiplierModifier } from "#app/modifier/modifier"; import i18next from "i18next"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { BattlePhase } from "./battle-phase"; export class MoneyRewardPhase extends BattlePhase { diff --git a/src/phases/move-charge-phase.ts b/src/phases/move-charge-phase.ts index 26ad85bbe03..ea43f1ddb88 100644 --- a/src/phases/move-charge-phase.ts +++ b/src/phases/move-charge-phase.ts @@ -5,7 +5,7 @@ import { applyMoveChargeAttrs, MoveEffectAttr, InstantChargeAttr } from "#app/da import type { PokemonMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; -import { BooleanHolder } from "#app/utils"; +import { BooleanHolder } from "#app/utils/common"; import { MovePhase } from "#app/phases/move-phase"; import { PokemonPhase } from "#app/phases/pokemon-phase"; import { BattlerTagType } from "#enums/battler-tag-type"; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 3a4e5f32ede..c29e3fe5cda 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -61,8 +61,8 @@ import { PokemonMultiHitModifier, } from "#app/modifier/modifier"; import { PokemonPhase } from "#app/phases/pokemon-phase"; -import { BooleanHolder, isNullOrUndefined, NumberHolder } from "#app/utils"; -import type { nil } from "#app/utils"; +import { BooleanHolder, isNullOrUndefined, NumberHolder } from "#app/utils/common"; +import type { nil } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; import type { Moves } from "#enums/moves"; import i18next from "i18next"; diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index dc394b8a134..f42a2aefa34 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -43,7 +43,7 @@ import { CommonAnimPhase } from "#app/phases/common-anim-phase"; import { MoveChargePhase } from "#app/phases/move-charge-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; diff --git a/src/phases/mystery-encounter-phases.ts b/src/phases/mystery-encounter-phases.ts index f42290ff872..100be47e4e9 100644 --- a/src/phases/mystery-encounter-phases.ts +++ b/src/phases/mystery-encounter-phases.ts @@ -25,8 +25,8 @@ import { transitionMysteryEncounterIntroVisuals } from "../data/mystery-encounte import { TrainerSlot } from "#enums/trainer-slot"; import { IvScannerModifier } from "../modifier/modifier"; import { Phase } from "../phase"; -import { Mode } from "../ui/ui"; -import { isNullOrUndefined, randSeedItem } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { isNullOrUndefined, randSeedItem } from "#app/utils/common"; /** * Will handle (in order): @@ -72,7 +72,7 @@ export class MysteryEncounterPhase extends Phase { } // Initiates encounter dialogue window and option select - globalScene.ui.setMode(Mode.MYSTERY_ENCOUNTER, this.optionSelectSettings); + globalScene.ui.setMode(UiMode.MYSTERY_ENCOUNTER, this.optionSelectSettings); } /** @@ -130,7 +130,7 @@ export class MysteryEncounterPhase extends Phase { const optionSelectDialogue = globalScene.currentBattle?.mysteryEncounter?.selectedOption?.dialogue; if (optionSelectDialogue?.selected && optionSelectDialogue.selected.length > 0) { // Handle intermediate dialogue (between player selection event and the onOptionSelect logic) - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); const selectedDialogue = optionSelectDialogue.selected; let i = 0; const showNextDialogue = () => { @@ -167,7 +167,7 @@ export class MysteryEncounterPhase extends Phase { * Ends phase */ end() { - globalScene.ui.setMode(Mode.MESSAGE).then(() => super.end()); + globalScene.ui.setMode(UiMode.MESSAGE).then(() => super.end()); } } @@ -629,7 +629,7 @@ export class PostMysteryEncounterPhase extends Phase { } i++; - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); if (title) { globalScene.ui.showDialogue( text ?? "", diff --git a/src/phases/obtain-status-effect-phase.ts b/src/phases/obtain-status-effect-phase.ts index 10ae195b02f..47cae2dcbf6 100644 --- a/src/phases/obtain-status-effect-phase.ts +++ b/src/phases/obtain-status-effect-phase.ts @@ -8,7 +8,7 @@ import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonPhase } from "./pokemon-phase"; import { SpeciesFormChangeStatusEffectTrigger } from "#app/data/pokemon-forms"; import { applyPostSetStatusAbAttrs, PostSetStatusAbAttr } from "#app/data/abilities/ability"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; export class ObtainStatusEffectPhase extends PokemonPhase { private statusEffect?: StatusEffect; diff --git a/src/phases/party-heal-phase.ts b/src/phases/party-heal-phase.ts index 137af9f3a2d..a208ccfff92 100644 --- a/src/phases/party-heal-phase.ts +++ b/src/phases/party-heal-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import { BattlePhase } from "./battle-phase"; export class PartyHealPhase extends BattlePhase { diff --git a/src/phases/pokemon-anim-phase.ts b/src/phases/pokemon-anim-phase.ts index f0693a52aaa..1889b238f05 100644 --- a/src/phases/pokemon-anim-phase.ts +++ b/src/phases/pokemon-anim-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { SubstituteTag } from "#app/data/battler-tags"; import type Pokemon from "#app/field/pokemon"; import { BattlePhase } from "#app/phases/battle-phase"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import { PokemonAnimType } from "#enums/pokemon-anim-type"; import { Species } from "#enums/species"; diff --git a/src/phases/pokemon-heal-phase.ts b/src/phases/pokemon-heal-phase.ts index 651c625b23a..7cb013251f6 100644 --- a/src/phases/pokemon-heal-phase.ts +++ b/src/phases/pokemon-heal-phase.ts @@ -8,7 +8,7 @@ import { getPokemonNameWithAffix } from "#app/messages"; import { HealingBoosterModifier } from "#app/modifier/modifier"; import { HealAchv } from "#app/system/achv"; import i18next from "i18next"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { CommonAnimPhase } from "./common-anim-phase"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { HealBlockTag } from "#app/data/battler-tags"; diff --git a/src/phases/post-turn-status-effect-phase.ts b/src/phases/post-turn-status-effect-phase.ts index af9a9ac1c29..9b530d48196 100644 --- a/src/phases/post-turn-status-effect-phase.ts +++ b/src/phases/post-turn-status-effect-phase.ts @@ -13,7 +13,7 @@ import { getStatusEffectActivationText } from "#app/data/status-effect"; import { BattleSpec } from "#app/enums/battle-spec"; import { StatusEffect } from "#app/enums/status-effect"; import { getPokemonNameWithAffix } from "#app/messages"; -import { BooleanHolder, NumberHolder } from "#app/utils"; +import { BooleanHolder, NumberHolder } from "#app/utils/common"; import { PokemonPhase } from "./pokemon-phase"; export class PostTurnStatusEffectPhase extends PokemonPhase { diff --git a/src/phases/reload-session-phase.ts b/src/phases/reload-session-phase.ts index a7ac0002b03..8cd5f67b43a 100644 --- a/src/phases/reload-session-phase.ts +++ b/src/phases/reload-session-phase.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; -import { Mode } from "#app/ui/ui"; -import { fixedInt } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { fixedInt } from "#app/utils/common"; export class ReloadSessionPhase extends Phase { private systemDataStr?: string; @@ -13,7 +13,7 @@ export class ReloadSessionPhase extends Phase { } start(): void { - globalScene.ui.setMode(Mode.SESSION_RELOAD); + globalScene.ui.setMode(UiMode.SESSION_RELOAD); let delayElapsed = false; let loaded = false; diff --git a/src/phases/revival-blessing-phase.ts b/src/phases/revival-blessing-phase.ts index f6fe4d9a3ee..2de1c616f69 100644 --- a/src/phases/revival-blessing-phase.ts +++ b/src/phases/revival-blessing-phase.ts @@ -2,9 +2,9 @@ import { SwitchType } from "#enums/switch-type"; import { globalScene } from "#app/global-scene"; import type { PartyOption } from "#app/ui/party-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; -import { toDmgValue, isNullOrUndefined } from "#app/utils"; +import { toDmgValue, isNullOrUndefined } from "#app/utils/common"; import { BattlePhase } from "#app/phases/battle-phase"; import { SwitchSummonPhase } from "#app/phases/switch-summon-phase"; import { ToggleDoublePositionPhase } from "#app/phases/toggle-double-position-phase"; @@ -21,7 +21,7 @@ export class RevivalBlessingPhase extends BattlePhase { public override start(): void { globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.REVIVAL_BLESSING, this.user.getFieldIndex(), (slotIndex: integer, _option: PartyOption) => { @@ -63,7 +63,7 @@ export class RevivalBlessingPhase extends BattlePhase { } } } - globalScene.ui.setMode(Mode.MESSAGE).then(() => this.end()); + globalScene.ui.setMode(UiMode.MESSAGE).then(() => this.end()); }, PartyUiHandler.FilterFainted, ); diff --git a/src/phases/ribbon-modifier-reward-phase.ts b/src/phases/ribbon-modifier-reward-phase.ts index 0ee38250ce1..21114ab3de9 100644 --- a/src/phases/ribbon-modifier-reward-phase.ts +++ b/src/phases/ribbon-modifier-reward-phase.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import type PokemonSpecies from "#app/data/pokemon-species"; import type { ModifierTypeFunc } from "#app/modifier/modifier-type"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { ModifierRewardPhase } from "./modifier-reward-phase"; @@ -19,7 +19,7 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase { const newModifier = this.modifierType.newModifier(); globalScene.addModifier(newModifier); globalScene.playSound("level_up_fanfare"); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:beatModeFirstTime", { speciesName: this.species.name, diff --git a/src/phases/scan-ivs-phase.ts b/src/phases/scan-ivs-phase.ts index aaeeb7f84f8..d79a32bd47e 100644 --- a/src/phases/scan-ivs-phase.ts +++ b/src/phases/scan-ivs-phase.ts @@ -3,7 +3,7 @@ import type { BattlerIndex } from "#app/battle"; import { PERMANENT_STATS, Stat } from "#app/enums/stat"; import { getPokemonNameWithAffix } from "#app/messages"; import { getTextColor, TextStyle } from "#app/ui/text"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { PokemonPhase } from "./pokemon-phase"; @@ -51,9 +51,9 @@ export class ScanIvsPhase extends PokemonPhase { null, () => { globalScene.ui.setMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.clearText(); globalScene.ui .getMessageHandler() @@ -61,7 +61,7 @@ export class ScanIvsPhase extends PokemonPhase { .then(() => this.end()); }, () => { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.clearText(); this.end(); }, diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index b27e2d0e7cc..0ea2841a2d3 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -3,9 +3,9 @@ import { biomeLinks, getBiomeName } from "#app/data/balance/biomes"; import { Biome } from "#app/enums/biome"; import { MoneyInterestModifier, MapModifier } from "#app/modifier/modifier"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { BattlePhase } from "./battle-phase"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import { PartyHealPhase } from "./party-heal-phase"; import { SwitchBiomePhase } from "./switch-biome-phase"; @@ -42,14 +42,14 @@ export class SelectBiomePhase extends BattlePhase { const ret: OptionSelectItem = { label: getBiomeName(b), handler: () => { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); setNextBiome(b); return true; }, }; return ret; }); - globalScene.ui.setMode(Mode.OPTION_SELECT, { + globalScene.ui.setMode(UiMode.OPTION_SELECT, { options: biomeSelectItems, delay: 1000, }); diff --git a/src/phases/select-challenge-phase.ts b/src/phases/select-challenge-phase.ts index 5e6f20f93ee..76ac8a60c4f 100644 --- a/src/phases/select-challenge-phase.ts +++ b/src/phases/select-challenge-phase.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; export class SelectChallengePhase extends Phase { start() { @@ -8,6 +8,6 @@ export class SelectChallengePhase extends Phase { globalScene.playBgm("menu"); - globalScene.ui.setMode(Mode.CHALLENGE_SELECT); + globalScene.ui.setMode(UiMode.CHALLENGE_SELECT); } } diff --git a/src/phases/select-gender-phase.ts b/src/phases/select-gender-phase.ts index 4da60b38aa1..a1171c1a5db 100644 --- a/src/phases/select-gender-phase.ts +++ b/src/phases/select-gender-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { PlayerGender } from "#app/enums/player-gender"; import { Phase } from "#app/phase"; import { SettingKeys } from "#app/system/settings/settings"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; export class SelectGenderPhase extends Phase { @@ -10,7 +10,7 @@ export class SelectGenderPhase extends Phase { super.start(); globalScene.ui.showText(i18next.t("menu:boyOrGirl"), null, () => { - globalScene.ui.setMode(Mode.OPTION_SELECT, { + globalScene.ui.setMode(UiMode.OPTION_SELECT, { options: [ { label: i18next.t("settings:boy"), @@ -36,7 +36,7 @@ export class SelectGenderPhase extends Phase { } end(): void { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); super.end(); } } diff --git a/src/phases/select-modifier-phase.ts b/src/phases/select-modifier-phase.ts index 27ab7e374a2..5f11441333b 100644 --- a/src/phases/select-modifier-phase.ts +++ b/src/phases/select-modifier-phase.ts @@ -24,12 +24,12 @@ import { import type ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { SHOP_OPTIONS_ROW_LIMIT } from "#app/ui/modifier-select-ui-handler"; import PartyUiHandler, { PartyUiMode, PartyOption } from "#app/ui/party-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { BattlePhase } from "./battle-phase"; import Overrides from "#app/overrides"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; -import { isNullOrUndefined, NumberHolder } from "#app/utils"; +import { isNullOrUndefined, NumberHolder } from "#app/utils/common"; export class SelectModifierPhase extends BattlePhase { private rerollCount: number; @@ -92,15 +92,15 @@ export class SelectModifierPhase extends BattlePhase { if (rowCursor < 0 || cursor < 0) { globalScene.ui.showText(i18next.t("battle:skipItemQuestion"), null, () => { globalScene.ui.setOverlayMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { globalScene.ui.revertMode(); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); super.end(); }, () => globalScene.ui.setMode( - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, this.isPlayer(), this.typeOptions, modifierSelectCallback, @@ -129,7 +129,7 @@ export class SelectModifierPhase extends BattlePhase { ), ); globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.MESSAGE).then(() => super.end()); + globalScene.ui.setMode(UiMode.MESSAGE).then(() => super.end()); if (!Overrides.WAIVE_ROLL_FEE_OVERRIDE) { globalScene.money -= rerollCost; globalScene.updateMoneyText(); @@ -139,7 +139,7 @@ export class SelectModifierPhase extends BattlePhase { break; case 1: globalScene.ui.setModeWithoutClear( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.MODIFIER_TRANSFER, -1, (fromSlotIndex: number, itemIndex: number, itemQuantity: number, toSlotIndex: number) => { @@ -168,7 +168,7 @@ export class SelectModifierPhase extends BattlePhase { ); } else { globalScene.ui.setMode( - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, this.isPlayer(), this.typeOptions, modifierSelectCallback, @@ -180,9 +180,9 @@ export class SelectModifierPhase extends BattlePhase { ); break; case 2: - globalScene.ui.setModeWithoutClear(Mode.PARTY, PartyUiMode.CHECK, -1, () => { + globalScene.ui.setModeWithoutClear(UiMode.PARTY, PartyUiMode.CHECK, -1, () => { globalScene.ui.setMode( - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, this.isPlayer(), this.typeOptions, modifierSelectCallback, @@ -207,7 +207,7 @@ export class SelectModifierPhase extends BattlePhase { case 1: if (this.typeOptions.length === 0) { globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); super.end(); return true; } @@ -263,7 +263,7 @@ export class SelectModifierPhase extends BattlePhase { } } else { globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); super.end(); } }; @@ -272,7 +272,7 @@ export class SelectModifierPhase extends BattlePhase { //TODO: is the bang correct? if (modifierType instanceof FusePokemonModifierType) { globalScene.ui.setModeWithoutClear( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.SPLICE, -1, (fromSlotIndex: number, spliceSlotIndex: number) => { @@ -282,13 +282,13 @@ export class SelectModifierPhase extends BattlePhase { spliceSlotIndex < 6 && fromSlotIndex !== spliceSlotIndex ) { - globalScene.ui.setMode(Mode.MODIFIER_SELECT, this.isPlayer()).then(() => { + globalScene.ui.setMode(UiMode.MODIFIER_SELECT, this.isPlayer()).then(() => { const modifier = modifierType.newModifier(party[fromSlotIndex], party[spliceSlotIndex])!; //TODO: is the bang correct? applyModifier(modifier, true); }); } else { globalScene.ui.setMode( - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, this.isPlayer(), this.typeOptions, modifierSelectCallback, @@ -314,12 +314,12 @@ export class SelectModifierPhase extends BattlePhase { : PartyUiMode.MODIFIER; const tmMoveId = isTmModifier ? (modifierType as TmModifierType).moveId : undefined; globalScene.ui.setModeWithoutClear( - Mode.PARTY, + UiMode.PARTY, partyUiMode, -1, (slotIndex: number, option: PartyOption) => { if (slotIndex < 6) { - globalScene.ui.setMode(Mode.MODIFIER_SELECT, this.isPlayer()).then(() => { + globalScene.ui.setMode(UiMode.MODIFIER_SELECT, this.isPlayer()).then(() => { const modifier = !isMoveModifier ? !isRememberMoveModifier ? modifierType.newModifier(party[slotIndex]) @@ -329,7 +329,7 @@ export class SelectModifierPhase extends BattlePhase { }); } else { globalScene.ui.setMode( - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, this.isPlayer(), this.typeOptions, modifierSelectCallback, @@ -352,7 +352,7 @@ export class SelectModifierPhase extends BattlePhase { return !cost!; // TODO: is the bang correct? }; globalScene.ui.setMode( - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, this.isPlayer(), this.typeOptions, modifierSelectCallback, diff --git a/src/phases/select-starter-phase.ts b/src/phases/select-starter-phase.ts index 35511531609..0a76df31a2c 100644 --- a/src/phases/select-starter-phase.ts +++ b/src/phases/select-starter-phase.ts @@ -9,10 +9,10 @@ import { Phase } from "#app/phase"; import { TitlePhase } from "#app/phases/title-phase"; import { SaveSlotUiMode } from "#app/ui/save-slot-select-ui-handler"; import type { Starter } from "#app/ui/starter-select-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { Species } from "#enums/species"; import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; export class SelectStarterPhase extends Phase { start() { @@ -20,9 +20,9 @@ export class SelectStarterPhase extends Phase { globalScene.playBgm("menu"); - globalScene.ui.setMode(Mode.STARTER_SELECT, (starters: Starter[]) => { + globalScene.ui.setMode(UiMode.STARTER_SELECT, (starters: Starter[]) => { globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.SAVE_SLOT, SaveSlotUiMode.SAVE, (slotId: number) => { + globalScene.ui.setMode(UiMode.SAVE_SLOT, SaveSlotUiMode.SAVE, (slotId: number) => { if (slotId === -1) { globalScene.clearPhaseQueue(); globalScene.pushPhase(new TitlePhase()); diff --git a/src/phases/select-target-phase.ts b/src/phases/select-target-phase.ts index 035eaff41fa..c969b9ca421 100644 --- a/src/phases/select-target-phase.ts +++ b/src/phases/select-target-phase.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { Command } from "#app/ui/command-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { CommandPhase } from "./command-phase"; import { PokemonPhase } from "./pokemon-phase"; import i18next from "#app/plugins/i18n"; @@ -18,8 +18,8 @@ export class SelectTargetPhase extends PokemonPhase { const turnCommand = globalScene.currentBattle.turnCommands[this.fieldIndex]; const move = turnCommand?.move?.move; - globalScene.ui.setMode(Mode.TARGET_SELECT, this.fieldIndex, move, (targets: BattlerIndex[]) => { - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.TARGET_SELECT, this.fieldIndex, move, (targets: BattlerIndex[]) => { + globalScene.ui.setMode(UiMode.MESSAGE); const fieldSide = globalScene.getField(); const user = fieldSide[this.fieldIndex]; const moveObject = allMoves[move!]; diff --git a/src/phases/show-party-exp-bar-phase.ts b/src/phases/show-party-exp-bar-phase.ts index 139f4efcc49..89bec6d8fdd 100644 --- a/src/phases/show-party-exp-bar-phase.ts +++ b/src/phases/show-party-exp-bar-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { ExpGainsSpeed } from "#app/enums/exp-gains-speed"; import { ExpNotification } from "#app/enums/exp-notification"; import { ExpBoosterModifier } from "#app/modifier/modifier"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { HidePartyExpBarPhase } from "./hide-party-exp-bar-phase"; import { LevelUpPhase } from "./level-up-phase"; import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase"; diff --git a/src/phases/stat-stage-change-phase.ts b/src/phases/stat-stage-change-phase.ts index f52e4fb06a0..9d64a81bbb4 100644 --- a/src/phases/stat-stage-change-phase.ts +++ b/src/phases/stat-stage-change-phase.ts @@ -17,7 +17,7 @@ import type Pokemon from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { ResetNegativeStatStageModifier } from "#app/modifier/modifier"; import { handleTutorial, Tutorial } from "#app/tutorial"; -import { NumberHolder, BooleanHolder, isNullOrUndefined } from "#app/utils"; +import { NumberHolder, BooleanHolder, isNullOrUndefined } from "#app/utils/common"; import i18next from "i18next"; import { PokemonPhase } from "./pokemon-phase"; import { Stat, type BattleStat, getStatKey, getStatStageChangeDescriptionKey } from "#enums/stat"; diff --git a/src/phases/switch-phase.ts b/src/phases/switch-phase.ts index 8562309ede5..c056b186021 100644 --- a/src/phases/switch-phase.ts +++ b/src/phases/switch-phase.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import PartyUiHandler, { PartyOption, PartyUiMode } from "#app/ui/party-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { SwitchType } from "#enums/switch-type"; import { BattlePhase } from "./battle-phase"; import { PostSummonPhase } from "./post-summon-phase"; @@ -69,7 +69,7 @@ export class SwitchPhase extends BattlePhase { : 0; globalScene.ui.setMode( - Mode.PARTY, + UiMode.PARTY, this.isModal ? PartyUiMode.FAINT_SWITCH : PartyUiMode.POST_BATTLE_SWITCH, fieldIndex, (slotIndex: number, option: PartyOption) => { @@ -80,7 +80,7 @@ export class SwitchPhase extends BattlePhase { const switchType = option === PartyOption.PASS_BATON ? SwitchType.BATON_PASS : this.switchType; globalScene.unshiftPhase(new SwitchSummonPhase(switchType, fieldIndex, slotIndex, this.doReturn)); } - globalScene.ui.setMode(Mode.MESSAGE).then(() => super.end()); + globalScene.ui.setMode(UiMode.MESSAGE).then(() => super.end()); }, PartyUiHandler.FilterNonFainted, ); diff --git a/src/phases/title-phase.ts b/src/phases/title-phase.ts index bc1b157e98e..56057c23372 100644 --- a/src/phases/title-phase.ts +++ b/src/phases/title-phase.ts @@ -17,8 +17,8 @@ import { Unlockables } from "#app/system/unlockables"; import { vouchers } from "#app/system/voucher"; import type { OptionSelectConfig, OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { SaveSlotUiMode } from "#app/ui/save-slot-select-ui-handler"; -import { Mode } from "#app/ui/ui"; -import { isLocal, isLocalServerConnected, isNullOrUndefined } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { isLocal, isLocalServerConnected, isNullOrUndefined } from "#app/utils/common"; import i18next from "i18next"; import { CheckSwitchPhase } from "./check-switch-phase"; import { EncounterPhase } from "./encounter-phase"; @@ -75,7 +75,7 @@ export class TitlePhase extends Phase { handler: () => { const setModeAndEnd = (gameMode: GameModes) => { this.gameMode = gameMode; - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.clearText(); this.end(); }; @@ -130,7 +130,7 @@ export class TitlePhase extends Phase { }, }); globalScene.ui.showText(i18next.t("menu:selectGameMode"), null, () => - globalScene.ui.setOverlayMode(Mode.OPTION_SELECT, { + globalScene.ui.setOverlayMode(UiMode.OPTION_SELECT, { options: options, }), ); @@ -140,7 +140,7 @@ export class TitlePhase extends Phase { { label: i18next.t("menu:loadGame"), handler: () => { - globalScene.ui.setOverlayMode(Mode.SAVE_SLOT, SaveSlotUiMode.LOAD, (slotId: number) => { + globalScene.ui.setOverlayMode(UiMode.SAVE_SLOT, SaveSlotUiMode.LOAD, (slotId: number) => { if (slotId === -1) { return this.showOptions(); } @@ -152,7 +152,7 @@ export class TitlePhase extends Phase { { label: i18next.t("menu:runHistory"), handler: () => { - globalScene.ui.setOverlayMode(Mode.RUN_HISTORY); + globalScene.ui.setOverlayMode(UiMode.RUN_HISTORY); return true; }, keepOpen: true, @@ -160,7 +160,7 @@ export class TitlePhase extends Phase { { label: i18next.t("menu:settings"), handler: () => { - globalScene.ui.setOverlayMode(Mode.SETTINGS); + globalScene.ui.setOverlayMode(UiMode.SETTINGS); return true; }, keepOpen: true, @@ -171,12 +171,12 @@ export class TitlePhase extends Phase { noCancel: true, yOffset: 47, }; - globalScene.ui.setMode(Mode.TITLE, config); + globalScene.ui.setMode(UiMode.TITLE, config); } loadSaveSlot(slotId: number): void { globalScene.sessionSlotId = slotId > -1 || !loggedInUser ? slotId : loggedInUser.lastSessionSlot; - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.resetModeChain(); globalScene.gameData .loadSession(slotId, slotId === -1 ? this.lastSessionData : undefined) @@ -196,7 +196,7 @@ export class TitlePhase extends Phase { initDailyRun(): void { globalScene.ui.clearText(); - globalScene.ui.setMode(Mode.SAVE_SLOT, SaveSlotUiMode.SAVE, (slotId: number) => { + globalScene.ui.setMode(UiMode.SAVE_SLOT, SaveSlotUiMode.SAVE, (slotId: number) => { globalScene.clearPhaseQueue(); if (slotId === -1) { globalScene.pushPhase(new TitlePhase()); diff --git a/src/phases/trainer-victory-phase.ts b/src/phases/trainer-victory-phase.ts index f17071f118e..f7005b1300d 100644 --- a/src/phases/trainer-victory-phase.ts +++ b/src/phases/trainer-victory-phase.ts @@ -3,7 +3,7 @@ import { TrainerType } from "#app/enums/trainer-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { vouchers } from "#app/system/voucher"; import i18next from "i18next"; -import { randSeedItem } from "#app/utils"; +import { randSeedItem } from "#app/utils/common"; import { BattlePhase } from "./battle-phase"; import { ModifierRewardPhase } from "./modifier-reward-phase"; import { MoneyRewardPhase } from "./money-reward-phase"; diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index ba6ace2d188..622b9cdcbd1 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -6,7 +6,7 @@ import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import { BypassSpeedChanceModifier } from "#app/modifier/modifier"; import { Command } from "#app/ui/command-ui-handler"; -import { randSeedShuffle, BooleanHolder } from "#app/utils"; +import { randSeedShuffle, BooleanHolder } from "#app/utils/common"; import { AttemptCapturePhase } from "./attempt-capture-phase"; import { AttemptRunPhase } from "./attempt-run-phase"; import { BerryPhase } from "./berry-phase"; diff --git a/src/phases/unavailable-phase.ts b/src/phases/unavailable-phase.ts index 33042739971..e5f1d899191 100644 --- a/src/phases/unavailable-phase.ts +++ b/src/phases/unavailable-phase.ts @@ -1,11 +1,11 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { LoginPhase } from "./login-phase"; export class UnavailablePhase extends Phase { start(): void { - globalScene.ui.setMode(Mode.UNAVAILABLE, () => { + globalScene.ui.setMode(UiMode.UNAVAILABLE, () => { globalScene.unshiftPhase(new LoginPhase(true)); this.end(); }); diff --git a/src/phases/unlock-phase.ts b/src/phases/unlock-phase.ts index b420a4b3a61..7a69fc207bb 100644 --- a/src/phases/unlock-phase.ts +++ b/src/phases/unlock-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { Phase } from "#app/phase"; import type { Unlockables } from "#app/system/unlockables"; import { getUnlockableName } from "#app/system/unlockables"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; export class UnlockPhase extends Phase { @@ -19,7 +19,7 @@ export class UnlockPhase extends Phase { globalScene.gameData.unlocks[this.unlockable] = true; // Sound loaded into game as is globalScene.playSound("level_up_fanfare"); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.MESSAGE); globalScene.ui.showText( i18next.t("battle:unlockedSomething", { unlockedThing: getUnlockableName(this.unlockable), diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index b83eab43b65..d89c78e96c7 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -15,7 +15,7 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { WeatherType } from "#app/enums/weather-type"; import type Pokemon from "#app/field/pokemon"; import { HitResult } from "#app/field/pokemon"; -import { BooleanHolder, toDmgValue } from "#app/utils"; +import { BooleanHolder, toDmgValue } from "#app/utils/common"; import { CommonAnimPhase } from "./common-anim-phase"; export class WeatherEffectPhase extends CommonAnimPhase { diff --git a/src/pipelines/field-sprite.ts b/src/pipelines/field-sprite.ts index a55b6a9adb6..a6e248c9998 100644 --- a/src/pipelines/field-sprite.ts +++ b/src/pipelines/field-sprite.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { TerrainType, getTerrainColor } from "../data/terrain"; -import { getCurrentTime } from "#app/utils"; +import { getCurrentTime } from "#app/utils/common"; import fieldSpriteFragShader from "./glsl/fieldSpriteFragShader.frag?raw"; import spriteVertShader from "./glsl/spriteShader.vert?raw"; diff --git a/src/pipelines/sprite.ts b/src/pipelines/sprite.ts index 0aa9409617a..307c2cee4cc 100644 --- a/src/pipelines/sprite.ts +++ b/src/pipelines/sprite.ts @@ -3,7 +3,7 @@ import MysteryEncounterIntroVisuals from "#app/field/mystery-encounter-intro"; import Pokemon from "#app/field/pokemon"; import Trainer from "#app/field/trainer"; import { globalScene } from "#app/global-scene"; -import { rgbHexToRgba } from "#app/utils"; +import { rgbHexToRgba } from "#app/utils/common"; import FieldSpritePipeline from "./field-sprite"; import spriteFragShader from "./glsl/spriteFragShader.frag?raw"; import spriteVertShader from "./glsl/spriteShader.vert?raw"; diff --git a/src/plugins/api/api-base.ts b/src/plugins/api/api-base.ts index 6a0eca56eaa..f55ffe2d3fd 100644 --- a/src/plugins/api/api-base.ts +++ b/src/plugins/api/api-base.ts @@ -1,5 +1,5 @@ import { SESSION_ID_COOKIE_NAME } from "#app/constants"; -import { getCookie } from "#app/utils"; +import { getCookie } from "#app/utils/cookies"; type DataType = "json" | "form-urlencoded"; diff --git a/src/plugins/api/pokerogue-account-api.ts b/src/plugins/api/pokerogue-account-api.ts index bab74799677..9cd82c24430 100644 --- a/src/plugins/api/pokerogue-account-api.ts +++ b/src/plugins/api/pokerogue-account-api.ts @@ -6,7 +6,7 @@ import type { } from "#app/@types/PokerogueAccountApi"; import { SESSION_ID_COOKIE_NAME } from "#app/constants"; import { ApiBase } from "#app/plugins/api/api-base"; -import { removeCookie, setCookie } from "#app/utils"; +import { removeCookie, setCookie } from "#app/utils/cookies"; /** * A wrapper for PokéRogue account API requests. diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 5e145d08e28..ff9e54fcf50 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -1,4 +1,4 @@ -import { camelCaseToKebabCase } from "#app/utils"; +import { camelCaseToKebabCase } from "#app/utils/common"; import i18next from "i18next"; import LanguageDetector from "i18next-browser-languagedetector"; import HttpBackend from "i18next-http-backend"; diff --git a/src/sprites/variant.ts b/src/sprites/variant.ts index 7552f63b778..985068015c6 100644 --- a/src/sprites/variant.ts +++ b/src/sprites/variant.ts @@ -2,7 +2,7 @@ import { VariantTier } from "#app/enums/variant-tier"; import { hasExpSprite } from "#app/sprites/sprite-utils"; import { globalScene } from "#app/global-scene"; import type Pokemon from "#app/field/pokemon"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; export type Variant = 0 | 1 | 2; diff --git a/src/starter-colors.ts b/src/starter-colors.ts new file mode 100644 index 00000000000..6abe028be99 --- /dev/null +++ b/src/starter-colors.ts @@ -0,0 +1,4 @@ +export const starterColors: StarterColors = {}; +interface StarterColors { + [key: string]: [string, string]; +} diff --git a/src/starting-wave.ts b/src/starting-wave.ts new file mode 100644 index 00000000000..3d36dabe652 --- /dev/null +++ b/src/starting-wave.ts @@ -0,0 +1,3 @@ +import Overrides from "./overrides"; + +export const startingWave = Overrides.STARTING_WAVE_OVERRIDE || 1; diff --git a/src/system/achv.ts b/src/system/achv.ts index 62e69e6fbfe..90816ff65c3 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -2,7 +2,7 @@ import type { Modifier } from "typescript"; import { TurnHeldItemTransferModifier } from "../modifier/modifier"; import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import i18next from "i18next"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { PlayerGender } from "#enums/player-gender"; import type { Challenge } from "#app/data/challenge"; import { diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 698299845a3..8b7987556ee 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -1,6 +1,6 @@ import i18next from "i18next"; import type { PokeballCounts } from "#app/battle-scene"; -import { bypassLogin } from "#app/battle-scene"; +import { bypassLogin } from "#app/global-vars/bypass-login"; import { globalScene } from "#app/global-scene"; import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; @@ -8,7 +8,7 @@ import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; -import { randInt, getEnumKeys, isLocal, executeIf, fixedInt, randSeedItem, NumberHolder } from "#app/utils"; +import { randInt, getEnumKeys, isLocal, executeIf, fixedInt, randSeedItem, NumberHolder } from "#app/utils/common"; import Overrides from "#app/overrides"; import PokemonData from "#app/system/pokemon-data"; import PersistentModifierData from "#app/system/modifier-data"; @@ -24,7 +24,7 @@ import EggData from "#app/system/egg-data"; import type { Egg } from "#app/data/egg"; import { vouchers, VoucherType } from "#app/system/voucher"; import { AES, enc } from "crypto-js"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { clientSessionId, loggedInUser, updateUserInfo } from "#app/account"; import { Nature } from "#enums/nature"; import { GameStats } from "#app/system/game-stats"; @@ -1430,7 +1430,7 @@ export class GameData { const systemData = useCachedSystem ? this.parseSystemData(decrypt(localStorage.getItem(`data_${loggedInUser?.username}`)!, bypassLogin)) : this.getSystemSaveData(); // TODO: is this bang correct? - + const request = { system: systemData, session: sessionData, @@ -1604,7 +1604,7 @@ export class GameData { null, () => { globalScene.ui.setOverlayMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { localStorage.setItem(dataKey, encrypt(dataStr, bypassLogin)); diff --git a/src/system/game-speed.ts b/src/system/game-speed.ts index 3df47fafc6c..712870dfaf1 100644 --- a/src/system/game-speed.ts +++ b/src/system/game-speed.ts @@ -3,7 +3,7 @@ import type FadeIn from "phaser3-rex-plugins/plugins/audio/fade/FadeIn"; import type FadeOut from "phaser3-rex-plugins/plugins/audio/fade/FadeOut"; import type BattleScene from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; -import { FixedInt } from "#app/utils"; +import { FixedInt } from "#app/utils/common"; type FadeInType = typeof FadeIn; type FadeOutType = typeof FadeOut; diff --git a/src/system/settings/settings-gamepad.ts b/src/system/settings/settings-gamepad.ts index f4a6bd465af..12add905096 100644 --- a/src/system/settings/settings-gamepad.ts +++ b/src/system/settings/settings-gamepad.ts @@ -1,6 +1,6 @@ import type SettingsGamepadUiHandler from "../../ui/settings/settings-gamepad-ui-handler"; -import { Mode } from "../../ui/ui"; -import { truncateString } from "../../utils"; +import { UiMode } from "#enums/ui-mode"; +import { truncateString } from "../../utils/common"; import { Button } from "#enums/buttons"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { globalScene } from "#app/global-scene"; @@ -107,7 +107,7 @@ export function setSettingGamepad(setting: SettingGamepad, value: number): boole (globalScene.ui.getHandler() as SettingsGamepadUiHandler).updateBindings(); return success; }; - globalScene.ui.setOverlayMode(Mode.GAMEPAD_BINDING, { + globalScene.ui.setOverlayMode(UiMode.GAMEPAD_BINDING, { target: setting, cancelHandler: cancelHandler, }); @@ -133,7 +133,7 @@ export function setSettingGamepad(setting: SettingGamepad, value: number): boole cancelHandler(); return true; }; - globalScene.ui.setOverlayMode(Mode.OPTION_SELECT, { + globalScene.ui.setOverlayMode(UiMode.OPTION_SELECT, { options: [ ...gp.map((g: string) => ({ label: truncateString(g, 30), // Truncate the gamepad name for display diff --git a/src/system/settings/settings-keyboard.ts b/src/system/settings/settings-keyboard.ts index ffe8811e5d9..ec5c9ad6b0e 100644 --- a/src/system/settings/settings-keyboard.ts +++ b/src/system/settings/settings-keyboard.ts @@ -1,5 +1,5 @@ import { Button } from "#enums/buttons"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type SettingsKeyboardUiHandler from "#app/ui/settings/settings-keyboard-ui-handler"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; @@ -174,7 +174,7 @@ export function setSettingKeyboard(setting: SettingKeyboard, value: number): boo (globalScene.ui.getHandler() as SettingsKeyboardUiHandler).updateBindings(); return success; }; - globalScene.ui.setOverlayMode(Mode.KEYBOARD_BINDING, { + globalScene.ui.setOverlayMode(UiMode.KEYBOARD_BINDING, { target: setting, cancelHandler: cancelHandler, }); diff --git a/src/system/settings/settings.ts b/src/system/settings/settings.ts index 377216291e2..31faf2b6283 100644 --- a/src/system/settings/settings.ts +++ b/src/system/settings/settings.ts @@ -1,4 +1,4 @@ -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; import { hasTouchscreen } from "#app/touch-controls"; @@ -9,7 +9,7 @@ import { EaseType } from "#enums/ease-type"; import { MoneyFormat } from "#enums/money-format"; import { PlayerGender } from "#enums/player-gender"; import { ShopCursorTarget } from "#enums/shop-cursor-target"; -import { isLocal } from "#app/utils"; +import { isLocal } from "#app/utils/common"; const VOLUME_OPTIONS: SettingOption[] = new Array(11).fill(null).map((_, i) => i @@ -906,7 +906,7 @@ export function setSetting(setting: string, value: number): boolean { return false; } }; - globalScene.ui.setOverlayMode(Mode.OPTION_SELECT, { + globalScene.ui.setOverlayMode(UiMode.OPTION_SELECT, { options: [ { label: "English", diff --git a/src/system/version_migration/versions/v1_0_4.ts b/src/system/version_migration/versions/v1_0_4.ts index 2139352b783..9e30ccdc2a7 100644 --- a/src/system/version_migration/versions/v1_0_4.ts +++ b/src/system/version_migration/versions/v1_0_4.ts @@ -3,7 +3,7 @@ import type { SystemSaveData, SessionSaveData } from "#app/system/game-data"; import { AbilityAttr, defaultStarterSpecies, DexAttr } from "#app/system/game-data"; import { allSpecies } from "#app/data/pokemon-species"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; import type { SettingsSaveMigrator } from "#app/@types/SettingsSaveMigrator"; import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; diff --git a/src/system/version_migration/versions/v1_7_0.ts b/src/system/version_migration/versions/v1_7_0.ts index a1213ccf64c..dc7c0f48640 100644 --- a/src/system/version_migration/versions/v1_7_0.ts +++ b/src/system/version_migration/versions/v1_7_0.ts @@ -3,7 +3,7 @@ import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { globalScene } from "#app/global-scene"; import { DexAttr, type SessionSaveData, type SystemSaveData } from "#app/system/game-data"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; /** * If a starter is caught, but the only forms registered as caught are not starterSelectable, diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 7bbd157948b..8f5a9c75428 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject } from "#app/ui/text"; -import type { nil } from "#app/utils"; -import { isNullOrUndefined } from "#app/utils"; +import type { nil } from "#app/utils/common"; +import { isNullOrUndefined } from "#app/utils/common"; import i18next from "i18next"; import { Species } from "#enums/species"; import type { WeatherPoolEntry } from "#app/data/weather"; diff --git a/src/tutorial.ts b/src/tutorial.ts index 82912f73979..d9ae3a03290 100644 --- a/src/tutorial.ts +++ b/src/tutorial.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import AwaitableUiHandler from "./ui/awaitable-ui-handler"; import type UiHandler from "./ui/ui-handler"; -import { Mode } from "./ui/ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import Overrides from "#app/overrides"; @@ -92,13 +92,13 @@ const tutorialHandlers = { }, [Tutorial.Select_Item]: () => { return new Promise(resolve => { - globalScene.ui.setModeWithoutClear(Mode.MESSAGE).then(() => { + globalScene.ui.setModeWithoutClear(UiMode.MESSAGE).then(() => { globalScene.ui.showText( i18next.t("tutorial:selectItem"), null, () => globalScene.ui.showText("", null, () => - globalScene.ui.setModeWithoutClear(Mode.MODIFIER_SELECT).then(() => resolve()), + globalScene.ui.setModeWithoutClear(UiMode.MODIFIER_SELECT).then(() => resolve()), ), null, true, diff --git a/src/ui-inputs.ts b/src/ui-inputs.ts index c9898f9b71e..bf4f51e5af7 100644 --- a/src/ui-inputs.ts +++ b/src/ui-inputs.ts @@ -1,5 +1,5 @@ import type Phaser from "phaser"; -import { Mode } from "./ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { InputsController } from "./inputs-controller"; import type MessageUiHandler from "./ui/message-ui-handler"; import StarterSelectUiHandler from "./ui/starter-select-ui-handler"; @@ -176,22 +176,22 @@ export class UiInputs { return; } switch (globalScene.ui?.getMode()) { - case Mode.MESSAGE: + case UiMode.MESSAGE: const messageHandler = globalScene.ui.getHandler(); if (!messageHandler.pendingPrompt || messageHandler.isTextAnimationInProgress()) { return; } - case Mode.TITLE: - case Mode.COMMAND: - case Mode.MODIFIER_SELECT: - case Mode.MYSTERY_ENCOUNTER: - globalScene.ui.setOverlayMode(Mode.MENU); + case UiMode.TITLE: + case UiMode.COMMAND: + case UiMode.MODIFIER_SELECT: + case UiMode.MYSTERY_ENCOUNTER: + globalScene.ui.setOverlayMode(UiMode.MENU); break; - case Mode.STARTER_SELECT: - case Mode.POKEDEX_PAGE: + case UiMode.STARTER_SELECT: + case UiMode.POKEDEX_PAGE: this.buttonTouch(); break; - case Mode.MENU: + case UiMode.MENU: globalScene.ui.revertMode(); globalScene.playSound("ui/select"); break; @@ -227,7 +227,7 @@ export class UiInputs { SettingKeys.Game_Speed, Setting[settingGameSpeed].options.findIndex(item => item.label === `${globalScene.gameSpeed}x`) + 1, ); - if (globalScene.ui?.getMode() === Mode.SETTINGS) { + if (globalScene.ui?.getMode() === UiMode.SETTINGS) { (globalScene.ui.getHandler() as SettingsUiHandler).show([]); } } else if (!up && globalScene.gameSpeed > 1) { @@ -238,7 +238,7 @@ export class UiInputs { 0, ), ); - if (globalScene.ui?.getMode() === Mode.SETTINGS) { + if (globalScene.ui?.getMode() === UiMode.SETTINGS) { (globalScene.ui.getHandler() as SettingsUiHandler).show([]); } } diff --git a/src/ui/abstact-option-select-ui-handler.ts b/src/ui/abstact-option-select-ui-handler.ts index b360065f61d..07609648a4e 100644 --- a/src/ui/abstact-option-select-ui-handler.ts +++ b/src/ui/abstact-option-select-ui-handler.ts @@ -1,9 +1,9 @@ import { globalScene } from "#app/global-scene"; import { TextStyle, addBBCodeTextObject, getTextColor, getTextStyleOptions } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { addWindow } from "./ui-theme"; -import { rgbHexToRgba, fixedInt } from "#app/utils"; +import { rgbHexToRgba, fixedInt } from "#app/utils/common"; import { argbFromRgba } from "@material/material-color-utilities"; import { Button } from "#enums/buttons"; import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText"; @@ -56,7 +56,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { protected defaultTextStyle: TextStyle = TextStyle.WINDOW; protected textContent: string; - constructor(mode: Mode | null) { + constructor(mode: UiMode | null) { super(mode); } @@ -70,7 +70,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { const ui = this.getUi(); this.optionSelectContainer = globalScene.add.container(globalScene.game.canvas.width / 6 - 1, -48); - this.optionSelectContainer.setName(`option-select-${this.mode ? Mode[this.mode] : "UNKNOWN"}`); + this.optionSelectContainer.setName(`option-select-${this.mode ? UiMode[this.mode] : "UNKNOWN"}`); this.optionSelectContainer.setVisible(false); ui.add(this.optionSelectContainer); @@ -120,7 +120,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { // Setting the initial text to establish the width of the select object. We consider all options, even ones that are not displayed, // Except in the case of autocomplete, where we don't want to set up a text element with potentially hundreds of lines. - const optionsForWidth = globalScene.ui.getMode() === Mode.AUTO_COMPLETE ? optionsWithScroll : options; + const optionsForWidth = globalScene.ui.getMode() === UiMode.AUTO_COMPLETE ? optionsWithScroll : options; this.optionSelectText = addBBCodeTextObject( 0, 0, @@ -250,7 +250,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler { } else { ui.playError(); } - } else if (button === Button.SUBMIT && ui.getMode() === Mode.AUTO_COMPLETE) { + } else if (button === Button.SUBMIT && ui.getMode() === UiMode.AUTO_COMPLETE) { // this is here to differentiate between a Button.SUBMIT vs Button.ACTION within the autocomplete handler // this is here because Button.ACTION is picked up as z on the keyboard, meaning if you're typing and hit z, it'll select the option you've chosen success = true; diff --git a/src/ui/achvs-ui-handler.ts b/src/ui/achvs-ui-handler.ts index 8b5a4dbd395..d0c8b716c7a 100644 --- a/src/ui/achvs-ui-handler.ts +++ b/src/ui/achvs-ui-handler.ts @@ -6,7 +6,7 @@ import type { Voucher } from "#app/system/voucher"; import { getVoucherTypeIcon, getVoucherTypeName, vouchers } from "#app/system/voucher"; import MessageUiHandler from "#app/ui/message-ui-handler"; import { addTextObject, TextStyle } from "#app/ui/text"; -import type { Mode } from "#app/ui/ui"; +import type { UiMode } from "#enums/ui-mode"; import { addWindow } from "#app/ui/ui-theme"; import { ScrollBar } from "#app/ui/scroll-bar"; import { PlayerGender } from "#enums/player-gender"; @@ -59,7 +59,7 @@ export default class AchvsUiHandler extends MessageUiHandler { private cursorObj: Phaser.GameObjects.NineSlice | null; private currentPage: Page; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.achvsTotal = Object.keys(achvs).length; diff --git a/src/ui/admin-ui-handler.ts b/src/ui/admin-ui-handler.ts index 34b6e59145f..67ae3118863 100644 --- a/src/ui/admin-ui-handler.ts +++ b/src/ui/admin-ui-handler.ts @@ -1,11 +1,11 @@ import { Button } from "#app/enums/buttons"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; -import { formatText } from "#app/utils"; +import { formatText } from "#app/utils/common"; import type { InputFieldConfig } from "./form-modal-ui-handler"; import { FormModalUiHandler } from "./form-modal-ui-handler"; import type { ModalConfig } from "./modal-ui-handler"; import { TextStyle } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { globalScene } from "#app/global-scene"; type AdminUiHandlerService = "discord" | "google"; @@ -30,7 +30,7 @@ export default class AdminUiHandler extends FormModalUiHandler { return `Username and ${service} successfully ${mode.toLowerCase()}ed`; }; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } @@ -143,10 +143,10 @@ export default class AdminUiHandler extends FormModalUiHandler { const adminSearchResult: AdminSearchInfo = this.convertInputsToAdmin(); // this converts the input texts into a single object for use later const validFields = this.areFieldsValid(this.adminMode); if (validFields.error) { - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); // this is here to force a loading screen to allow the admin tool to reopen again if there's an error + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); // this is here to force a loading screen to allow the admin tool to reopen again if there's an error return this.showMessage(validFields.errorMessage ?? "", adminSearchResult, true); } - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); if (this.adminMode === AdminMode.LINK) { this.adminLinkUnlink(adminSearchResult, "discord", "Link") // calls server to link discord .then(response => { @@ -174,7 +174,7 @@ export default class AdminUiHandler extends FormModalUiHandler { showMessage(message: string, adminResult: AdminSearchInfo, isError: boolean) { globalScene.ui.setMode( - Mode.ADMIN, + UiMode.ADMIN, Object.assign(this.config, { errorMessage: message?.trim() }), this.adminMode, adminResult, @@ -221,18 +221,18 @@ export default class AdminUiHandler extends FormModalUiHandler { const mode = adminResult[aR] === "" ? "Link" : "Unlink"; // this figures out if we're linking or unlinking a service const validFields = this.areFieldsValid(this.adminMode, service); if (validFields.error) { - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); // this is here to force a loading screen to allow the admin tool to reopen again if there's an error + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); // this is here to force a loading screen to allow the admin tool to reopen again if there's an error return this.showMessage(validFields.errorMessage ?? "", adminResult, true); } this.adminLinkUnlink(this.convertInputsToAdmin(), service as AdminUiHandlerService, mode).then( response => { // attempts to link/unlink depending on the service if (response.error) { - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); return this.showMessage(response.errorType, adminResult, true); // fail } // success, reload panel with new results - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); this.adminSearch(adminResult).then(response => { if (response.error) { return this.showMessage(response.errorType, adminResult, true); @@ -385,7 +385,7 @@ export default class AdminUiHandler extends FormModalUiHandler { private updateAdminPanelInfo(adminSearchResult: AdminSearchInfo, mode?: AdminMode) { mode = mode ?? AdminMode.ADMIN; globalScene.ui.setMode( - Mode.ADMIN, + UiMode.ADMIN, { buttonActions: [ // we double revert here and below to go back 2 layers of menus diff --git a/src/ui/arena-flyout.ts b/src/ui/arena-flyout.ts index 1eb18a32f98..ab3bd13b47a 100644 --- a/src/ui/arena-flyout.ts +++ b/src/ui/arena-flyout.ts @@ -16,7 +16,7 @@ import type { TurnEndEvent } from "../events/battle-scene"; import { BattleSceneEventType } from "../events/battle-scene"; import { ArenaTagType } from "#enums/arena-tag-type"; import TimeOfDayWidget from "./time-of-day-widget"; -import { toCamelCaseString, formatText, fixedInt } from "#app/utils"; +import { toCamelCaseString, formatText, fixedInt } from "#app/utils/common"; import type { ParseKeys } from "i18next"; import i18next from "i18next"; diff --git a/src/ui/autocomplete-ui-handler.ts b/src/ui/autocomplete-ui-handler.ts index a170ae43f23..ba1802c8582 100644 --- a/src/ui/autocomplete-ui-handler.ts +++ b/src/ui/autocomplete-ui-handler.ts @@ -1,10 +1,10 @@ import { Button } from "#enums/buttons"; import AbstractOptionSelectUiHandler from "./abstact-option-select-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; export default class AutoCompleteUiHandler extends AbstractOptionSelectUiHandler { modalContainer: Phaser.GameObjects.Container; - constructor(mode: Mode = Mode.OPTION_SELECT) { + constructor(mode: UiMode = UiMode.OPTION_SELECT) { super(mode); } diff --git a/src/ui/awaitable-ui-handler.ts b/src/ui/awaitable-ui-handler.ts index 890e2884fd5..3c577fd4411 100644 --- a/src/ui/awaitable-ui-handler.ts +++ b/src/ui/awaitable-ui-handler.ts @@ -1,4 +1,4 @@ -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { Button } from "#enums/buttons"; import { globalScene } from "#app/global-scene"; @@ -9,7 +9,7 @@ export default abstract class AwaitableUiHandler extends UiHandler { public tutorialActive = false; public tutorialOverlay: Phaser.GameObjects.Rectangle; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } diff --git a/src/ui/ball-ui-handler.ts b/src/ui/ball-ui-handler.ts index cfa44832824..abb106a6553 100644 --- a/src/ui/ball-ui-handler.ts +++ b/src/ui/ball-ui-handler.ts @@ -1,7 +1,7 @@ import { getPokeballName } from "../data/pokeball"; import { addTextObject, getTextStyleOptions, TextStyle } from "./text"; import { Command } from "./command-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { addWindow } from "./ui-theme"; import { Button } from "#enums/buttons"; @@ -18,7 +18,7 @@ export default class BallUiHandler extends UiHandler { private scale = 0.1666666667; constructor() { - super(Mode.BALL); + super(UiMode.BALL); } setup() { @@ -82,15 +82,15 @@ export default class BallUiHandler extends UiHandler { if (button === Button.ACTION && this.cursor < pokeballTypeCount) { if (globalScene.pokeballCounts[this.cursor]) { if (commandPhase.handleCommand(Command.BALL, this.cursor)) { - globalScene.ui.setMode(Mode.COMMAND, commandPhase.getFieldIndex()); - globalScene.ui.setMode(Mode.MESSAGE); + globalScene.ui.setMode(UiMode.COMMAND, commandPhase.getFieldIndex()); + globalScene.ui.setMode(UiMode.MESSAGE); success = true; } } else { ui.playError(); } } else { - ui.setMode(Mode.COMMAND, commandPhase.getFieldIndex()); + ui.setMode(UiMode.COMMAND, commandPhase.getFieldIndex()); success = true; } } else { diff --git a/src/ui/base-stats-overlay.ts b/src/ui/base-stats-overlay.ts index d0b0aff3a9d..0541ae766e5 100644 --- a/src/ui/base-stats-overlay.ts +++ b/src/ui/base-stats-overlay.ts @@ -1,7 +1,7 @@ import type { InfoToggle } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { addWindow } from "./ui-theme"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; diff --git a/src/ui/battle-flyout.ts b/src/ui/battle-flyout.ts index 854f4cc4dd9..e590bebcf5a 100644 --- a/src/ui/battle-flyout.ts +++ b/src/ui/battle-flyout.ts @@ -1,6 +1,6 @@ import type { default as Pokemon } from "../field/pokemon"; import { addTextObject, TextStyle } from "./text"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import { globalScene } from "#app/global-scene"; import type Move from "#app/data/moves/move"; import type { BerryUsedEvent, MoveUsedEvent } from "../events/battle-scene"; diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 06c5f7fb3f1..4f9e59c8c89 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -1,6 +1,6 @@ import type { EnemyPokemon, default as Pokemon } from "../field/pokemon"; import { getLevelTotalExp, getLevelRelExp } from "../data/exp"; -import { getLocalizedSpriteKey, fixedInt } from "#app/utils"; +import { getLocalizedSpriteKey, fixedInt } from "#app/utils/common"; import { addTextObject, TextStyle } from "./text"; import { getGenderSymbol, getGenderColor, Gender } from "../data/gender"; import { StatusEffect } from "#enums/status-effect"; @@ -617,7 +617,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { return resolve(); } - const gender: Gender = !!pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + const gender: Gender = pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; this.genderText.setText(getGenderSymbol(gender)); this.genderText.setColor(getGenderColor(gender)); @@ -794,7 +794,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { const nameSizeTest = addTextObject(0, 0, displayName, TextStyle.BATTLE_INFO); nameTextWidth = nameSizeTest.displayWidth; - const gender: Gender = !!pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + const gender: Gender = pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; while ( nameTextWidth > (this.player || !this.boss ? 60 : 98) - diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts index ccb9378c688..d1102bbe53e 100644 --- a/src/ui/battle-message-ui-handler.ts +++ b/src/ui/battle-message-ui-handler.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { addBBCodeTextObject, addTextObject, getTextColor, TextStyle } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import MessageUiHandler from "./message-ui-handler"; import { addWindow } from "./ui-theme"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; @@ -23,7 +23,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler { public readonly wordWrapWidth: number = 1780; constructor() { - super(Mode.MESSAGE); + super(UiMode.MESSAGE); } setup(): void { diff --git a/src/ui/bgm-bar.ts b/src/ui/bgm-bar.ts index d944453ba2c..e331d82f6d9 100644 --- a/src/ui/bgm-bar.ts +++ b/src/ui/bgm-bar.ts @@ -1,6 +1,6 @@ import { addTextObject, TextStyle } from "./text"; import i18next from "i18next"; -import { formatText } from "#app/utils"; +import { formatText } from "#app/utils/common"; import { globalScene } from "#app/global-scene"; const hiddenX = -150; diff --git a/src/ui/candy-bar.ts b/src/ui/candy-bar.ts index 0cf3e0c91e9..f7a01b83093 100644 --- a/src/ui/candy-bar.ts +++ b/src/ui/candy-bar.ts @@ -1,8 +1,8 @@ -import { starterColors } from "#app/battle-scene"; +import { starterColors } from "#app/global-vars/starter-colors"; import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject } from "./text"; import { argbFromRgba } from "@material/material-color-utilities"; -import { rgbHexToRgba } from "#app/utils"; +import { rgbHexToRgba } from "#app/utils/common"; import type { Species } from "#enums/species"; export default class CandyBar extends Phaser.GameObjects.Container { diff --git a/src/ui/challenges-select-ui-handler.ts b/src/ui/challenges-select-ui-handler.ts index caffede2487..d1df16a457b 100644 --- a/src/ui/challenges-select-ui-handler.ts +++ b/src/ui/challenges-select-ui-handler.ts @@ -1,11 +1,11 @@ import { TextStyle, addTextObject } from "./text"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { addWindow } from "./ui-theme"; import { Button } from "#enums/buttons"; import i18next from "i18next"; import type { Challenge } from "#app/data/challenge"; -import { getLocalizedSpriteKey } from "#app/utils"; +import { getLocalizedSpriteKey } from "#app/utils/common"; import { Challenges } from "#app/enums/challenges"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { Color, ShadowColor } from "#app/enums/color"; @@ -50,7 +50,7 @@ export default class GameChallengesUiHandler extends UiHandler { private readonly leftArrowGap: number = 90; // distance from the label to the left arrow private readonly arrowSpacing: number = 3; // distance between the arrows and the value area - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } diff --git a/src/ui/char-sprite.ts b/src/ui/char-sprite.ts index f717927c107..a8451f4bb9c 100644 --- a/src/ui/char-sprite.ts +++ b/src/ui/char-sprite.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { MissingTextureKey } from "#app/utils"; +import { MissingTextureKey } from "#app/utils/common"; export default class CharSprite extends Phaser.GameObjects.Container { private sprite: Phaser.GameObjects.Sprite; diff --git a/src/ui/command-ui-handler.ts b/src/ui/command-ui-handler.ts index 55937bb8b00..57c5b5a82a2 100644 --- a/src/ui/command-ui-handler.ts +++ b/src/ui/command-ui-handler.ts @@ -1,6 +1,6 @@ import { addTextObject, TextStyle } from "./text"; import PartyUiHandler, { PartyUiMode } from "./party-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import i18next from "i18next"; import { Button } from "#enums/buttons"; @@ -30,7 +30,7 @@ export default class CommandUiHandler extends UiHandler { protected cursor2 = 0; constructor() { - super(Mode.COMMAND); + super(UiMode.COMMAND); } setup() { @@ -124,18 +124,18 @@ export default class CommandUiHandler extends UiHandler { switch (cursor) { // Fight case Command.FIGHT: - ui.setMode(Mode.FIGHT, (globalScene.getCurrentPhase() as CommandPhase).getFieldIndex()); + ui.setMode(UiMode.FIGHT, (globalScene.getCurrentPhase() as CommandPhase).getFieldIndex()); success = true; break; // Ball case Command.BALL: - ui.setModeWithoutClear(Mode.BALL); + ui.setModeWithoutClear(UiMode.BALL); success = true; break; // Pokemon case Command.POKEMON: ui.setMode( - Mode.PARTY, + UiMode.PARTY, PartyUiMode.SWITCH, (globalScene.getCurrentPhase() as CommandPhase).getPokemon().getFieldIndex(), null, @@ -149,7 +149,7 @@ export default class CommandUiHandler extends UiHandler { success = true; break; case Command.TERA: - ui.setMode(Mode.FIGHT, (globalScene.getCurrentPhase() as CommandPhase).getFieldIndex(), Command.TERA); + ui.setMode(UiMode.FIGHT, (globalScene.getCurrentPhase() as CommandPhase).getFieldIndex(), Command.TERA); success = true; break; } diff --git a/src/ui/confirm-ui-handler.ts b/src/ui/confirm-ui-handler.ts index eb7018051b7..7b5ca3d7e63 100644 --- a/src/ui/confirm-ui-handler.ts +++ b/src/ui/confirm-ui-handler.ts @@ -1,6 +1,6 @@ import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import AbstractOptionSelectUiHandler from "./abstact-option-select-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { Button } from "#enums/buttons"; import { globalScene } from "#app/global-scene"; @@ -12,7 +12,7 @@ export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler { private switchCheckCursor: number; constructor() { - super(Mode.CONFIRM); + super(UiMode.CONFIRM); } getWindowWidth(): number { diff --git a/src/ui/daily-run-scoreboard.ts b/src/ui/daily-run-scoreboard.ts index 896f2171676..076a782908b 100644 --- a/src/ui/daily-run-scoreboard.ts +++ b/src/ui/daily-run-scoreboard.ts @@ -1,6 +1,6 @@ import i18next from "i18next"; import { globalScene } from "#app/global-scene"; -import { getEnumKeys, executeIf } from "#app/utils"; +import { getEnumKeys, executeIf } from "#app/utils/common"; import { TextStyle, addTextObject } from "./text"; import { WindowVariant, addWindow } from "./ui-theme"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts index 956a308448b..5377cf3d283 100644 --- a/src/ui/egg-gacha-ui-handler.ts +++ b/src/ui/egg-gacha-ui-handler.ts @@ -1,7 +1,7 @@ -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { TextStyle, addTextObject, getEggTierTextTint, getTextStyleOptions } from "./text"; import MessageUiHandler from "./message-ui-handler"; -import { getEnumValues, getEnumKeys, fixedInt, randSeedShuffle } from "#app/utils"; +import { getEnumValues, getEnumKeys, fixedInt, randSeedShuffle } from "#app/utils/common"; import type { IEggOptions } from "../data/egg"; import { Egg, getLegendaryGachaSpeciesForTimestamp } from "../data/egg"; import { VoucherType, getVoucherTypeIcon } from "../system/voucher"; @@ -41,7 +41,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { private scale = 0.1666666667; constructor() { - super(Mode.EGG_GACHA); + super(UiMode.EGG_GACHA); this.gachaContainers = []; this.gachaKnobs = []; diff --git a/src/ui/egg-hatch-scene-handler.ts b/src/ui/egg-hatch-scene-handler.ts index 6ede68b7ae6..76e2c54f4b6 100644 --- a/src/ui/egg-hatch-scene-handler.ts +++ b/src/ui/egg-hatch-scene-handler.ts @@ -1,4 +1,4 @@ -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { Button } from "#enums/buttons"; import { EggHatchPhase } from "#app/phases/egg-hatch-phase"; @@ -16,7 +16,7 @@ export default class EggHatchSceneHandler extends UiHandler { public readonly eventTarget: EventTarget = new EventTarget(); constructor() { - super(Mode.EGG_HATCH_SCENE); + super(UiMode.EGG_HATCH_SCENE); } setup() { diff --git a/src/ui/egg-list-ui-handler.ts b/src/ui/egg-list-ui-handler.ts index cf3326bec13..9f41feea8ab 100644 --- a/src/ui/egg-list-ui-handler.ts +++ b/src/ui/egg-list-ui-handler.ts @@ -1,4 +1,4 @@ -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "#app/ui/pokemon-icon-anim-handler"; import { TextStyle, addTextObject } from "#app/ui/text"; import MessageUiHandler from "#app/ui/message-ui-handler"; @@ -29,7 +29,7 @@ export default class EggListUiHandler extends MessageUiHandler { private iconAnimHandler: PokemonIconAnimHandler; constructor() { - super(Mode.EGG_LIST); + super(UiMode.EGG_LIST); } setup() { diff --git a/src/ui/egg-summary-ui-handler.ts b/src/ui/egg-summary-ui-handler.ts index f335f83d8bf..ddc536fe1ad 100644 --- a/src/ui/egg-summary-ui-handler.ts +++ b/src/ui/egg-summary-ui-handler.ts @@ -1,4 +1,4 @@ -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler"; import MessageUiHandler from "./message-ui-handler"; import { getEggTierForSpecies } from "../data/egg"; @@ -54,7 +54,7 @@ export default class EggSummaryUiHandler extends MessageUiHandler { public readonly eventTarget: EventTarget = new EventTarget(); constructor() { - super(Mode.EGG_HATCH_SUMMARY); + super(UiMode.EGG_HATCH_SUMMARY); } setup() { diff --git a/src/ui/evolution-scene-handler.ts b/src/ui/evolution-scene-handler.ts index 91f3360a3d4..cea91ce4e2c 100644 --- a/src/ui/evolution-scene-handler.ts +++ b/src/ui/evolution-scene-handler.ts @@ -1,6 +1,6 @@ import MessageUiHandler from "./message-ui-handler"; import { TextStyle, addTextObject } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { Button } from "#enums/buttons"; import { globalScene } from "#app/global-scene"; @@ -12,7 +12,7 @@ export default class EvolutionSceneHandler extends MessageUiHandler { public cancelled: boolean; constructor() { - super(Mode.EVOLUTION_SCENE); + super(UiMode.EVOLUTION_SCENE); } setup() { diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index 285a1dd36cc..e0a73d62934 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -4,9 +4,9 @@ import { addTextObject, TextStyle } from "./text"; import { getTypeDamageMultiplierColor } from "#app/data/type"; import { PokemonType } from "#enums/pokemon-type"; import { Command } from "./command-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; -import { getLocalizedSpriteKey, fixedInt, padInt } from "#app/utils"; +import { getLocalizedSpriteKey, fixedInt, padInt } from "#app/utils/common"; import { MoveCategory } from "#enums/MoveCategory"; import i18next from "i18next"; import { Button } from "#enums/buttons"; @@ -37,7 +37,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { protected cursor2 = 0; constructor() { - super(Mode.FIGHT); + super(UiMode.FIGHT); } setup() { @@ -156,7 +156,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { // Cannot back out of fight menu if skipToFightInput is enabled const { battleType, mysteryEncounter } = globalScene.currentBattle; if (battleType !== BattleType.MYSTERY_ENCOUNTER || !mysteryEncounter?.skipToFightInput) { - ui.setMode(Mode.COMMAND, this.fieldIndex); + ui.setMode(UiMode.COMMAND, this.fieldIndex); success = true; } } @@ -308,7 +308,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { !opponent.battleData?.abilityRevealed, undefined, undefined, - true + true, ); if (effectiveness === undefined) { return undefined; @@ -353,7 +353,14 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { const moveColors = opponents .map(opponent => - opponent.getMoveEffectiveness(pokemon, pokemonMove.getMove(), !opponent.battleData.abilityRevealed, undefined, undefined, true), + opponent.getMoveEffectiveness( + pokemon, + pokemonMove.getMove(), + !opponent.battleData.abilityRevealed, + undefined, + undefined, + true, + ), ) .sort((a, b) => b - a) .map(effectiveness => getTypeDamageMultiplierColor(effectiveness ?? 0, "offense")); diff --git a/src/ui/filter-text.ts b/src/ui/filter-text.ts index a6b01ba39e6..8b13b76db31 100644 --- a/src/ui/filter-text.ts +++ b/src/ui/filter-text.ts @@ -5,7 +5,7 @@ import { addWindow, WindowVariant } from "./ui-theme"; import i18next from "i18next"; import type AwaitableUiHandler from "./awaitable-ui-handler"; import type UI from "./ui"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { globalScene } from "#app/global-scene"; export enum FilterTextRow { @@ -154,7 +154,7 @@ export class FilterText extends Phaser.GameObjects.Container { this.onChange; }, ]; - ui.setOverlayMode(Mode.POKEDEX_SCAN, buttonAction, prefilledText, index); + ui.setOverlayMode(UiMode.POKEDEX_SCAN, buttonAction, prefilledText, index); } setCursor(cursor: number): void { diff --git a/src/ui/form-modal-ui-handler.ts b/src/ui/form-modal-ui-handler.ts index e27b2e9ed89..e8e67d591d5 100644 --- a/src/ui/form-modal-ui-handler.ts +++ b/src/ui/form-modal-ui-handler.ts @@ -1,10 +1,10 @@ import type { ModalConfig } from "./modal-ui-handler"; import { ModalUiHandler } from "./modal-ui-handler"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; import { TextStyle, addTextInputObject, addTextObject } from "./text"; import { WindowVariant, addWindow } from "./ui-theme"; import type InputText from "phaser3-rex-plugins/plugins/inputtext"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import { Button } from "#enums/buttons"; import { globalScene } from "#app/global-scene"; @@ -21,7 +21,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler { protected tween: Phaser.Tweens.Tween; protected formLabels: Phaser.GameObjects.Text[]; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.editing = false; diff --git a/src/ui/game-stats-ui-handler.ts b/src/ui/game-stats-ui-handler.ts index 2e2112dfda4..dc184a34866 100644 --- a/src/ui/game-stats-ui-handler.ts +++ b/src/ui/game-stats-ui-handler.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { TextStyle, addTextObject } from "#app/ui/text"; -import type { Mode } from "#app/ui/ui"; +import type { UiMode } from "#enums/ui-mode"; import UiHandler from "#app/ui/ui-handler"; import { addWindow } from "#app/ui/ui-theme"; -import { getPlayTimeString, formatFancyLargeNumber, toReadableString } from "#app/utils"; +import { getPlayTimeString, formatFancyLargeNumber, toReadableString } from "#app/utils/common"; import type { GameData } from "#app/system/game-data"; import { DexAttr } from "#app/system/game-data"; import { speciesStarterCosts } from "#app/data/balance/starters"; @@ -223,7 +223,7 @@ export default class GameStatsUiHandler extends UiHandler { private arrowUp: Phaser.GameObjects.Sprite; private arrowDown: Phaser.GameObjects.Sprite; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.statLabels = []; diff --git a/src/ui/loading-modal-ui-handler.ts b/src/ui/loading-modal-ui-handler.ts index 9626276245d..13dffe5614c 100644 --- a/src/ui/loading-modal-ui-handler.ts +++ b/src/ui/loading-modal-ui-handler.ts @@ -1,10 +1,10 @@ import i18next from "i18next"; import { ModalUiHandler } from "./modal-ui-handler"; import { addTextObject, TextStyle } from "./text"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; export default class LoadingModalUiHandler extends ModalUiHandler { - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } diff --git a/src/ui/login-form-ui-handler.ts b/src/ui/login-form-ui-handler.ts index 5c009357443..2dfab9c0c40 100644 --- a/src/ui/login-form-ui-handler.ts +++ b/src/ui/login-form-ui-handler.ts @@ -1,8 +1,8 @@ import type { InputFieldConfig } from "./form-modal-ui-handler"; import { FormModalUiHandler } from "./form-modal-ui-handler"; import type { ModalConfig } from "./modal-ui-handler"; -import { fixedInt } from "#app/utils"; -import { Mode } from "./ui"; +import { fixedInt } from "#app/utils/common"; +import { UiMode } from "#enums/ui-mode"; import i18next from "i18next"; import { addTextObject, TextStyle } from "./text"; import { addWindow } from "./ui-theme"; @@ -34,7 +34,7 @@ export default class LoginFormUiHandler extends FormModalUiHandler { private infoContainer: Phaser.GameObjects.Container; private externalPartyBg: Phaser.GameObjects.NineSlice; private externalPartyTitle: Phaser.GameObjects.Text; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } @@ -146,9 +146,9 @@ export default class LoginFormUiHandler extends FormModalUiHandler { // Prevent overlapping overrides on action modification this.submitAction = originalLoginAction; this.sanitizeInputs(); - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); const onFail = error => { - globalScene.ui.setMode(Mode.LOGIN_FORM, Object.assign(config, { errorMessage: error?.trim() })); + globalScene.ui.setMode(UiMode.LOGIN_FORM, Object.assign(config, { errorMessage: error?.trim() })); globalScene.ui.playError(); }; if (!this.inputs[0].text) { @@ -215,8 +215,8 @@ export default class LoginFormUiHandler extends FormModalUiHandler { }); const onFail = error => { - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); - globalScene.ui.setModeForceTransition(Mode.LOGIN_FORM, Object.assign(config, { errorMessage: error?.trim() })); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); + globalScene.ui.setModeForceTransition(UiMode.LOGIN_FORM, Object.assign(config, { errorMessage: error?.trim() })); globalScene.ui.playError(); }; @@ -236,7 +236,7 @@ export default class LoginFormUiHandler extends FormModalUiHandler { }, }); } - globalScene.ui.setOverlayMode(Mode.OPTION_SELECT, { + globalScene.ui.setOverlayMode(UiMode.OPTION_SELECT, { options: options, delay: 1000, }); diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index 241ddbb91a8..7f0cd4d6a78 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -1,8 +1,10 @@ -import { bypassLogin } from "#app/battle-scene"; +import { bypassLogin } from "#app/global-vars/bypass-login"; import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject, getTextStyleOptions } from "./text"; -import { Mode } from "./ui"; -import { getEnumKeys, isLocal, isBeta, fixedInt, getCookie, sessionIdKey } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { getEnumKeys, isLocal, fixedInt, sessionIdKey } from "#app/utils/common"; +import { isBeta } from "#app/utils/utility-vars"; +import { getCookie } from "#app/utils/cookies"; import { addWindow, WindowVariant } from "./ui-theme"; import MessageUiHandler from "./message-ui-handler"; import type { OptionSelectConfig, OptionSelectItem } from "./abstact-option-select-ui-handler"; @@ -64,12 +66,12 @@ export default class MenuUiHandler extends MessageUiHandler { public bgmBar: BgmBar; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.excludedMenus = () => [ { - condition: [Mode.COMMAND, Mode.TITLE].includes(mode ?? Mode.TITLE), + condition: [UiMode.COMMAND, UiMode.TITLE].includes(mode ?? UiMode.TITLE), options: [MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST], }, { condition: bypassLogin, options: [MenuOptions.LOG_OUT] }, @@ -234,7 +236,7 @@ export default class MenuUiHandler extends MessageUiHandler { ]), xOffset: 98, }; - ui.setOverlayMode(Mode.MENU_OPTION_SELECT, config); + ui.setOverlayMode(UiMode.MENU_OPTION_SELECT, config); }); }; @@ -377,7 +379,7 @@ export default class MenuUiHandler extends MessageUiHandler { ui.revertMode(); }, ]; - ui.setMode(Mode.TEST_DIALOGUE, buttonAction, prefilledText); + ui.setMode(UiMode.TEST_DIALOGUE, buttonAction, prefilledText); return true; }, keepOpen: true, @@ -456,7 +458,7 @@ export default class MenuUiHandler extends MessageUiHandler { handler: () => { ui.playSelect(); ui.setOverlayMode( - Mode.ADMIN, + UiMode.ADMIN, { buttonActions: [ // we double revert here and below to go back 2 layers of menus @@ -483,7 +485,7 @@ export default class MenuUiHandler extends MessageUiHandler { return true; }, }); - globalScene.ui.setOverlayMode(Mode.OPTION_SELECT, { + globalScene.ui.setOverlayMode(UiMode.OPTION_SELECT, { options: options, delay: 0, }); @@ -557,21 +559,21 @@ export default class MenuUiHandler extends MessageUiHandler { this.showText("", 0); switch (adjustedCursor) { case MenuOptions.GAME_SETTINGS: - ui.setOverlayMode(Mode.SETTINGS); + ui.setOverlayMode(UiMode.SETTINGS); success = true; break; case MenuOptions.ACHIEVEMENTS: - ui.setOverlayMode(Mode.ACHIEVEMENTS); + ui.setOverlayMode(UiMode.ACHIEVEMENTS); success = true; break; case MenuOptions.STATS: - ui.setOverlayMode(Mode.GAME_STATS); + ui.setOverlayMode(UiMode.GAME_STATS); success = true; break; case MenuOptions.EGG_LIST: if (globalScene.gameData.eggs.length) { ui.revertMode(); - ui.setOverlayMode(Mode.EGG_LIST); + ui.setOverlayMode(UiMode.EGG_LIST); success = true; } else { ui.showText(i18next.t("menuUiHandler:noEggs"), null, () => ui.showText(""), fixedInt(1500)); @@ -580,12 +582,12 @@ export default class MenuUiHandler extends MessageUiHandler { break; case MenuOptions.EGG_GACHA: ui.revertMode(); - ui.setOverlayMode(Mode.EGG_GACHA); + ui.setOverlayMode(UiMode.EGG_GACHA); success = true; break; case MenuOptions.POKEDEX: ui.revertMode(); - ui.setOverlayMode(Mode.POKEDEX); + ui.setOverlayMode(UiMode.POKEDEX); success = true; break; case MenuOptions.MANAGE_DATA: @@ -642,18 +644,18 @@ export default class MenuUiHandler extends MessageUiHandler { }, ); } - ui.setOverlayMode(Mode.MENU_OPTION_SELECT, this.manageDataConfig); + ui.setOverlayMode(UiMode.MENU_OPTION_SELECT, this.manageDataConfig); success = true; break; case MenuOptions.COMMUNITY: - ui.setOverlayMode(Mode.MENU_OPTION_SELECT, this.communityConfig); + ui.setOverlayMode(UiMode.MENU_OPTION_SELECT, this.communityConfig); success = true; break; case MenuOptions.SAVE_AND_QUIT: if (globalScene.currentBattle) { success = true; const doSaveQuit = () => { - ui.setMode(Mode.LOADING, { + ui.setMode(UiMode.LOADING, { buttonActions: [], fadeOut: () => globalScene.gameData.saveAll(true, true, true, true).then(() => { @@ -668,7 +670,7 @@ export default class MenuUiHandler extends MessageUiHandler { return; } ui.setOverlayMode( - Mode.CONFIRM, + UiMode.CONFIRM, doSaveQuit, () => { ui.revertMode(); @@ -688,7 +690,7 @@ export default class MenuUiHandler extends MessageUiHandler { case MenuOptions.LOG_OUT: success = true; const doLogout = () => { - ui.setMode(Mode.LOADING, { + ui.setMode(UiMode.LOADING, { buttonActions: [], fadeOut: () => pokerogueApi.account.logout().then(() => { @@ -703,7 +705,7 @@ export default class MenuUiHandler extends MessageUiHandler { return; } ui.setOverlayMode( - Mode.CONFIRM, + UiMode.CONFIRM, doLogout, () => { ui.revertMode(); @@ -722,7 +724,7 @@ export default class MenuUiHandler extends MessageUiHandler { success = true; ui.revertMode().then(result => { if (!result) { - ui.setMode(Mode.MESSAGE); + ui.setMode(UiMode.MESSAGE); } }); } else { diff --git a/src/ui/message-ui-handler.ts b/src/ui/message-ui-handler.ts index b57b236531c..efa53b63808 100644 --- a/src/ui/message-ui-handler.ts +++ b/src/ui/message-ui-handler.ts @@ -1,6 +1,6 @@ import AwaitableUiHandler from "./awaitable-ui-handler"; -import type { Mode } from "./ui"; -import { getFrameMs } from "#app/utils"; +import type { UiMode } from "#enums/ui-mode"; +import { getFrameMs } from "#app/utils/common"; import { globalScene } from "#app/global-scene"; export default abstract class MessageUiHandler extends AwaitableUiHandler { @@ -11,7 +11,7 @@ export default abstract class MessageUiHandler extends AwaitableUiHandler { public message: Phaser.GameObjects.Text; public prompt: Phaser.GameObjects.Sprite; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.pendingPrompt = false; diff --git a/src/ui/modal-ui-handler.ts b/src/ui/modal-ui-handler.ts index b7dbbeb202d..a3b94296d3f 100644 --- a/src/ui/modal-ui-handler.ts +++ b/src/ui/modal-ui-handler.ts @@ -1,5 +1,5 @@ import { TextStyle, addTextObject } from "./text"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { WindowVariant, addWindow } from "./ui-theme"; import type { Button } from "#enums/buttons"; @@ -17,7 +17,7 @@ export abstract class ModalUiHandler extends UiHandler { protected buttonBgs: Phaser.GameObjects.NineSlice[]; protected buttonLabels: Phaser.GameObjects.Text[]; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.buttonContainers = []; diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index 26351d4dbf1..9ba54491175 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -4,13 +4,13 @@ import { getPlayerShopModifierTypeOptionsForWave, TmModifierType } from "../modi import { getPokeballAtlasKey } from "#app/data/pokeball"; import { addTextObject, getTextStyleOptions, getModifierTierTextTint, getTextColor, TextStyle } from "./text"; import AwaitableUiHandler from "./awaitable-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { LockModifierTiersModifier, PokemonHeldItemModifier, HealShopCostModifier } from "../modifier/modifier"; import { handleTutorial, Tutorial } from "../tutorial"; import { Button } from "#enums/buttons"; import MoveInfoOverlay from "./move-info-overlay"; import { allMoves } from "../data/moves/move"; -import { formatMoney, NumberHolder } from "#app/utils"; +import { formatMoney, NumberHolder } from "#app/utils/common"; import Overrides from "#app/overrides"; import i18next from "i18next"; import { ShopCursorTarget } from "#app/enums/shop-cursor-target"; @@ -50,7 +50,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler { private cursorObj: Phaser.GameObjects.Image | null; constructor() { - super(Mode.CONFIRM); + super(UiMode.CONFIRM); this.options = []; this.shopOptionsRows = []; diff --git a/src/ui/move-info-overlay.ts b/src/ui/move-info-overlay.ts index bd9fdf00c72..2b230d609fd 100644 --- a/src/ui/move-info-overlay.ts +++ b/src/ui/move-info-overlay.ts @@ -2,7 +2,7 @@ import type { InfoToggle } from "#app/battle-scene"; import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject } from "./text"; import { addWindow } from "./ui-theme"; -import { getLocalizedSpriteKey, fixedInt } from "#app/utils"; +import { getLocalizedSpriteKey, fixedInt } from "#app/utils/common"; import type Move from "../data/moves/move"; import { MoveCategory } from "#enums/MoveCategory"; import { PokemonType } from "#enums/pokemon-type"; diff --git a/src/ui/mystery-encounter-ui-handler.ts b/src/ui/mystery-encounter-ui-handler.ts index 2bf05302c55..0866ed8788e 100644 --- a/src/ui/mystery-encounter-ui-handler.ts +++ b/src/ui/mystery-encounter-ui-handler.ts @@ -1,12 +1,12 @@ import { addBBCodeTextObject, getBBCodeFrag, TextStyle } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; import { Button } from "#enums/buttons"; import { addWindow, WindowVariant } from "./ui-theme"; import type { MysteryEncounterPhase } from "../phases/mystery-encounter-phases"; import { PartyUiMode } from "./party-ui-handler"; import type MysteryEncounterOption from "#app/data/mystery-encounters/mystery-encounter-option"; -import { fixedInt, isNullOrUndefined } from "#app/utils"; +import { fixedInt, isNullOrUndefined } from "#app/utils/common"; import { getPokeballAtlasKey } from "../data/pokeball"; import type { OptionSelectSettings } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; @@ -47,7 +47,7 @@ export default class MysteryEncounterUiHandler extends UiHandler { protected blockInput = true; constructor() { - super(Mode.MYSTERY_ENCOUNTER); + super(UiMode.MYSTERY_ENCOUNTER); } override setup() { @@ -141,8 +141,8 @@ export default class MysteryEncounterUiHandler extends UiHandler { ...this.overrideSettings, slideInDescription: false, }; - globalScene.ui.setMode(Mode.PARTY, PartyUiMode.CHECK, -1, () => { - globalScene.ui.setMode(Mode.MYSTERY_ENCOUNTER, overrideSettings); + globalScene.ui.setMode(UiMode.PARTY, PartyUiMode.CHECK, -1, () => { + globalScene.ui.setMode(UiMode.MYSTERY_ENCOUNTER, overrideSettings); setTimeout(() => { this.setCursor(this.viewPartyIndex); this.unblockInput(); diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index ba90108c274..7c3689e757c 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -4,8 +4,8 @@ import { MoveResult } from "#app/field/pokemon"; import { addBBCodeTextObject, addTextObject, getTextColor, TextStyle } from "#app/ui/text"; import { Command } from "#app/ui/command-ui-handler"; import MessageUiHandler from "#app/ui/message-ui-handler"; -import { Mode } from "#app/ui/ui"; -import { BooleanHolder, toReadableString, randInt, getLocalizedSpriteKey } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { BooleanHolder, toReadableString, randInt, getLocalizedSpriteKey } from "#app/utils/common"; import { PokemonFormChangeItemModifier, PokemonHeldItemModifier, @@ -252,7 +252,7 @@ export default class PartyUiHandler extends MessageUiHandler { ]; constructor() { - super(Mode.PARTY); + super(UiMode.PARTY); } setup() { @@ -556,7 +556,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.showText(filterResult as string, undefined, () => this.showText("", 0), undefined, true); } else if (option === PartyOption.SUMMARY) { ui.playSelect(); - ui.setModeWithoutClear(Mode.SUMMARY, pokemon).then(() => this.clearOptions()); + ui.setModeWithoutClear(UiMode.SUMMARY, pokemon).then(() => this.clearOptions()); return true; } else if (option === PartyOption.POKEDEX) { ui.playSelect(); @@ -566,7 +566,7 @@ export default class PartyUiHandler extends MessageUiHandler { form: pokemon.formIndex, female: pokemon.gender === Gender.FEMALE, }; - ui.setOverlayMode(Mode.POKEDEX_PAGE, pokemon.species, attributes).then(() => this.clearOptions()); + ui.setOverlayMode(UiMode.POKEDEX_PAGE, pokemon.species, attributes).then(() => this.clearOptions()); return true; } else if (option === PartyOption.UNPAUSE_EVOLUTION) { this.clearOptions(); @@ -593,13 +593,13 @@ export default class PartyUiHandler extends MessageUiHandler { null, () => { ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { const fusionName = pokemon.getName(); pokemon.unfuse().then(() => { this.clearPartySlots(); this.populatePartySlots(); - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); this.showText( i18next.t("partyUiHandler:wasReverted", { fusionName: fusionName, @@ -607,7 +607,7 @@ export default class PartyUiHandler extends MessageUiHandler { }), undefined, () => { - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); this.showText("", 0); }, null, @@ -616,7 +616,7 @@ export default class PartyUiHandler extends MessageUiHandler { }); }, () => { - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); this.showText("", 0); }, ); @@ -635,13 +635,13 @@ export default class PartyUiHandler extends MessageUiHandler { () => { this.blockInput = false; ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); this.doRelease(this.cursor); }, () => { - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); this.showText("", 0); }, ); @@ -655,7 +655,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.clearOptions(); ui.playSelect(); ui.setModeWithoutClear( - Mode.RENAME_POKEMON, + UiMode.RENAME_POKEMON, { buttonActions: [ (nickname: string) => { @@ -664,10 +664,10 @@ export default class PartyUiHandler extends MessageUiHandler { pokemon.updateInfo(); this.clearPartySlots(); this.populatePartySlots(); - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); }, () => { - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); }, ], }, @@ -788,7 +788,7 @@ export default class PartyUiHandler extends MessageUiHandler { selectCallback(6, PartyOption.CANCEL); ui.playSelect(); } else { - ui.setMode(Mode.COMMAND, this.fieldIndex); + ui.setMode(UiMode.COMMAND, this.fieldIndex); ui.playSelect(); } } diff --git a/src/ui/pokedex-info-overlay.ts b/src/ui/pokedex-info-overlay.ts index 43e9bbc1a65..2e889f6d2a9 100644 --- a/src/ui/pokedex-info-overlay.ts +++ b/src/ui/pokedex-info-overlay.ts @@ -1,7 +1,7 @@ import type { InfoToggle } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { addWindow } from "./ui-theme"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; diff --git a/src/ui/pokedex-mon-container.ts b/src/ui/pokedex-mon-container.ts index 410effda40d..da79320850d 100644 --- a/src/ui/pokedex-mon-container.ts +++ b/src/ui/pokedex-mon-container.ts @@ -1,6 +1,6 @@ import type { Variant } from "#app/sprites/variant"; import { globalScene } from "#app/global-scene"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import type PokemonSpecies from "../data/pokemon-species"; import { addTextObject, TextStyle } from "./text"; diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 3f8959c6219..d0b85544494 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -4,7 +4,7 @@ import type { Variant } from "#app/sprites/variant"; import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; -import { starterColors } from "#app/battle-scene"; +import { starterColors } from "#app/global-vars/starter-colors"; import { allAbilities } from "#app/data/data-lists"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; @@ -26,7 +26,7 @@ import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler" import MessageUiHandler from "#app/ui/message-ui-handler"; import { StatsContainer } from "#app/ui/stats-container"; import { TextStyle, addBBCodeTextObject, addTextObject, getTextColor, getTextStyleOptions } from "#app/ui/text"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { addWindow } from "#app/ui/ui-theme"; import { Egg } from "#app/data/egg"; import Overrides from "#app/overrides"; @@ -52,9 +52,9 @@ import { padInt, rgbHexToRgba, toReadableString, -} from "#app/utils"; +} from "#app/utils/common"; import type { Nature } from "#enums/nature"; -import { getEnumKeys } from "#app/utils"; +import { getEnumKeys } from "#app/utils/common"; import { speciesTmMoves } from "#app/data/balance/tms"; import type { BiomeTierTod } from "#app/data/balance/biomes"; import { BiomePoolTier, catchableSpecies } from "#app/data/balance/biomes"; @@ -265,7 +265,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { private exitCallback; constructor() { - super(Mode.POKEDEX_PAGE); + super(UiMode.POKEDEX_PAGE); } setup() { @@ -1140,12 +1140,12 @@ export default class PokedexPageUiHandler extends MessageUiHandler { success = true; } else if (this.previousSpecies.length > 0) { this.blockInput = true; - ui.setModeWithoutClear(Mode.OPTION_SELECT).then(() => { + ui.setModeWithoutClear(UiMode.OPTION_SELECT).then(() => { const species = this.previousSpecies.pop(); const starterAttributes = this.previousStarterAttributes.pop(); this.moveInfoOverlay.clear(); this.clearText(); - ui.setModeForceTransition(Mode.POKEDEX_PAGE, species, starterAttributes); + ui.setModeForceTransition(UiMode.POKEDEX_PAGE, species, starterAttributes); success = true; }); this.blockInput = false; @@ -1173,7 +1173,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { ui.showText(i18next.t("pokedexUiHandler:showBaseStats"), null, () => { this.baseStatsOverlay.show(this.baseStats, this.baseTotal); @@ -1193,11 +1193,11 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { ui.showText(i18next.t("pokedexUiHandler:showLevelMoves"), null, () => { this.moveInfoOverlay.show(allMoves[this.levelMoves[0][1]]); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: this.levelMoves .map(m => { const levelNumber = m[0] > 0 ? String(m[0]) : ""; @@ -1226,7 +1226,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { handler: () => { this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, onHover: () => { @@ -1251,7 +1251,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { if (this.eggMoves.length === 0) { ui.showText(i18next.t("pokedexUiHandler:noEggMoves")); this.blockInput = false; @@ -1261,7 +1261,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { ui.showText(i18next.t("pokedexUiHandler:showEggMoves"), null, () => { this.moveInfoOverlay.show(allMoves[this.eggMoves[0]]); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: [ { label: i18next.t("pokedexUiHandler:common"), @@ -1294,7 +1294,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { handler: () => { this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, onHover: () => this.moveInfoOverlay.clear(), @@ -1321,11 +1321,11 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { ui.showText(i18next.t("pokedexUiHandler:showTmMoves"), null, () => { this.moveInfoOverlay.show(allMoves[this.tmMoves[0]]); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: this.tmMoves .map(m => { const option: OptionSelectItem = { @@ -1344,7 +1344,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { handler: () => { this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, onHover: () => { @@ -1369,7 +1369,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { ui.showText(i18next.t("pokedexUiHandler:showAbilities"), null, () => { this.infoOverlay.show(allAbilities[this.ability1].description); @@ -1431,13 +1431,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { handler: () => { this.infoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, onHover: () => this.infoOverlay.clear(), }); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: options, supportHover: true, maxOptions: 8, @@ -1457,7 +1457,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { if ((!this.biomes || this.biomes?.length === 0) && (!this.preBiomes || this.preBiomes?.length === 0)) { ui.showText(i18next.t("pokedexUiHandler:noBiomes")); ui.playError(); @@ -1510,13 +1510,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { handler: () => { this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, onHover: () => this.moveInfoOverlay.clear(), }); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: options, supportHover: true, maxOptions: 8, @@ -1536,7 +1536,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { const options: any[] = []; if ( @@ -1589,7 +1589,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.savedStarterAttributes.form = newFormIndex; this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, newSpecies, this.savedStarterAttributes); + ui.setMode(UiMode.POKEDEX_PAGE, newSpecies, this.savedStarterAttributes); return true; }, onHover: () => this.showText(conditionText), @@ -1631,7 +1631,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.savedStarterAttributes.form = newFormIndex; this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, evoSpecies, this.savedStarterAttributes); + ui.setMode(UiMode.POKEDEX_PAGE, evoSpecies, this.savedStarterAttributes); return true; }, onHover: () => this.showText(conditionText), @@ -1676,7 +1676,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.moveInfoOverlay.clear(); this.clearText(); ui.setMode( - Mode.POKEDEX_PAGE, + UiMode.POKEDEX_PAGE, newSpecies, this.savedStarterAttributes, this.filteredIndices, @@ -1694,13 +1694,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { handler: () => { this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, onHover: () => this.moveInfoOverlay.clear(), }); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: options, supportHover: true, maxOptions: 8, @@ -1719,7 +1719,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { error = true; } else { this.toggleStatsMode(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); success = true; } break; @@ -1729,10 +1729,10 @@ export default class PokedexPageUiHandler extends MessageUiHandler { error = true; } else { this.blockInput = true; - ui.setMode(Mode.POKEDEX_PAGE, "refresh").then(() => { + ui.setMode(UiMode.POKEDEX_PAGE, "refresh").then(() => { ui.showText(i18next.t("pokedexUiHandler:showNature"), null, () => { const natures = globalScene.gameData.getNaturesForAttr(this.speciesStarterDexEntry?.natureAttr); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: natures .map((n: Nature, _i: number) => { const option: OptionSelectItem = { @@ -1747,7 +1747,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { label: i18next.t("menu:cancel"), handler: () => { this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); this.blockInput = false; return true; }, @@ -1897,7 +1897,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { }); this.setSpeciesDetails(this.species); globalScene.playSound("se/buy"); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; } @@ -1927,7 +1927,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return globalScene.reset(true); } }); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); globalScene.playSound("se/buy"); return true; @@ -1976,7 +1976,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return globalScene.reset(true); } }); - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); globalScene.playSound("se/buy"); return true; @@ -1990,11 +1990,11 @@ export default class PokedexPageUiHandler extends MessageUiHandler { options.push({ label: i18next.t("menu:cancel"), handler: () => { - ui.setMode(Mode.POKEDEX_PAGE, "refresh"); + ui.setMode(UiMode.POKEDEX_PAGE, "refresh"); return true; }, }); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: options, yOffset: 47, }); @@ -2032,7 +2032,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return true; } this.blockInput = true; - ui.setModeWithoutClear(Mode.OPTION_SELECT).then(() => { + ui.setModeWithoutClear(UiMode.OPTION_SELECT).then(() => { // Always go back to first selection after scrolling around if (this.previousSpecies.length === 0) { this.previousSpecies.push(this.species); @@ -2057,7 +2057,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.moveInfoOverlay.clear(); this.clearText(); ui.setModeForceTransition( - Mode.POKEDEX_PAGE, + UiMode.POKEDEX_PAGE, newSpecies, this.savedStarterAttributes, this.filteredIndices, @@ -2071,7 +2071,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.blockInput = false; return true; } - ui.setModeWithoutClear(Mode.OPTION_SELECT).then(() => { + ui.setModeWithoutClear(UiMode.OPTION_SELECT).then(() => { // Always go back to first selection after scrolling around if (this.previousSpecies.length === 0) { this.previousSpecies.push(this.species); @@ -2096,7 +2096,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.moveInfoOverlay.clear(); this.clearText(); ui.setModeForceTransition( - Mode.POKEDEX_PAGE, + UiMode.POKEDEX_PAGE, newSpecies, this.savedStarterAttributes, this.filteredIndices, diff --git a/src/ui/pokedex-scan-ui-handler.ts b/src/ui/pokedex-scan-ui-handler.ts index 171040f6f12..45092d461a3 100644 --- a/src/ui/pokedex-scan-ui-handler.ts +++ b/src/ui/pokedex-scan-ui-handler.ts @@ -3,8 +3,8 @@ import { FormModalUiHandler } from "./form-modal-ui-handler"; import type { ModalConfig } from "./modal-ui-handler"; import type { PlayerPokemon } from "#app/field/pokemon"; import type { OptionSelectItem } from "./abstact-option-select-ui-handler"; -import { isNullOrUndefined } from "#app/utils"; -import { Mode } from "./ui"; +import { isNullOrUndefined } from "#app/utils/common"; +import { UiMode } from "#enums/ui-mode"; import { FilterTextRow } from "./filter-text"; import { allAbilities } from "#app/data/data-lists"; import { allMoves } from "#app/data/moves/move"; @@ -115,7 +115,7 @@ export default class PokedexScanUiHandler extends FormModalUiHandler { input.on("keydown", (inputObject, evt: KeyboardEvent) => { if ( ["escape", "space"].some(v => v === evt.key.toLowerCase() || v === evt.code.toLowerCase()) && - ui.getMode() === Mode.AUTO_COMPLETE + ui.getMode() === UiMode.AUTO_COMPLETE ) { // Delete autocomplete list and recovery focus. inputObject.on("blur", () => inputObject.node.focus(), { once: true }); @@ -125,7 +125,7 @@ export default class PokedexScanUiHandler extends FormModalUiHandler { input.on("textchange", (inputObject, evt: InputEvent) => { // Delete autocomplete. - if (ui.getMode() === Mode.AUTO_COMPLETE) { + if (ui.getMode() === UiMode.AUTO_COMPLETE) { ui.revertMode(); } @@ -154,7 +154,7 @@ export default class PokedexScanUiHandler extends FormModalUiHandler { maxOptions: 5, modalContainer: this.modalContainer, }; - ui.setOverlayMode(Mode.AUTO_COMPLETE, modalOpts); + ui.setOverlayMode(UiMode.AUTO_COMPLETE, modalOpts); } }); @@ -168,7 +168,7 @@ export default class PokedexScanUiHandler extends FormModalUiHandler { this.inputs[0].text = args[1]; } this.submitAction = _ => { - if (ui.getMode() === Mode.POKEDEX_SCAN) { + if (ui.getMode() === UiMode.POKEDEX_SCAN) { this.sanitizeInputs(); const outputName = this.reducedKeys.includes(this.inputs[0].text) ? this.inputs[0].text : ""; const sanitizedName = btoa(unescape(encodeURIComponent(outputName))); diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index 5fd3ca3e379..e9726031bf5 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -2,7 +2,7 @@ import type { Variant } from "#app/sprites/variant"; import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; -import { starterColors } from "#app/battle-scene"; +import { starterColors } from "#app/global-vars/starter-colors"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { pokemonFormLevelMoves, pokemonSpeciesLevelMoves } from "#app/data/balance/pokemon-level-moves"; import type { PokemonForm } from "#app/data/pokemon-species"; @@ -16,7 +16,7 @@ import { AbilityAttr, DexAttr, loadStarterPreferences } from "#app/system/game-d import MessageUiHandler from "#app/ui/message-ui-handler"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "#app/ui/pokemon-icon-anim-handler"; import { TextStyle, addTextObject } from "#app/ui/text"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { Passive as PassiveAttr } from "#enums/passive"; import type { Species } from "#enums/species"; @@ -31,7 +31,7 @@ import { getValueReductionCandyCounts, getSameSpeciesEggCandyCounts, } from "#app/data/balance/starters"; -import { BooleanHolder, fixedInt, getLocalizedSpriteKey, padInt, randIntRange, rgbHexToRgba } from "#app/utils"; +import { BooleanHolder, fixedInt, getLocalizedSpriteKey, padInt, randIntRange, rgbHexToRgba } from "#app/utils/common"; import type { Nature } from "#enums/nature"; import { addWindow } from "./ui-theme"; import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; @@ -231,7 +231,7 @@ export default class PokedexUiHandler extends MessageUiHandler { private filteredIndices: Species[]; constructor() { - super(Mode.POKEDEX); + super(UiMode.POKEDEX); } setup() { @@ -1133,7 +1133,7 @@ export default class PokedexUiHandler extends MessageUiHandler { } else if (this.showingTray) { if (button === Button.ACTION) { const formIndex = this.trayForms[this.trayCursor].formIndex; - ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, { form: formIndex }, this.filteredIndices); + ui.setOverlayMode(UiMode.POKEDEX_PAGE, this.lastSpecies, { form: formIndex }, this.filteredIndices); success = true; } else { const numberOfForms = this.trayContainers.length; @@ -1182,7 +1182,7 @@ export default class PokedexUiHandler extends MessageUiHandler { } } else { if (button === Button.ACTION) { - ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, null, this.filteredIndices); + ui.setOverlayMode(UiMode.POKEDEX_PAGE, this.lastSpecies, null, this.filteredIndices); success = true; } else { switch (button) { @@ -2268,15 +2268,15 @@ export default class PokedexUiHandler extends MessageUiHandler { const ui = this.getUi(); const cancel = () => { - ui.setMode(Mode.POKEDEX, "refresh"); + ui.setMode(UiMode.POKEDEX, "refresh"); this.clearText(); this.blockInput = false; }; ui.showText(i18next.t("pokedexUiHandler:confirmExit"), null, () => { ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { - ui.setMode(Mode.POKEDEX, "refresh"); + ui.setMode(UiMode.POKEDEX, "refresh"); this.clearText(); this.clear(); ui.revertMode(); diff --git a/src/ui/pokemon-hatch-info-container.ts b/src/ui/pokemon-hatch-info-container.ts index 692f0f1d374..f3095cb48bf 100644 --- a/src/ui/pokemon-hatch-info-container.ts +++ b/src/ui/pokemon-hatch-info-container.ts @@ -1,13 +1,13 @@ import PokemonInfoContainer from "#app/ui/pokemon-info-container"; import { Gender } from "#app/data/gender"; import { PokemonType } from "#enums/pokemon-type"; -import { rgbHexToRgba, padInt } from "#app/utils"; +import { rgbHexToRgba, padInt } from "#app/utils/common"; import { TextStyle, addTextObject } from "#app/ui/text"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { allMoves } from "#app/data/moves/move"; import { Species } from "#enums/species"; import { getEggTierForSpecies } from "#app/data/egg"; -import { starterColors } from "#app/battle-scene"; +import { starterColors } from "#app/global-vars/starter-colors"; import { globalScene } from "#app/global-scene"; import { argbFromRgba } from "@material/material-color-utilities"; import type { EggHatchData } from "#app/data/egg-hatch-data"; diff --git a/src/ui/pokemon-icon-anim-handler.ts b/src/ui/pokemon-icon-anim-handler.ts index b6944c0fd84..253ccbe3623 100644 --- a/src/ui/pokemon-icon-anim-handler.ts +++ b/src/ui/pokemon-icon-anim-handler.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; export enum PokemonIconAnimMode { NONE, diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 0ccece46ab9..18b5d2384ef 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -8,7 +8,7 @@ import type Pokemon from "../field/pokemon"; import i18next from "i18next"; import type { DexEntry, StarterDataEntry } from "../system/game-data"; import { DexAttr } from "../system/game-data"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import ConfirmUiHandler from "./confirm-ui-handler"; import { StatsContainer } from "./stats-container"; import { TextStyle, addBBCodeTextObject, addTextObject, getTextColor } from "./text"; diff --git a/src/ui/registration-form-ui-handler.ts b/src/ui/registration-form-ui-handler.ts index 74669bc1f44..bb10efc5869 100644 --- a/src/ui/registration-form-ui-handler.ts +++ b/src/ui/registration-form-ui-handler.ts @@ -1,7 +1,7 @@ import type { InputFieldConfig } from "./form-modal-ui-handler"; import { FormModalUiHandler } from "./form-modal-ui-handler"; import type { ModalConfig } from "./modal-ui-handler"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { TextStyle, addTextObject } from "./text"; import i18next from "i18next"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; @@ -101,9 +101,9 @@ export default class RegistrationFormUiHandler extends FormModalUiHandler { // Prevent overlapping overrides on action modification this.submitAction = originalRegistrationAction; this.sanitizeInputs(); - globalScene.ui.setMode(Mode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); const onFail = error => { - globalScene.ui.setMode(Mode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); + globalScene.ui.setMode(UiMode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); globalScene.ui.playError(); const errorMessageFontSize = languageSettings[i18next.resolvedLanguage!]?.errorMessageFontSize; if (errorMessageFontSize) { diff --git a/src/ui/run-history-ui-handler.ts b/src/ui/run-history-ui-handler.ts index 16aad7b8634..92c5a2fde07 100644 --- a/src/ui/run-history-ui-handler.ts +++ b/src/ui/run-history-ui-handler.ts @@ -1,9 +1,9 @@ import { globalScene } from "#app/global-scene"; import { GameModes } from "../game-mode"; import { TextStyle, addTextObject } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { addWindow } from "./ui-theme"; -import { fixedInt, formatLargeNumber } from "#app/utils"; +import { fixedInt, formatLargeNumber } from "#app/utils/common"; import type PokemonData from "../system/pokemon-data"; import MessageUiHandler from "./message-ui-handler"; import i18next from "i18next"; @@ -40,7 +40,7 @@ export default class RunHistoryUiHandler extends MessageUiHandler { private runContainerInitialY: number; constructor() { - super(Mode.RUN_HISTORY); + super(UiMode.RUN_HISTORY); } override setup() { @@ -110,7 +110,7 @@ export default class RunHistoryUiHandler extends MessageUiHandler { if (button === Button.ACTION) { const cursor = this.cursor + this.scrollCursor; if (this.runs[cursor]) { - globalScene.ui.setOverlayMode(Mode.RUN_INFO, this.runs[cursor].entryData, RunDisplayMode.RUN_HISTORY, true); + globalScene.ui.setOverlayMode(UiMode.RUN_INFO, this.runs[cursor].entryData, RunDisplayMode.RUN_HISTORY, true); } else { return false; } diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 60667035147..8487533f465 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -2,10 +2,10 @@ import { GameModes } from "../game-mode"; import UiHandler from "./ui-handler"; import type { SessionSaveData } from "../system/game-data"; import { TextStyle, addTextObject, addBBCodeTextObject, getTextColor } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { addWindow } from "./ui-theme"; import { getPokeballAtlasKey } from "#app/data/pokeball"; -import { formatLargeNumber, getPlayTimeString, formatMoney, formatFancyLargeNumber } from "#app/utils"; +import { formatLargeNumber, getPlayTimeString, formatMoney, formatFancyLargeNumber } from "#app/utils/common"; import type PokemonData from "../system/pokemon-data"; import i18next from "i18next"; import { Button } from "../enums/buttons"; @@ -69,7 +69,7 @@ export default class RunInfoUiHandler extends UiHandler { private modifiersModule: any; constructor() { - super(Mode.RUN_INFO); + super(UiMode.RUN_INFO); } override async setup() { diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts index 0c16e41bbef..7b4d46203c9 100644 --- a/src/ui/save-slot-select-ui-handler.ts +++ b/src/ui/save-slot-select-ui-handler.ts @@ -6,10 +6,10 @@ import { GameMode } from "../game-mode"; import * as Modifier from "#app/modifier/modifier"; import type { SessionSaveData } from "../system/game-data"; import type PokemonData from "../system/pokemon-data"; -import { isNullOrUndefined, fixedInt, getPlayTimeString, formatLargeNumber } from "#app/utils"; +import { isNullOrUndefined, fixedInt, getPlayTimeString, formatLargeNumber } from "#app/utils/common"; import MessageUiHandler from "./message-ui-handler"; import { TextStyle, addTextObject } from "./text"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import { addWindow } from "./ui-theme"; import { RunDisplayMode } from "#app/ui/run-info-ui-handler"; @@ -40,7 +40,7 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { private sessionSlotsContainerInitialY: number; constructor() { - super(Mode.SAVE_SLOT); + super(UiMode.SAVE_SLOT); } setup() { @@ -122,13 +122,13 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { this.saveSlotSelectCallback = null; ui.revertMode(); ui.showText("", 0); - ui.setMode(Mode.MESSAGE); + ui.setMode(UiMode.MESSAGE); originalCallback?.(cursor); }; if (this.sessionSlots[cursor].hasData) { ui.showText(i18next.t("saveSlotSelectUiHandler:overwriteData"), null, () => { ui.setOverlayMode( - Mode.CONFIRM, + UiMode.CONFIRM, () => { globalScene.gameData.deleteSession(cursor).then(response => { if (response === false) { @@ -198,7 +198,7 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { case Button.RIGHT: if (this.sessionSlots[cursorPosition].hasData && this.sessionSlots[cursorPosition].saveData) { globalScene.ui.setOverlayMode( - Mode.RUN_INFO, + UiMode.RUN_INFO, this.sessionSlots[cursorPosition].saveData, RunDisplayMode.SESSION_PREVIEW, ); diff --git a/src/ui/saving-icon-handler.ts b/src/ui/saving-icon-handler.ts index 3db84f128a1..3b7db549a4a 100644 --- a/src/ui/saving-icon-handler.ts +++ b/src/ui/saving-icon-handler.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; export default class SavingIconHandler extends Phaser.GameObjects.Container { private icon: Phaser.GameObjects.Sprite; diff --git a/src/ui/session-reload-modal-ui-handler.ts b/src/ui/session-reload-modal-ui-handler.ts index d3b88da9e63..f866783afe8 100644 --- a/src/ui/session-reload-modal-ui-handler.ts +++ b/src/ui/session-reload-modal-ui-handler.ts @@ -1,10 +1,10 @@ import type { ModalConfig } from "./modal-ui-handler"; import { ModalUiHandler } from "./modal-ui-handler"; import { addTextObject, TextStyle } from "./text"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; export default class SessionReloadModalUiHandler extends ModalUiHandler { - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } diff --git a/src/ui/settings/abstract-binding-ui-handler.ts b/src/ui/settings/abstract-binding-ui-handler.ts index 62f78da89f5..a4707418b7c 100644 --- a/src/ui/settings/abstract-binding-ui-handler.ts +++ b/src/ui/settings/abstract-binding-ui-handler.ts @@ -1,5 +1,5 @@ import UiHandler from "../ui-handler"; -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import { addWindow } from "../ui-theme"; import { addTextObject, TextStyle } from "../text"; import { Button } from "#enums/buttons"; @@ -51,7 +51,7 @@ export default abstract class AbstractBindingUiHandler extends UiHandler { * * @param mode - The UI mode. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); } diff --git a/src/ui/settings/abstract-control-settings-ui-handler.ts b/src/ui/settings/abstract-control-settings-ui-handler.ts index 2c634e2c5bf..495a0f68540 100644 --- a/src/ui/settings/abstract-control-settings-ui-handler.ts +++ b/src/ui/settings/abstract-control-settings-ui-handler.ts @@ -1,5 +1,5 @@ import UiHandler from "#app/ui/ui-handler"; -import type { Mode } from "#app/ui/ui"; +import type { UiMode } from "#enums/ui-mode"; import type { InterfaceConfig } from "#app/inputs-controller"; import { addWindow } from "#app/ui/ui-theme"; import { addTextObject, TextStyle } from "#app/ui/text"; @@ -74,7 +74,7 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler * * @param mode - The UI mode. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.rowsToDisplay = 8; } diff --git a/src/ui/settings/abstract-settings-ui-handler.ts b/src/ui/settings/abstract-settings-ui-handler.ts index 0c14b91251e..27ca95c25ac 100644 --- a/src/ui/settings/abstract-settings-ui-handler.ts +++ b/src/ui/settings/abstract-settings-ui-handler.ts @@ -1,5 +1,5 @@ import { TextStyle, addTextObject } from "#app/ui/text"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import MessageUiHandler from "#app/ui/message-ui-handler"; import { addWindow } from "#app/ui/ui-theme"; import { ScrollBar } from "#app/ui/scroll-bar"; @@ -42,7 +42,7 @@ export default class AbstractSettingsUiHandler extends MessageUiHandler { protected settings: Array; protected localStorageKey: string; - constructor(type: SettingType, mode: Mode | null = null) { + constructor(type: SettingType, mode: UiMode | null = null) { super(mode); this.settings = Setting.filter(s => s.type === type && !s?.isHidden?.()); this.reloadRequired = false; @@ -425,7 +425,7 @@ export default class AbstractSettingsUiHandler extends MessageUiHandler { const confirmationMessage = setting.options[cursor].confirmationMessage ?? i18next.t("settings:defaultConfirmMessage"); globalScene.ui.showText(confirmationMessage, null, () => { - globalScene.ui.setOverlayMode(Mode.CONFIRM, confirmUpdateSetting, cancelUpdateSetting, null, null, 1, 750); + globalScene.ui.setOverlayMode(UiMode.CONFIRM, confirmUpdateSetting, cancelUpdateSetting, null, null, 1, 750); }); } else { saveSetting(); diff --git a/src/ui/settings/gamepad-binding-ui-handler.ts b/src/ui/settings/gamepad-binding-ui-handler.ts index 62bc2db7825..0f226ddcafa 100644 --- a/src/ui/settings/gamepad-binding-ui-handler.ts +++ b/src/ui/settings/gamepad-binding-ui-handler.ts @@ -1,12 +1,12 @@ import AbstractBindingUiHandler from "./abstract-binding-ui-handler"; -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import { Device } from "#enums/devices"; import { getIconWithSettingName, getKeyWithKeycode } from "#app/configs/inputs/configHandler"; import { addTextObject, TextStyle } from "#app/ui/text"; import { globalScene } from "#app/global-scene"; export default class GamepadBindingUiHandler extends AbstractBindingUiHandler { - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); globalScene.input.gamepad?.on("down", this.gamepadButtonDown, this); } diff --git a/src/ui/settings/keyboard-binding-ui-handler.ts b/src/ui/settings/keyboard-binding-ui-handler.ts index 8735faeaaab..c05a31ca91e 100644 --- a/src/ui/settings/keyboard-binding-ui-handler.ts +++ b/src/ui/settings/keyboard-binding-ui-handler.ts @@ -1,12 +1,12 @@ import AbstractBindingUiHandler from "./abstract-binding-ui-handler"; -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import { getKeyWithKeycode } from "#app/configs/inputs/configHandler"; import { Device } from "#enums/devices"; import { addTextObject, TextStyle } from "#app/ui/text"; import { globalScene } from "#app/global-scene"; export default class KeyboardBindingUiHandler extends AbstractBindingUiHandler { - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); // Listen to gamepad button down events to initiate binding. globalScene.input.keyboard?.on("keydown", this.onKeyDown, this); diff --git a/src/ui/settings/navigationMenu.ts b/src/ui/settings/navigationMenu.ts index 1d2d71e1e20..ad3d4ccf0b5 100644 --- a/src/ui/settings/navigationMenu.ts +++ b/src/ui/settings/navigationMenu.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type { InputsIcons } from "#app/ui/settings/abstract-control-settings-ui-handler"; import { addTextObject, setTextStyle, TextStyle } from "#app/ui/text"; import { addWindow } from "#app/ui/ui-theme"; @@ -14,8 +14,8 @@ const RIGHT = "RIGHT"; */ export class NavigationManager { private static instance: NavigationManager; - public modes: Mode[]; - public selectedMode: Mode = Mode.SETTINGS; + public modes: UiMode[]; + public selectedMode: UiMode = UiMode.SETTINGS; public navigationMenus: NavigationMenu[] = new Array(); public labels: string[]; @@ -27,11 +27,11 @@ export class NavigationManager { */ constructor() { this.modes = [ - Mode.SETTINGS, - Mode.SETTINGS_DISPLAY, - Mode.SETTINGS_AUDIO, - Mode.SETTINGS_GAMEPAD, - Mode.SETTINGS_KEYBOARD, + UiMode.SETTINGS, + UiMode.SETTINGS_DISPLAY, + UiMode.SETTINGS_AUDIO, + UiMode.SETTINGS_GAMEPAD, + UiMode.SETTINGS_KEYBOARD, ]; this.labels = [ i18next.t("settings:general"), @@ -43,7 +43,7 @@ export class NavigationManager { } public reset() { - this.selectedMode = Mode.SETTINGS; + this.selectedMode = UiMode.SETTINGS; this.updateNavigationMenus(); } diff --git a/src/ui/settings/option-select-ui-handler.ts b/src/ui/settings/option-select-ui-handler.ts index b3d1735dc19..af9760814ac 100644 --- a/src/ui/settings/option-select-ui-handler.ts +++ b/src/ui/settings/option-select-ui-handler.ts @@ -1,8 +1,8 @@ import AbstractOptionSelectUiHandler from "../abstact-option-select-ui-handler"; -import { Mode } from "../ui"; +import { UiMode } from "#enums/ui-mode"; export default class OptionSelectUiHandler extends AbstractOptionSelectUiHandler { - constructor(mode: Mode = Mode.OPTION_SELECT) { + constructor(mode: UiMode = UiMode.OPTION_SELECT) { super(mode); } diff --git a/src/ui/settings/settings-audio-ui-handler.ts b/src/ui/settings/settings-audio-ui-handler.ts index f8cb4da4ba2..019d66d7428 100644 --- a/src/ui/settings/settings-audio-ui-handler.ts +++ b/src/ui/settings/settings-audio-ui-handler.ts @@ -1,4 +1,4 @@ -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import AbstractSettingsUiHandler from "./abstract-settings-ui-handler"; import { SettingType } from "#app/system/settings/settings"; ("#app/inputs-controller"); @@ -9,7 +9,7 @@ export default class SettingsAudioUiHandler extends AbstractSettingsUiHandler { * * @param mode - The UI mode, optional. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(SettingType.AUDIO, mode); this.title = "Audio"; this.localStorageKey = "settings"; diff --git a/src/ui/settings/settings-display-ui-handler.ts b/src/ui/settings/settings-display-ui-handler.ts index 985aa9adca2..4878bae72cb 100644 --- a/src/ui/settings/settings-display-ui-handler.ts +++ b/src/ui/settings/settings-display-ui-handler.ts @@ -1,4 +1,4 @@ -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import AbstractSettingsUiHandler from "./abstract-settings-ui-handler"; import { SettingKeys, SettingType } from "#app/system/settings/settings"; ("#app/inputs-controller"); @@ -9,7 +9,7 @@ export default class SettingsDisplayUiHandler extends AbstractSettingsUiHandler * * @param mode - The UI mode, optional. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(SettingType.DISPLAY, mode); this.title = "Display"; diff --git a/src/ui/settings/settings-gamepad-ui-handler.ts b/src/ui/settings/settings-gamepad-ui-handler.ts index 0b3a7241ff2..7d269deab14 100644 --- a/src/ui/settings/settings-gamepad-ui-handler.ts +++ b/src/ui/settings/settings-gamepad-ui-handler.ts @@ -1,5 +1,5 @@ import { addTextObject, TextStyle } from "../text"; -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import { setSettingGamepad, SettingGamepad, @@ -13,7 +13,7 @@ import pad_unlicensedSNES from "#app/configs/inputs/pad_unlicensedSNES"; import type { InterfaceConfig } from "#app/inputs-controller"; import AbstractControlSettingsUiHandler from "#app/ui/settings/abstract-control-settings-ui-handler"; import { Device } from "#enums/devices"; -import { truncateString } from "#app/utils"; +import { truncateString } from "#app/utils/common"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; @@ -29,7 +29,7 @@ export default class SettingsGamepadUiHandler extends AbstractControlSettingsUiH * * @param mode - The UI mode, optional. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.titleSelected = "Gamepad"; this.setting = SettingGamepad; diff --git a/src/ui/settings/settings-keyboard-ui-handler.ts b/src/ui/settings/settings-keyboard-ui-handler.ts index a7837c8961e..c334ee8f1fc 100644 --- a/src/ui/settings/settings-keyboard-ui-handler.ts +++ b/src/ui/settings/settings-keyboard-ui-handler.ts @@ -1,4 +1,4 @@ -import { Mode } from "../ui"; +import { UiMode } from "#enums/ui-mode"; import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty"; import { setSettingKeyboard, @@ -7,7 +7,7 @@ import { settingKeyboardDefaults, settingKeyboardOptions, } from "#app/system/settings/settings-keyboard"; -import { reverseValueToKeySetting, truncateString } from "#app/utils"; +import { reverseValueToKeySetting, truncateString } from "#app/utils/common"; import AbstractControlSettingsUiHandler from "#app/ui/settings/abstract-control-settings-ui-handler"; import type { InterfaceConfig } from "#app/inputs-controller"; import { addTextObject, TextStyle } from "#app/ui/text"; @@ -28,7 +28,7 @@ export default class SettingsKeyboardUiHandler extends AbstractControlSettingsUi * * @param mode - The UI mode, optional. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.titleSelected = "Keyboard"; this.setting = SettingKeyboard; @@ -84,7 +84,7 @@ export default class SettingsKeyboardUiHandler extends AbstractControlSettingsUi * Handle the home key press event. */ onHomeDown(): void { - if (![Mode.SETTINGS_KEYBOARD, Mode.SETTINGS_GAMEPAD].includes(globalScene.ui.getMode())) { + if (![UiMode.SETTINGS_KEYBOARD, UiMode.SETTINGS_GAMEPAD].includes(globalScene.ui.getMode())) { return; } globalScene.gameData.resetMappingToFactory(); @@ -95,7 +95,7 @@ export default class SettingsKeyboardUiHandler extends AbstractControlSettingsUi * Handle the delete key press event. */ onDeleteDown(): void { - if (globalScene.ui.getMode() !== Mode.SETTINGS_KEYBOARD) { + if (globalScene.ui.getMode() !== UiMode.SETTINGS_KEYBOARD) { return; } const cursor = this.cursor + this.scrollCursor; // Calculate the absolute cursor position. diff --git a/src/ui/settings/settings-ui-handler.ts b/src/ui/settings/settings-ui-handler.ts index 22ea76d798b..8d61044ff91 100644 --- a/src/ui/settings/settings-ui-handler.ts +++ b/src/ui/settings/settings-ui-handler.ts @@ -1,5 +1,5 @@ import { SettingType } from "../../system/settings/settings"; -import type { Mode } from "../ui"; +import type { UiMode } from "#enums/ui-mode"; import AbstractSettingsUiHandler from "./abstract-settings-ui-handler"; export default class SettingsUiHandler extends AbstractSettingsUiHandler { @@ -8,7 +8,7 @@ export default class SettingsUiHandler extends AbstractSettingsUiHandler { * * @param mode - The UI mode, optional. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(SettingType.GENERAL, mode); this.title = "General"; this.localStorageKey = "settings"; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 9b0009d666e..1902c691715 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -6,7 +6,7 @@ import { getVariantTint, getVariantIcon } from "#app/sprites/variant"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; -import { starterColors } from "#app/battle-scene"; +import { starterColors } from "#app/global-vars/starter-colors"; import { globalScene } from "#app/global-scene"; import type { Ability } from "#app/data/abilities/ability-class"; import { allAbilities } from "#app/data/data-lists"; @@ -37,7 +37,7 @@ import MessageUiHandler from "#app/ui/message-ui-handler"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "#app/ui/pokemon-icon-anim-handler"; import { StatsContainer } from "#app/ui/stats-container"; import { TextStyle, addBBCodeTextObject, addTextObject } from "#app/ui/text"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { addWindow } from "#app/ui/ui-theme"; import { Egg } from "#app/data/egg"; import Overrides from "#app/overrides"; @@ -74,7 +74,7 @@ import { randIntRange, rgbHexToRgba, toReadableString, -} from "#app/utils"; +} from "#app/utils/common"; import type { Nature } from "#enums/nature"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { achvs } from "#app/system/achv"; @@ -375,7 +375,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { protected blockInput = false; constructor() { - super(Mode.STARTER_SELECT); + super(UiMode.STARTER_SELECT); } setup() { @@ -1888,7 +1888,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { { label: i18next.t("starterSelectUiHandler:addToParty"), handler: () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); const isOverValueLimit = this.tryUpdateValue( globalScene.gameData.getSpeciesStarterValue(this.lastSpecies.speciesId), true, @@ -1921,7 +1921,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { label: i18next.t("starterSelectUiHandler:removeFromParty"), handler: () => { this.popStarter(removeIndex); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, }, @@ -1934,7 +1934,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { label: i18next.t("starterSelectUiHandler:toggleIVs"), handler: () => { this.toggleStatsMode(); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, }, @@ -1944,18 +1944,18 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const showSwapOptions = (moveset: StarterMoveset) => { this.blockInput = true; - ui.setMode(Mode.STARTER_SELECT).then(() => { + ui.setMode(UiMode.STARTER_SELECT).then(() => { ui.showText(i18next.t("starterSelectUiHandler:selectMoveSwapOut"), null, () => { this.moveInfoOverlay.show(allMoves[moveset[0]]); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: moveset .map((m: Moves, i: number) => { const option: OptionSelectItem = { label: allMoves[m].name, handler: () => { this.blockInput = true; - ui.setMode(Mode.STARTER_SELECT).then(() => { + ui.setMode(UiMode.STARTER_SELECT).then(() => { ui.showText( `${i18next.t("starterSelectUiHandler:selectMoveSwapWith")} ${allMoves[m].name}.`, null, @@ -1963,7 +1963,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const possibleMoves = this.speciesStarterMoves.filter((sm: Moves) => sm !== m); this.moveInfoOverlay.show(allMoves[possibleMoves[0]]); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: possibleMoves .map(sm => { // make an option for each available starter move @@ -2011,7 +2011,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { handler: () => { this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, onHover: () => { @@ -2039,10 +2039,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const showNatureOptions = () => { this.blockInput = true; - ui.setMode(Mode.STARTER_SELECT).then(() => { + ui.setMode(UiMode.STARTER_SELECT).then(() => { ui.showText(i18next.t("starterSelectUiHandler:selectNature"), null, () => { const natures = globalScene.gameData.getNaturesForAttr(this.speciesStarterDexEntry?.natureAttr); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: natures .map((n: Nature, _i: number) => { const option: OptionSelectItem = { @@ -2054,7 +2054,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } starterAttributes.nature = n; this.clearText(); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); // set nature for starter this.setSpeciesDetails(this.lastSpecies, { natureIndex: n, @@ -2069,7 +2069,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { label: i18next.t("menu:cancel"), handler: () => { this.clearText(); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); this.blockInput = false; return true; }, @@ -2097,7 +2097,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { label: i18next.t("starterSelectUiHandler:enablePassive"), handler: () => { starterData.passiveAttr |= PassiveAttr.ENABLED; - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); this.setSpeciesDetails(this.lastSpecies); return true; }, @@ -2107,7 +2107,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { label: i18next.t("starterSelectUiHandler:disablePassive"), handler: () => { starterData.passiveAttr ^= PassiveAttr.ENABLED; - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); this.setSpeciesDetails(this.lastSpecies); return true; }, @@ -2125,7 +2125,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (starterContainer) { starterContainer.favoriteIcon.setVisible(starterAttributes.favorite); } - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, }); @@ -2138,7 +2138,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (starterContainer) { starterContainer.favoriteIcon.setVisible(starterAttributes.favorite); } - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, }); @@ -2150,7 +2150,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { let nickname = starterAttributes.nickname ? String(starterAttributes.nickname) : ""; nickname = decodeURIComponent(escape(atob(nickname))); ui.setModeWithoutClear( - Mode.RENAME_POKEMON, + UiMode.RENAME_POKEMON, { buttonActions: [ (sanitizedName: string) => { @@ -2162,10 +2162,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } else { this.pokemonNameText.setText(this.lastSpecies.name); } - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); }, () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); }, ], }, @@ -2197,7 +2197,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return globalScene.reset(true); } }); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); this.setSpeciesDetails(this.lastSpecies); globalScene.playSound("se/buy"); @@ -2238,7 +2238,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } }); this.tryUpdateValue(0); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); globalScene.playSound("se/buy"); // update the value label and icon/animation for available upgrade @@ -2290,7 +2290,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return globalScene.reset(true); } }); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); globalScene.playSound("se/buy"); // update the icon/animation for available upgrade @@ -2308,11 +2308,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { options.push({ label: i18next.t("menu:cancel"), handler: () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, }); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: options, yOffset: 47, }); @@ -2320,14 +2320,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { options.push({ label: i18next.t("menuUiHandler:POKEDEX"), handler: () => { - ui.setMode(Mode.STARTER_SELECT).then(() => { + ui.setMode(UiMode.STARTER_SELECT).then(() => { const attributes = { shiny: starterAttributes.shiny, variant: starterAttributes.variant, form: starterAttributes.form, female: starterAttributes.female, }; - ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, attributes); + ui.setOverlayMode(UiMode.POKEDEX_PAGE, this.lastSpecies, attributes); }); return true; }, @@ -2336,7 +2336,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { options.push({ label: i18next.t("starterSelectUiHandler:useCandies"), handler: () => { - ui.setMode(Mode.STARTER_SELECT).then(() => showUseCandies()); + ui.setMode(UiMode.STARTER_SELECT).then(() => showUseCandies()); return true; }, }); @@ -2344,11 +2344,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { options.push({ label: i18next.t("menu:cancel"), handler: () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); return true; }, }); - ui.setModeWithoutClear(Mode.OPTION_SELECT, { + ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: options, yOffset: 47, }); @@ -4281,15 +4281,15 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const ui = this.getUi(); const cancel = () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); this.clearText(); this.blockInput = false; }; ui.showText(i18next.t("starterSelectUiHandler:confirmExit"), null, () => { ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); globalScene.clearPhaseQueue(); if (globalScene.gameMode.isChallenge) { globalScene.pushPhase(new SelectChallengePhase()); @@ -4318,7 +4318,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const ui = this.getUi(); const cancel = () => { - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); if (!manualTrigger) { this.popStarter(this.starterSpecies.length - 1); } @@ -4330,11 +4330,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (canStart) { ui.showText(i18next.t("starterSelectUiHandler:confirmStartTeam"), null, () => { ui.setModeWithoutClear( - Mode.CONFIRM, + UiMode.CONFIRM, () => { const startRun = () => { globalScene.money = globalScene.gameMode.getStartingMoney(); - ui.setMode(Mode.STARTER_SELECT); + ui.setMode(UiMode.STARTER_SELECT); const thisObj = this; const originalStarterSelectCallback = this.starterSelectCallback; this.starterSelectCallback = null; diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 5ff4a02793d..877c342651f 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -1,6 +1,6 @@ -import { starterColors } from "#app/battle-scene"; +import { starterColors } from "#app/global-vars/starter-colors"; import { globalScene } from "#app/global-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "#app/ui/ui-handler"; import { getLocalizedSpriteKey, @@ -11,7 +11,7 @@ import { isNullOrUndefined, toReadableString, formatStat, -} from "#app/utils"; +} from "#app/utils/common"; import type { PlayerPokemon, PokemonMove } from "#app/field/pokemon"; import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters"; import { argbFromRgba } from "@material/material-color-utilities"; @@ -128,7 +128,7 @@ export default class SummaryUiHandler extends UiHandler { private selectCallback: Function | null; constructor() { - super(Mode.SUMMARY); + super(UiMode.SUMMARY); } setup() { @@ -510,7 +510,7 @@ export default class SummaryUiHandler extends UiHandler { } const ui = this.getUi(); - const fromPartyMode = ui.handlers[Mode.PARTY].active; + const fromPartyMode = ui.handlers[UiMode.PARTY].active; let success = false; let error = false; @@ -610,9 +610,9 @@ export default class SummaryUiHandler extends UiHandler { } if (!fromPartyMode) { - ui.setMode(Mode.MESSAGE); + ui.setMode(UiMode.MESSAGE); } else { - ui.setMode(Mode.PARTY); + ui.setMode(UiMode.PARTY); } } success = true; diff --git a/src/ui/target-select-ui-handler.ts b/src/ui/target-select-ui-handler.ts index a9f88b337f3..0db2020c25a 100644 --- a/src/ui/target-select-ui-handler.ts +++ b/src/ui/target-select-ui-handler.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "../battle"; -import { Mode } from "./ui"; +import { UiMode } from "#enums/ui-mode"; import UiHandler from "./ui-handler"; -import { isNullOrUndefined, fixedInt } from "#app/utils"; +import { isNullOrUndefined, fixedInt } from "#app/utils/common"; import { getMoveTargets } from "../data/moves/move"; import { Button } from "#enums/buttons"; import type { Moves } from "#enums/moves"; @@ -27,7 +27,7 @@ export default class TargetSelectUiHandler extends UiHandler { private targetBattleInfoMoveTween: Phaser.Tweens.Tween[] = []; constructor() { - super(Mode.TARGET_SELECT); + super(UiMode.TARGET_SELECT); this.cursor = -1; } diff --git a/src/ui/test-dialogue-ui-handler.ts b/src/ui/test-dialogue-ui-handler.ts index 9fbfc01a317..9ecf1641e7b 100644 --- a/src/ui/test-dialogue-ui-handler.ts +++ b/src/ui/test-dialogue-ui-handler.ts @@ -4,8 +4,8 @@ import type { ModalConfig } from "./modal-ui-handler"; import i18next from "i18next"; import type { PlayerPokemon } from "#app/field/pokemon"; import type { OptionSelectItem } from "./abstact-option-select-ui-handler"; -import { isNullOrUndefined } from "#app/utils"; -import { Mode } from "./ui"; +import { isNullOrUndefined } from "#app/utils/common"; +import { UiMode } from "#enums/ui-mode"; export default class TestDialogueUiHandler extends FormModalUiHandler { keys: string[]; @@ -88,7 +88,7 @@ export default class TestDialogueUiHandler extends FormModalUiHandler { input.on("keydown", (inputObject, evt: KeyboardEvent) => { if ( ["escape", "space"].some(v => v === evt.key.toLowerCase() || v === evt.code.toLowerCase()) && - ui.getMode() === Mode.AUTO_COMPLETE + ui.getMode() === UiMode.AUTO_COMPLETE ) { // Delete autocomplete list and recovery focus. inputObject.on("blur", () => inputObject.node.focus(), { once: true }); @@ -98,7 +98,7 @@ export default class TestDialogueUiHandler extends FormModalUiHandler { input.on("textchange", (inputObject, evt: InputEvent) => { // Delete autocomplete. - if (ui.getMode() === Mode.AUTO_COMPLETE) { + if (ui.getMode() === UiMode.AUTO_COMPLETE) { ui.revertMode(); } @@ -133,7 +133,7 @@ export default class TestDialogueUiHandler extends FormModalUiHandler { maxOptions: 5, modalContainer: this.modalContainer, }; - ui.setOverlayMode(Mode.AUTO_COMPLETE, modalOpts); + ui.setOverlayMode(UiMode.AUTO_COMPLETE, modalOpts); } }); @@ -147,7 +147,7 @@ export default class TestDialogueUiHandler extends FormModalUiHandler { this.inputs[0].text = args[1]; } this.submitAction = _ => { - if (ui.getMode() === Mode.TEST_DIALOGUE) { + if (ui.getMode() === UiMode.TEST_DIALOGUE) { this.sanitizeInputs(); const sanitizedName = btoa(unescape(encodeURIComponent(this.inputs[0].text))); config.buttonActions[0](sanitizedName); diff --git a/src/ui/time-of-day-widget.ts b/src/ui/time-of-day-widget.ts index 5e42e6215f8..5f5116a2da0 100644 --- a/src/ui/time-of-day-widget.ts +++ b/src/ui/time-of-day-widget.ts @@ -1,4 +1,4 @@ -import { fixedInt } from "#app/utils"; +import { fixedInt } from "#app/utils/common"; import { globalScene } from "#app/global-scene"; import { BattleSceneEventType } from "../events/battle-scene"; import { EaseType } from "#enums/ease-type"; diff --git a/src/ui/title-ui-handler.ts b/src/ui/title-ui-handler.ts index 405e3cc4a27..bed4d568481 100644 --- a/src/ui/title-ui-handler.ts +++ b/src/ui/title-ui-handler.ts @@ -1,6 +1,6 @@ import OptionSelectUiHandler from "./settings/option-select-ui-handler"; -import { Mode } from "./ui"; -import { fixedInt, randInt, randItem } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { fixedInt, randInt, randItem } from "#app/utils/common"; import { TextStyle, addTextObject } from "./text"; import { getSplashMessages } from "../data/splash-messages"; import i18next from "i18next"; @@ -26,7 +26,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { private titleStatsTimer: NodeJS.Timeout | null; - constructor(mode: Mode = Mode.TITLE) { + constructor(mode: UiMode = UiMode.TITLE) { super(mode); } diff --git a/src/ui/ui-handler.ts b/src/ui/ui-handler.ts index 433f85d0f92..d3784c1225c 100644 --- a/src/ui/ui-handler.ts +++ b/src/ui/ui-handler.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import type { TextStyle } from "./text"; import { getTextColor } from "./text"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; import type { Button } from "#enums/buttons"; /** @@ -15,7 +15,7 @@ export default abstract class UiHandler { /** * @param mode The mode of the UI element. These should be unique. */ - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { this.mode = mode; } diff --git a/src/ui/ui.ts b/src/ui/ui.ts index c7981cd5fba..ad496df6382 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -28,7 +28,7 @@ import { addWindow } from "./ui-theme"; import LoginFormUiHandler from "./login-form-ui-handler"; import RegistrationFormUiHandler from "./registration-form-ui-handler"; import LoadingModalUiHandler from "./loading-modal-ui-handler"; -import { executeIf } from "#app/utils"; +import { executeIf } from "#app/utils/common"; import GameStatsUiHandler from "./game-stats-ui-handler"; import AwaitableUiHandler from "./awaitable-ui-handler"; import SaveSlotSelectUiHandler from "./save-slot-select-ui-handler"; @@ -57,102 +57,55 @@ import MysteryEncounterUiHandler from "./mystery-encounter-ui-handler"; import PokedexScanUiHandler from "./pokedex-scan-ui-handler"; import PokedexPageUiHandler from "./pokedex-page-ui-handler"; import { NavigationManager } from "./settings/navigationMenu"; - -export enum Mode { - MESSAGE, - TITLE, - COMMAND, - FIGHT, - BALL, - TARGET_SELECT, - MODIFIER_SELECT, - SAVE_SLOT, - PARTY, - SUMMARY, - STARTER_SELECT, - EVOLUTION_SCENE, - EGG_HATCH_SCENE, - EGG_HATCH_SUMMARY, - CONFIRM, - OPTION_SELECT, - MENU, - MENU_OPTION_SELECT, - SETTINGS, - SETTINGS_DISPLAY, - SETTINGS_AUDIO, - SETTINGS_GAMEPAD, - GAMEPAD_BINDING, - SETTINGS_KEYBOARD, - KEYBOARD_BINDING, - ACHIEVEMENTS, - GAME_STATS, - EGG_LIST, - EGG_GACHA, - POKEDEX, - POKEDEX_SCAN, - POKEDEX_PAGE, - LOGIN_FORM, - REGISTRATION_FORM, - LOADING, - SESSION_RELOAD, - UNAVAILABLE, - CHALLENGE_SELECT, - RENAME_POKEMON, - RUN_HISTORY, - RUN_INFO, - TEST_DIALOGUE, - AUTO_COMPLETE, - ADMIN, - MYSTERY_ENCOUNTER, -} +import { UiMode } from "#enums/ui-mode"; const transitionModes = [ - Mode.SAVE_SLOT, - Mode.PARTY, - Mode.SUMMARY, - Mode.STARTER_SELECT, - Mode.EVOLUTION_SCENE, - Mode.EGG_HATCH_SCENE, - Mode.EGG_LIST, - Mode.EGG_GACHA, - Mode.POKEDEX, - Mode.POKEDEX_PAGE, - Mode.CHALLENGE_SELECT, - Mode.RUN_HISTORY, + UiMode.SAVE_SLOT, + UiMode.PARTY, + UiMode.SUMMARY, + UiMode.STARTER_SELECT, + UiMode.EVOLUTION_SCENE, + UiMode.EGG_HATCH_SCENE, + UiMode.EGG_LIST, + UiMode.EGG_GACHA, + UiMode.POKEDEX, + UiMode.POKEDEX_PAGE, + UiMode.CHALLENGE_SELECT, + UiMode.RUN_HISTORY, ]; const noTransitionModes = [ - Mode.TITLE, - Mode.CONFIRM, - Mode.OPTION_SELECT, - Mode.MENU, - Mode.MENU_OPTION_SELECT, - Mode.GAMEPAD_BINDING, - Mode.KEYBOARD_BINDING, - Mode.SETTINGS, - Mode.SETTINGS_AUDIO, - Mode.SETTINGS_DISPLAY, - Mode.SETTINGS_GAMEPAD, - Mode.SETTINGS_KEYBOARD, - Mode.ACHIEVEMENTS, - Mode.GAME_STATS, - Mode.POKEDEX_SCAN, - Mode.LOGIN_FORM, - Mode.REGISTRATION_FORM, - Mode.LOADING, - Mode.SESSION_RELOAD, - Mode.UNAVAILABLE, - Mode.RENAME_POKEMON, - Mode.TEST_DIALOGUE, - Mode.AUTO_COMPLETE, - Mode.ADMIN, - Mode.MYSTERY_ENCOUNTER, - Mode.RUN_INFO, + UiMode.TITLE, + UiMode.CONFIRM, + UiMode.OPTION_SELECT, + UiMode.MENU, + UiMode.MENU_OPTION_SELECT, + UiMode.GAMEPAD_BINDING, + UiMode.KEYBOARD_BINDING, + UiMode.SETTINGS, + UiMode.SETTINGS_AUDIO, + UiMode.SETTINGS_DISPLAY, + UiMode.SETTINGS_GAMEPAD, + UiMode.SETTINGS_KEYBOARD, + UiMode.ACHIEVEMENTS, + UiMode.GAME_STATS, + UiMode.POKEDEX_SCAN, + UiMode.LOGIN_FORM, + UiMode.REGISTRATION_FORM, + UiMode.LOADING, + UiMode.SESSION_RELOAD, + UiMode.UNAVAILABLE, + UiMode.RENAME_POKEMON, + UiMode.TEST_DIALOGUE, + UiMode.AUTO_COMPLETE, + UiMode.ADMIN, + UiMode.MYSTERY_ENCOUNTER, + UiMode.RUN_INFO, ]; export default class UI extends Phaser.GameObjects.Container { - private mode: Mode; - private modeChain: Mode[]; + private mode: UiMode; + private modeChain: UiMode[]; public handlers: UiHandler[]; private overlay: Phaser.GameObjects.Rectangle; public achvBar: AchvBar; @@ -169,7 +122,7 @@ export default class UI extends Phaser.GameObjects.Container { constructor() { super(globalScene, 0, globalScene.game.canvas.height / 6); - this.mode = Mode.MESSAGE; + this.mode = UiMode.MESSAGE; this.modeChain = []; this.handlers = [ new BattleMessageUiHandler(), @@ -189,7 +142,7 @@ export default class UI extends Phaser.GameObjects.Container { new ConfirmUiHandler(), new OptionSelectUiHandler(), new MenuUiHandler(), - new OptionSelectUiHandler(Mode.MENU_OPTION_SELECT), + new OptionSelectUiHandler(UiMode.MENU_OPTION_SELECT), // settings new SettingsUiHandler(), new SettingsDisplayUiHandler(), @@ -203,7 +156,7 @@ export default class UI extends Phaser.GameObjects.Container { new EggListUiHandler(), new EggGachaUiHandler(), new PokedexUiHandler(), - new PokedexScanUiHandler(Mode.TEST_DIALOGUE), + new PokedexScanUiHandler(UiMode.TEST_DIALOGUE), new PokedexPageUiHandler(), new LoginFormUiHandler(), new RegistrationFormUiHandler(), @@ -214,7 +167,7 @@ export default class UI extends Phaser.GameObjects.Container { new RenameFormUiHandler(), new RunHistoryUiHandler(), new RunInfoUiHandler(), - new TestDialogueUiHandler(Mode.TEST_DIALOGUE), + new TestDialogueUiHandler(UiMode.TEST_DIALOGUE), new AutoCompleteUiHandler(), new AdminUiHandler(), new MysteryEncounterUiHandler(), @@ -222,7 +175,7 @@ export default class UI extends Phaser.GameObjects.Container { } setup(): void { - this.setName(`ui-${Mode[this.mode]}`); + this.setName(`ui-${UiMode[this.mode]}`); for (const handler of this.handlers) { handler.setup(); } @@ -279,7 +232,7 @@ export default class UI extends Phaser.GameObjects.Container { } getMessageHandler(): BattleMessageUiHandler { - return this.handlers[Mode.MESSAGE] as BattleMessageUiHandler; + return this.handlers[UiMode.MESSAGE] as BattleMessageUiHandler; } processInfoButton(pressed: boolean) { @@ -287,7 +240,7 @@ export default class UI extends Phaser.GameObjects.Container { return false; } - if ([Mode.CONFIRM, Mode.COMMAND, Mode.FIGHT, Mode.MESSAGE, Mode.TARGET_SELECT].includes(this.mode)) { + if ([UiMode.CONFIRM, UiMode.COMMAND, UiMode.FIGHT, UiMode.MESSAGE, UiMode.TARGET_SELECT].includes(this.mode)) { globalScene?.processInfoButton(pressed); return true; } @@ -564,7 +517,7 @@ export default class UI extends Phaser.GameObjects.Container { } private setModeInternal( - mode: Mode, + mode: UiMode, clear: boolean, forceTransition: boolean, chainMode: boolean, @@ -587,7 +540,7 @@ export default class UI extends Phaser.GameObjects.Container { this.mode = mode; const touchControls = document?.getElementById("touchControls"); if (touchControls) { - touchControls.dataset.uiMode = Mode[mode]; + touchControls.dataset.uiMode = UiMode[mode]; } this.getHandler().show(args); } @@ -612,23 +565,23 @@ export default class UI extends Phaser.GameObjects.Container { }); } - getMode(): Mode { + getMode(): UiMode { return this.mode; } - setMode(mode: Mode, ...args: any[]): Promise { + setMode(mode: UiMode, ...args: any[]): Promise { return this.setModeInternal(mode, true, false, false, args); } - setModeForceTransition(mode: Mode, ...args: any[]): Promise { + setModeForceTransition(mode: UiMode, ...args: any[]): Promise { return this.setModeInternal(mode, true, true, false, args); } - setModeWithoutClear(mode: Mode, ...args: any[]): Promise { + setModeWithoutClear(mode: UiMode, ...args: any[]): Promise { return this.setModeInternal(mode, false, false, false, args); } - setOverlayMode(mode: Mode, ...args: any[]): Promise { + setOverlayMode(mode: UiMode, ...args: any[]): Promise { return this.setModeInternal(mode, false, false, true, args); } @@ -651,7 +604,7 @@ export default class UI extends Phaser.GameObjects.Container { globalScene.updateGameInfo(); const touchControls = document.getElementById("touchControls"); if (touchControls) { - touchControls.dataset.uiMode = Mode[this.mode]; + touchControls.dataset.uiMode = UiMode[this.mode]; } resolve(true); }; @@ -678,7 +631,7 @@ export default class UI extends Phaser.GameObjects.Container { }); } - public getModeChain(): Mode[] { + public getModeChain(): UiMode[] { return this.modeChain; } diff --git a/src/ui/unavailable-modal-ui-handler.ts b/src/ui/unavailable-modal-ui-handler.ts index 01ed850f6d0..5bed55ec24a 100644 --- a/src/ui/unavailable-modal-ui-handler.ts +++ b/src/ui/unavailable-modal-ui-handler.ts @@ -1,9 +1,10 @@ import type { ModalConfig } from "./modal-ui-handler"; import { ModalUiHandler } from "./modal-ui-handler"; import { addTextObject, TextStyle } from "./text"; -import type { Mode } from "./ui"; +import type { UiMode } from "#enums/ui-mode"; import { updateUserInfo } from "#app/account"; -import { removeCookie, sessionIdKey } from "#app/utils"; +import { sessionIdKey } from "#app/utils/common"; +import { removeCookie } from "#app/utils/cookies"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; @@ -17,7 +18,7 @@ export default class UnavailableModalUiHandler extends ModalUiHandler { private readonly randVarianceTime = 1000 * 10; - constructor(mode: Mode | null = null) { + constructor(mode: UiMode | null = null) { super(mode); this.reconnectDuration = this.minTime; } diff --git a/src/utils.ts b/src/utils/common.ts similarity index 92% rename from src/utils.ts rename to src/utils/common.ts index ce9966c0d7f..4acfabce080 100644 --- a/src/utils.ts +++ b/src/utils/common.ts @@ -276,43 +276,6 @@ export const apiUrl = localServerUrl ?? "https://api.pokerogue.net"; // used to disable api calls when isLocal is true and a server is not found export let isLocalServerConnected = true; -export const isBeta = import.meta.env.MODE === "beta"; // this checks to see if the env mode is development. Technically this gives the same value for beta AND for dev envs - -export function setCookie(cName: string, cValue: string): void { - const expiration = new Date(); - expiration.setTime(new Date().getTime() + 3600000 * 24 * 30 * 3 /*7*/); - document.cookie = `${cName}=${cValue};Secure;SameSite=Strict;Domain=${window.location.hostname};Path=/;Expires=${expiration.toUTCString()}`; -} - -export function removeCookie(cName: string): void { - if (isBeta) { - document.cookie = `${cName}=;Secure;SameSite=Strict;Domain=pokerogue.net;Path=/;Max-Age=-1`; // we need to remove the cookie from the main domain as well - } - - document.cookie = `${cName}=;Secure;SameSite=Strict;Domain=${window.location.hostname};Path=/;Max-Age=-1`; - document.cookie = `${cName}=;Secure;SameSite=Strict;Path=/;Max-Age=-1`; // legacy cookie without domain, for older cookies to prevent a login loop -} - -export function getCookie(cName: string): string { - // check if there are multiple cookies with the same name and delete them - if (document.cookie.split(";").filter(c => c.includes(cName)).length > 1) { - removeCookie(cName); - return ""; - } - const name = `${cName}=`; - const ca = document.cookie.split(";"); - for (let i = 0; i < ca.length; i++) { - let c = ca[i]; - while (c.charAt(0) === " ") { - c = c.substring(1); - } - if (c.indexOf(name) === 0) { - return c.substring(name.length, c.length); - } - } - return ""; -} - /** * When locally running the game, "pings" the local server * with a GET request to verify if a server is running, diff --git a/src/utils/cookies.ts b/src/utils/cookies.ts new file mode 100644 index 00000000000..5ed793c0451 --- /dev/null +++ b/src/utils/cookies.ts @@ -0,0 +1,36 @@ +import { isBeta } from "./utility-vars"; + +export function setCookie(cName: string, cValue: string): void { + const expiration = new Date(); + expiration.setTime(new Date().getTime() + 3600000 * 24 * 30 * 3 /*7*/); + document.cookie = `${cName}=${cValue};Secure;SameSite=Strict;Domain=${window.location.hostname};Path=/;Expires=${expiration.toUTCString()}`; +} + +export function removeCookie(cName: string): void { + if (isBeta) { + document.cookie = `${cName}=;Secure;SameSite=Strict;Domain=pokerogue.net;Path=/;Max-Age=-1`; // we need to remove the cookie from the main domain as well + } + + document.cookie = `${cName}=;Secure;SameSite=Strict;Domain=${window.location.hostname};Path=/;Max-Age=-1`; + document.cookie = `${cName}=;Secure;SameSite=Strict;Path=/;Max-Age=-1`; // legacy cookie without domain, for older cookies to prevent a login loop +} + +export function getCookie(cName: string): string { + // check if there are multiple cookies with the same name and delete them + if (document.cookie.split(";").filter(c => c.includes(cName)).length > 1) { + removeCookie(cName); + return ""; + } + const name = `${cName}=`; + const ca = document.cookie.split(";"); + for (let i = 0; i < ca.length; i++) { + let c = ca[i]; + while (c.charAt(0) === " ") { + c = c.substring(1); + } + if (c.indexOf(name) === 0) { + return c.substring(name.length, c.length); + } + } + return ""; +} diff --git a/src/utils/utility-vars.ts b/src/utils/utility-vars.ts new file mode 100644 index 00000000000..081f70164c8 --- /dev/null +++ b/src/utils/utility-vars.ts @@ -0,0 +1 @@ +export const isBeta = import.meta.env.MODE === "beta"; // this checks to see if the env mode is development. Technically this gives the same value for beta AND for dev envs diff --git a/test/abilities/ability_timing.test.ts b/test/abilities/ability_timing.test.ts index 9df4fe0d1c9..6128a3e6196 100644 --- a/test/abilities/ability_timing.test.ts +++ b/test/abilities/ability_timing.test.ts @@ -2,7 +2,7 @@ import { BattleStyle } from "#app/enums/battle-style"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; import i18next from "#app/plugins/i18n"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Abilities } from "#enums/abilities"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; @@ -40,9 +40,9 @@ describe("Ability Timing", () => { game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - game.setMode(Mode.MESSAGE); + game.setMode(UiMode.MESSAGE); game.endPhase(); }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase), diff --git a/test/abilities/analytic.test.ts b/test/abilities/analytic.test.ts index 1aadf2c0746..108c712da00 100644 --- a/test/abilities/analytic.test.ts +++ b/test/abilities/analytic.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { isBetween, toDmgValue } from "#app/utils"; +import { isBetween, toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/disguise.test.ts b/test/abilities/disguise.test.ts index fd8289312db..aeaf8ea2363 100644 --- a/test/abilities/disguise.test.ts +++ b/test/abilities/disguise.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/healer.test.ts b/test/abilities/healer.test.ts index d06c4680e36..d292ad0f625 100644 --- a/test/abilities/healer.test.ts +++ b/test/abilities/healer.test.ts @@ -5,7 +5,7 @@ import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi, type MockInstance } from "vitest"; -import { isNullOrUndefined } from "#app/utils"; +import { isNullOrUndefined } from "#app/utils/common"; import { PostTurnResetStatusAbAttr } from "#app/data/abilities/ability"; import { allAbilities } from "#app/data/data-lists"; import type Pokemon from "#app/field/pokemon"; diff --git a/test/abilities/heatproof.test.ts b/test/abilities/heatproof.test.ts index f2fabf953d6..016237bb02f 100644 --- a/test/abilities/heatproof.test.ts +++ b/test/abilities/heatproof.test.ts @@ -1,7 +1,7 @@ import { Species } from "#app/enums/species"; import { StatusEffect } from "#app/enums/status-effect"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/abilities/intimidate.test.ts b/test/abilities/intimidate.test.ts index 2888c575b0d..8db39270dcf 100644 --- a/test/abilities/intimidate.test.ts +++ b/test/abilities/intimidate.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Stat } from "#enums/stat"; import { getMovePosition } from "#test/testUtils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; @@ -38,9 +38,9 @@ describe("Abilities - Intimidate", () => { await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - game.setMode(Mode.MESSAGE); + game.setMode(UiMode.MESSAGE); game.endPhase(); }, () => game.isCurrentPhase("CommandPhase") || game.isCurrentPhase("TurnInitPhase"), @@ -69,9 +69,9 @@ describe("Abilities - Intimidate", () => { await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - game.setMode(Mode.MESSAGE); + game.setMode(UiMode.MESSAGE); game.endPhase(); }, () => game.isCurrentPhase("CommandPhase") || game.isCurrentPhase("TurnInitPhase"), diff --git a/test/abilities/parental_bond.test.ts b/test/abilities/parental_bond.test.ts index d81486e7316..a75fea82830 100644 --- a/test/abilities/parental_bond.test.ts +++ b/test/abilities/parental_bond.test.ts @@ -1,6 +1,6 @@ import { PokemonType } from "#enums/pokemon-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/shield_dust.test.ts b/test/abilities/shield_dust.test.ts index 4f6783eb66a..0b96640a29f 100644 --- a/test/abilities/shield_dust.test.ts +++ b/test/abilities/shield_dust.test.ts @@ -6,7 +6,7 @@ import { MoveEffectChanceMultiplierAbAttr, } from "#app/data/abilities/ability"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/stakeout.test.ts b/test/abilities/stakeout.test.ts index b3a7bdbf287..8a2231bba0b 100644 --- a/test/abilities/stakeout.test.ts +++ b/test/abilities/stakeout.test.ts @@ -1,5 +1,5 @@ import { BattlerIndex } from "#app/battle"; -import { isBetween } from "#app/utils"; +import { isBetween } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index c46675376c1..463ec7587dc 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; import { allMoves } from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; diff --git a/test/account.test.ts b/test/account.test.ts index 3f6b9f3f80b..77368b0b64c 100644 --- a/test/account.test.ts +++ b/test/account.test.ts @@ -1,4 +1,4 @@ -import * as battleScene from "#app/battle-scene"; +import * as bypassLogin from "#app/global-vars/bypass-login"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import { describe, expect, it, vi } from "vitest"; import { initLoggedInUser, loggedInUser, updateUserInfo } from "#app/account"; @@ -15,7 +15,7 @@ describe("account", () => { describe("updateUserInfo", () => { it("should set loggedInUser! to Guest if bypassLogin is true", async () => { - vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(true); + vi.spyOn(bypassLogin, "bypassLogin", "get").mockReturnValue(true); const [success, status] = await updateUserInfo(); @@ -26,7 +26,7 @@ describe("account", () => { }); it("should fetch user info from the API if bypassLogin is false", async () => { - vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(false); + vi.spyOn(bypassLogin, "bypassLogin", "get").mockReturnValue(false); vi.spyOn(pokerogueApi.account, "getInfo").mockResolvedValue([ { username: "test", @@ -47,7 +47,7 @@ describe("account", () => { }); it("should handle resolved API errors", async () => { - vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(false); + vi.spyOn(bypassLogin, "bypassLogin", "get").mockReturnValue(false); vi.spyOn(pokerogueApi.account, "getInfo").mockResolvedValue([null, 401]); const [success, status] = await updateUserInfo(); @@ -57,7 +57,7 @@ describe("account", () => { }); it("should handle 500 API errors", async () => { - vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(false); + vi.spyOn(bypassLogin, "bypassLogin", "get").mockReturnValue(false); vi.spyOn(pokerogueApi.account, "getInfo").mockResolvedValue([null, 500]); const [success, status] = await updateUserInfo(); diff --git a/test/achievements/achievement.test.ts b/test/achievements/achievement.test.ts index 5c53e38e208..0b49c4d23ab 100644 --- a/test/achievements/achievement.test.ts +++ b/test/achievements/achievement.test.ts @@ -10,7 +10,7 @@ import { RibbonAchv, achvs, } from "#app/system/achv"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/battle/battle.test.ts b/test/battle/battle.test.ts index 51304c7d5dd..e980984580e 100644 --- a/test/battle/battle.test.ts +++ b/test/battle/battle.test.ts @@ -18,7 +18,7 @@ import { TurnInitPhase } from "#app/phases/turn-init-phase"; import { VictoryPhase } from "#app/phases/victory-phase"; import GameManager from "#test/testUtils/gameManager"; import { generateStarter } from "#test/testUtils/gameManagerUtils"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { PlayerGender } from "#enums/player-gender"; @@ -49,7 +49,7 @@ describe("Test Battle Phase", () => { it("test phase interceptor with prompt", async () => { await game.phaseInterceptor.run(LoginPhase); - game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectGenderPhase", UiMode.OPTION_SELECT, () => { game.scene.gameData.gender = PlayerGender.MALE; game.endPhase(); }); @@ -57,36 +57,36 @@ describe("Test Battle Phase", () => { await game.phaseInterceptor.run(SelectGenderPhase); await game.phaseInterceptor.run(TitlePhase); - await game.waitMode(Mode.TITLE); + await game.waitMode(UiMode.TITLE); - expect(game.scene.ui?.getMode()).toBe(Mode.TITLE); + expect(game.scene.ui?.getMode()).toBe(UiMode.TITLE); expect(game.scene.gameData.gender).toBe(PlayerGender.MALE); }, 20000); it("test phase interceptor with prompt with preparation for a future prompt", async () => { await game.phaseInterceptor.run(LoginPhase); - game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectGenderPhase", UiMode.OPTION_SELECT, () => { game.scene.gameData.gender = PlayerGender.MALE; game.endPhase(); }); - game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => { - game.setMode(Mode.MESSAGE); + game.onNextPrompt("CheckSwitchPhase", UiMode.CONFIRM, () => { + game.setMode(UiMode.MESSAGE); game.endPhase(); }); await game.phaseInterceptor.run(SelectGenderPhase); await game.phaseInterceptor.run(TitlePhase); - await game.waitMode(Mode.TITLE); + await game.waitMode(UiMode.TITLE); - expect(game.scene.ui?.getMode()).toBe(Mode.TITLE); + expect(game.scene.ui?.getMode()).toBe(UiMode.TITLE); expect(game.scene.gameData.gender).toBe(PlayerGender.MALE); }, 20000); it("newGame one-liner", async () => { await game.startBattle(); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); @@ -156,7 +156,7 @@ describe("Test Battle Phase", () => { await game.phaseInterceptor.run(LoginPhase); game.onNextPrompt( "SelectGenderPhase", - Mode.OPTION_SELECT, + UiMode.OPTION_SELECT, () => { game.scene.gameData.gender = PlayerGender.MALE; game.endPhase(); @@ -171,7 +171,7 @@ describe("Test Battle Phase", () => { await game.phaseInterceptor.run(LoginPhase); game.onNextPrompt( "SelectGenderPhase", - Mode.OPTION_SELECT, + UiMode.OPTION_SELECT, () => { game.scene.gameData.gender = PlayerGender.MALE; game.endPhase(); @@ -185,14 +185,14 @@ describe("Test Battle Phase", () => { await game.phaseInterceptor.run(LoginPhase); game.onNextPrompt( "SelectGenderPhase", - Mode.OPTION_SELECT, + UiMode.OPTION_SELECT, () => { game.scene.gameData.gender = PlayerGender.MALE; game.endPhase(); }, () => game.isCurrentPhase(TitlePhase), ); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { game.scene.gameMode = getGameMode(GameModes.CLASSIC); const starters = generateStarter(game.scene); const selectStarterPhase = new SelectStarterPhase(); @@ -208,7 +208,7 @@ describe("Test Battle Phase", () => { game.override.enemyAbility(Abilities.HYDRATION); game.override.ability(Abilities.HYDRATION); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); @@ -218,7 +218,7 @@ describe("Test Battle Phase", () => { game.override.enemyAbility(Abilities.HYDRATION); game.override.ability(Abilities.HYDRATION); await game.startBattle([Species.BLASTOISE]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); @@ -229,7 +229,7 @@ describe("Test Battle Phase", () => { game.override.ability(Abilities.HYDRATION); game.override.startingWave(3); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); @@ -240,7 +240,7 @@ describe("Test Battle Phase", () => { game.override.ability(Abilities.HYDRATION); game.override.startingWave(3); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD, Species.DARKRAI, Species.GABITE]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); @@ -328,7 +328,7 @@ describe("Test Battle Phase", () => { game.onNextPrompt( "SwitchPhase", - Mode.PARTY, + UiMode.PARTY, () => { expect.fail("Switch was forced"); }, diff --git a/test/battle/special_battle.test.ts b/test/battle/special_battle.test.ts index 46dd8eaa010..163f23e488d 100644 --- a/test/battle/special_battle.test.ts +++ b/test/battle/special_battle.test.ts @@ -1,5 +1,5 @@ import { CommandPhase } from "#app/phases/command-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; @@ -34,63 +34,63 @@ describe("Test Battle Phase", () => { it("startBattle 2vs1 boss", async () => { game.override.battleStyle("single").startingWave(10); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 boss", async () => { game.override.battleStyle("double").startingWave(10); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 trainer", async () => { game.override.battleStyle("double").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs1 trainer", async () => { game.override.battleStyle("single").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs1 rival", async () => { game.override.battleStyle("single").startingWave(8); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 rival", async () => { game.override.battleStyle("double").startingWave(8); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 1vs1 trainer", async () => { game.override.battleStyle("single").startingWave(5); await game.startBattle([Species.BLASTOISE]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 trainer", async () => { game.override.battleStyle("double").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 4vs2 trainer", async () => { game.override.battleStyle("double").startingWave(5); await game.startBattle([Species.BLASTOISE, Species.CHARIZARD, Species.DARKRAI, Species.GABITE]); - expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND); + expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); }); diff --git a/test/boss-pokemon.test.ts b/test/boss-pokemon.test.ts index 9df69da09b7..ef95ae9bcc2 100644 --- a/test/boss-pokemon.test.ts +++ b/test/boss-pokemon.test.ts @@ -6,7 +6,7 @@ import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { EFFECTIVE_STATS } from "#app/enums/stat"; import type { EnemyPokemon } from "#app/field/pokemon"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; describe("Boss Pokemon / Shields", () => { let phaserGame: Phaser.Game; diff --git a/test/daily_mode.test.ts b/test/daily_mode.test.ts index 6b95543fb3b..a7f5784087a 100644 --- a/test/daily_mode.test.ts +++ b/test/daily_mode.test.ts @@ -4,7 +4,7 @@ import { MapModifier } from "#app/modifier/modifier"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { Species } from "#enums/species"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import GameManager from "#test/testUtils/gameManager"; @@ -76,7 +76,7 @@ describe("Shop modifications", async () => { game.move.select(Moves.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("BattleEndPhase"); - game.onNextPrompt("SelectModifierPhase", Mode.MODIFIER_SELECT, () => { + game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { expect(game.scene.ui.getHandler()).toBeInstanceOf(ModifierSelectUiHandler); game.modifiers.testCheck("EVIOLITE", false).testCheck("MINI_BLACK_HOLE", false); }); @@ -87,7 +87,7 @@ describe("Shop modifications", async () => { game.move.select(Moves.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("BattleEndPhase"); - game.onNextPrompt("SelectModifierPhase", Mode.MODIFIER_SELECT, () => { + game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { expect(game.scene.ui.getHandler()).toBeInstanceOf(ModifierSelectUiHandler); game.modifiers.testCheck("EVIOLITE", true).testCheck("MINI_BLACK_HOLE", true); }); diff --git a/test/eggs/egg.test.ts b/test/eggs/egg.test.ts index 8875300780b..0110aa5fdaf 100644 --- a/test/eggs/egg.test.ts +++ b/test/eggs/egg.test.ts @@ -5,7 +5,7 @@ import { EggSourceType } from "#app/enums/egg-source-types"; import { EggTier } from "#app/enums/egg-type"; import { VariantTier } from "#app/enums/variant-tier"; import EggData from "#app/system/egg-data"; -import * as Utils from "#app/utils"; +import * as Utils from "#app/utils/common"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/enemy_command.test.ts b/test/enemy_command.test.ts index 6d5cc2698a3..ae1f2918798 100644 --- a/test/enemy_command.test.ts +++ b/test/enemy_command.test.ts @@ -6,7 +6,7 @@ import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import type { EnemyPokemon } from "#app/field/pokemon"; import { AiType } from "#app/field/pokemon"; -import { randSeedInt } from "#app/utils"; +import { randSeedInt } from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/escape-calculations.test.ts b/test/escape-calculations.test.ts index d591bdec9fc..56333432cee 100644 --- a/test/escape-calculations.test.ts +++ b/test/escape-calculations.test.ts @@ -1,7 +1,7 @@ import { AttemptRunPhase } from "#app/phases/attempt-run-phase"; import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/evolution.test.ts b/test/evolution.test.ts index 68d02402eac..4f91cd99382 100644 --- a/test/evolution.test.ts +++ b/test/evolution.test.ts @@ -6,7 +6,7 @@ import { import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import * as Utils from "#app/utils"; +import * as Utils from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/game-mode.test.ts b/test/game-mode.test.ts index a2da7d1690a..0483d18e492 100644 --- a/test/game-mode.test.ts +++ b/test/game-mode.test.ts @@ -1,7 +1,7 @@ import type { GameMode } from "#app/game-mode"; import { GameModes, getGameMode } from "#app/game-mode"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import * as Utils from "#app/utils"; +import * as Utils from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; describe("game-mode", () => { diff --git a/test/items/dire_hit.test.ts b/test/items/dire_hit.test.ts index f6197e097c2..b409b2ac7cb 100644 --- a/test/items/dire_hit.test.ts +++ b/test/items/dire_hit.test.ts @@ -6,7 +6,7 @@ import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { BattleEndPhase } from "#app/phases/battle-end-phase"; import { TempCritBoosterModifier } from "#app/modifier/modifier"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { Button } from "#app/enums/buttons"; import { CommandPhase } from "#app/phases/command-phase"; @@ -71,7 +71,7 @@ describe("Items - Dire Hit", () => { // Forced DIRE_HIT to spawn in the first slot with override game.onNextPrompt( "SelectModifierPhase", - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, () => { const handler = game.scene.ui.getHandler() as ModifierSelectUiHandler; // Traverse to first modifier slot diff --git a/test/items/double_battle_chance_booster.test.ts b/test/items/double_battle_chance_booster.test.ts index b4818e7e7ba..68a29ef823e 100644 --- a/test/items/double_battle_chance_booster.test.ts +++ b/test/items/double_battle_chance_booster.test.ts @@ -5,7 +5,7 @@ import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { ShopCursorTarget } from "#app/enums/shop-cursor-target"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import type ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { Button } from "#app/enums/buttons"; @@ -69,7 +69,7 @@ describe("Items - Double Battle Chance Boosters", () => { // Forced LURE to spawn in the first slot with override game.onNextPrompt( "SelectModifierPhase", - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, () => { const handler = game.scene.ui.getHandler() as ModifierSelectUiHandler; // Traverse to first modifier slot diff --git a/test/items/eviolite.test.ts b/test/items/eviolite.test.ts index 43fd6a795bb..fafc0f4a10c 100644 --- a/test/items/eviolite.test.ts +++ b/test/items/eviolite.test.ts @@ -1,5 +1,5 @@ import { StatBoosterModifier } from "#app/modifier/modifier"; -import { NumberHolder, randItem } from "#app/utils"; +import { NumberHolder, randItem } from "#app/utils/common"; import { Species } from "#enums/species"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/items/exp_booster.test.ts b/test/items/exp_booster.test.ts index 3fe31e5c202..ec7528c3b23 100644 --- a/test/items/exp_booster.test.ts +++ b/test/items/exp_booster.test.ts @@ -1,6 +1,6 @@ import { Abilities } from "#app/enums/abilities"; import { PokemonExpBoosterModifier } from "#app/modifier/modifier"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; diff --git a/test/items/leek.test.ts b/test/items/leek.test.ts index 5f9be882bc1..7589b89bc15 100644 --- a/test/items/leek.test.ts +++ b/test/items/leek.test.ts @@ -1,5 +1,5 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { randInt } from "#app/utils"; +import { randInt } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/items/light_ball.test.ts b/test/items/light_ball.test.ts index e85fb1b602b..91195d0b1e5 100644 --- a/test/items/light_ball.test.ts +++ b/test/items/light_ball.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; diff --git a/test/items/lock_capsule.test.ts b/test/items/lock_capsule.test.ts index 9cc6046307e..19829578d87 100644 --- a/test/items/lock_capsule.test.ts +++ b/test/items/lock_capsule.test.ts @@ -2,7 +2,7 @@ import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -41,7 +41,7 @@ describe("Items - Lock Capsule", () => { }), ); - game.onNextPrompt("SelectModifierPhase", Mode.MODIFIER_SELECT, () => { + game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { const selectModifierPhase = game.scene.getCurrentPhase() as SelectModifierPhase; const rerollCost = selectModifierPhase.getRerollCost(true); expect(rerollCost).toBe(150); diff --git a/test/items/metal_powder.test.ts b/test/items/metal_powder.test.ts index 37686710848..6be7655ec70 100644 --- a/test/items/metal_powder.test.ts +++ b/test/items/metal_powder.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; diff --git a/test/items/quick_powder.test.ts b/test/items/quick_powder.test.ts index 6937d6093f3..d77f981f04d 100644 --- a/test/items/quick_powder.test.ts +++ b/test/items/quick_powder.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; diff --git a/test/items/temp_stat_stage_booster.test.ts b/test/items/temp_stat_stage_booster.test.ts index ccbabf01ccb..a3cfc3256bb 100644 --- a/test/items/temp_stat_stage_booster.test.ts +++ b/test/items/temp_stat_stage_booster.test.ts @@ -7,7 +7,7 @@ import { Moves } from "#app/enums/moves"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { Abilities } from "#app/enums/abilities"; import { TempStatStageBoosterModifier } from "#app/modifier/modifier"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Button } from "#app/enums/buttons"; import type ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { ShopCursorTarget } from "#app/enums/shop-cursor-target"; @@ -137,7 +137,7 @@ describe("Items - Temporary Stat Stage Boosters", () => { // Forced X_ATTACK to spawn in the first slot with override game.onNextPrompt( "SelectModifierPhase", - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, () => { const handler = game.scene.ui.getHandler() as ModifierSelectUiHandler; // Traverse to first modifier slot diff --git a/test/items/thick_club.test.ts b/test/items/thick_club.test.ts index 9e9cd2e2ec8..2a63a60a0e6 100644 --- a/test/items/thick_club.test.ts +++ b/test/items/thick_club.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import { NumberHolder, randInt } from "#app/utils"; +import { NumberHolder, randInt } from "#app/utils/common"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; diff --git a/test/moves/aurora_veil.test.ts b/test/moves/aurora_veil.test.ts index ef53b69b4e4..e9ab66d4203 100644 --- a/test/moves/aurora_veil.test.ts +++ b/test/moves/aurora_veil.test.ts @@ -5,7 +5,7 @@ import { allMoves, CritOnlyAttr } from "#app/data/moves/move"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/belly_drum.test.ts b/test/moves/belly_drum.test.ts index f01a50f8a79..8ee1026bf20 100644 --- a/test/moves/belly_drum.test.ts +++ b/test/moves/belly_drum.test.ts @@ -1,5 +1,5 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { Stat } from "#enums/stat"; diff --git a/test/moves/fillet_away.test.ts b/test/moves/fillet_away.test.ts index cc462b3746a..477cdf76fc7 100644 --- a/test/moves/fillet_away.test.ts +++ b/test/moves/fillet_away.test.ts @@ -1,5 +1,5 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { Stat } from "#enums/stat"; diff --git a/test/moves/light_screen.test.ts b/test/moves/light_screen.test.ts index 12aeb29577a..cea26f29542 100644 --- a/test/moves/light_screen.test.ts +++ b/test/moves/light_screen.test.ts @@ -6,7 +6,7 @@ import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/multi_target.test.ts b/test/moves/multi_target.test.ts index fccf650416c..ad47d540a14 100644 --- a/test/moves/multi_target.test.ts +++ b/test/moves/multi_target.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#app/enums/abilities"; import { Species } from "#app/enums/species"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Moves } from "#enums/moves"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; diff --git a/test/moves/pledge_moves.test.ts b/test/moves/pledge_moves.test.ts index b3d13a27b83..2bfd408e5fb 100644 --- a/test/moves/pledge_moves.test.ts +++ b/test/moves/pledge_moves.test.ts @@ -5,7 +5,7 @@ import { allMoves, FlinchAttr } from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Stat } from "#enums/stat"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/reflect.test.ts b/test/moves/reflect.test.ts index 473b46bf097..b8338cea8cf 100644 --- a/test/moves/reflect.test.ts +++ b/test/moves/reflect.test.ts @@ -6,7 +6,7 @@ import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { NumberHolder } from "#app/utils"; +import { NumberHolder } from "#app/utils/common"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; diff --git a/test/moves/revival_blessing.test.ts b/test/moves/revival_blessing.test.ts index 860ce5524d4..b36cd43eb83 100644 --- a/test/moves/revival_blessing.test.ts +++ b/test/moves/revival_blessing.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; -import { toDmgValue } from "#app/utils"; +import { toDmgValue } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/test/moves/substitute.test.ts b/test/moves/substitute.test.ts index 2e82078418b..7f4a2e69f9e 100644 --- a/test/moves/substitute.test.ts +++ b/test/moves/substitute.test.ts @@ -6,7 +6,7 @@ import { MoveResult } from "#app/field/pokemon"; import type { CommandPhase } from "#app/phases/command-phase"; import GameManager from "#test/testUtils/gameManager"; import { Command } from "#app/ui/command-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; @@ -398,7 +398,7 @@ describe("Moves - Substitute", () => { leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); // Simulate a Baton switch for the player this turn - game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.POKEMON, 1, true); }); diff --git a/test/mystery-encounter/encounter-test-utils.ts b/test/mystery-encounter/encounter-test-utils.ts index 93629778e0a..977f40bc90e 100644 --- a/test/mystery-encounter/encounter-test-utils.ts +++ b/test/mystery-encounter/encounter-test-utils.ts @@ -14,8 +14,8 @@ import type MessageUiHandler from "#app/ui/message-ui-handler"; import type MysteryEncounterUiHandler from "#app/ui/mystery-encounter-ui-handler"; import type PartyUiHandler from "#app/ui/party-ui-handler"; import type OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler"; -import { Mode } from "#app/ui/ui"; -import { isNullOrUndefined } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { isNullOrUndefined } from "#app/utils/common"; import { Button } from "#enums/buttons"; import { StatusEffect } from "#enums/status-effect"; import type GameManager from "#test/testUtils/gameManager"; @@ -40,7 +40,7 @@ export async function runMysteryEncounterToEnd( // run the selected options phase game.onNextPrompt( "MysteryEncounterOptionSelectedPhase", - Mode.MESSAGE, + UiMode.MESSAGE, () => { const uiHandler = game.scene.ui.getHandler(); uiHandler.processInput(Button.ACTION); @@ -51,9 +51,9 @@ export async function runMysteryEncounterToEnd( if (isBattle) { game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - game.setMode(Mode.MESSAGE); + game.setMode(UiMode.MESSAGE); game.endPhase(); }, () => game.isCurrentPhase(CommandPhase), @@ -61,16 +61,16 @@ export async function runMysteryEncounterToEnd( game.onNextPrompt( "CheckSwitchPhase", - Mode.MESSAGE, + UiMode.MESSAGE, () => { - game.setMode(Mode.MESSAGE); + game.setMode(UiMode.MESSAGE); game.endPhase(); }, () => game.isCurrentPhase(CommandPhase), ); // If a battle is started, fast forward to end of the battle - game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { game.scene.clearPhaseQueue(); game.scene.clearPhaseQueueSplice(); game.scene.unshiftPhase(new VictoryPhase(0)); @@ -78,13 +78,13 @@ export async function runMysteryEncounterToEnd( }); // Handle end of battle trainer messages - game.onNextPrompt("TrainerVictoryPhase", Mode.MESSAGE, () => { + game.onNextPrompt("TrainerVictoryPhase", UiMode.MESSAGE, () => { const uiHandler = game.scene.ui.getHandler(); uiHandler.processInput(Button.ACTION); }); // Handle egg hatch dialogue - game.onNextPrompt("EggLapsePhase", Mode.MESSAGE, () => { + game.onNextPrompt("EggLapsePhase", UiMode.MESSAGE, () => { const uiHandler = game.scene.ui.getHandler(); uiHandler.processInput(Button.ACTION); }); @@ -103,7 +103,7 @@ export async function runSelectMysteryEncounterOption( // Handle any eventual queued messages (e.g. weather phase, etc.) game.onNextPrompt( "MessagePhase", - Mode.MESSAGE, + UiMode.MESSAGE, () => { const uiHandler = game.scene.ui.getHandler(); uiHandler.processInput(Button.ACTION); @@ -118,7 +118,7 @@ export async function runSelectMysteryEncounterOption( // dispose of intro messages game.onNextPrompt( "MysteryEncounterPhase", - Mode.MESSAGE, + UiMode.MESSAGE, () => { const uiHandler = game.scene.ui.getHandler(); uiHandler.processInput(Button.ACTION); @@ -157,7 +157,7 @@ export async function runSelectMysteryEncounterOption( async function handleSecondaryOptionSelect(game: GameManager, pokemonNo: number, optionNo?: number) { // Handle secondary option selections - const partyUiHandler = game.scene.ui.handlers[Mode.PARTY] as PartyUiHandler; + const partyUiHandler = game.scene.ui.handlers[UiMode.PARTY] as PartyUiHandler; vi.spyOn(partyUiHandler, "show"); const encounterUiHandler = game.scene.ui.getHandler(); @@ -177,7 +177,7 @@ async function handleSecondaryOptionSelect(game: GameManager, pokemonNo: number, // If there is a second choice to make after selecting a Pokemon if (!isNullOrUndefined(optionNo)) { // Wait for Summary menu to close and second options to spawn - const secondOptionUiHandler = game.scene.ui.handlers[Mode.OPTION_SELECT] as OptionSelectUiHandler; + const secondOptionUiHandler = game.scene.ui.handlers[UiMode.OPTION_SELECT] as OptionSelectUiHandler; vi.spyOn(secondOptionUiHandler, "show"); await vi.waitFor(() => expect(secondOptionUiHandler.show).toHaveBeenCalled()); @@ -206,6 +206,6 @@ export async function skipBattleRunMysteryEncounterRewardsPhase(game: GameManage }); game.scene.pushPhase(new VictoryPhase(0)); game.phaseInterceptor.superEndPhase(); - game.setMode(Mode.MESSAGE); + game.setMode(UiMode.MESSAGE); await game.phaseInterceptor.to(MysteryEncounterRewardsPhase, runRewardsPhase); } diff --git a/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts b/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts index 43d582c5b70..a4c043ad13f 100644 --- a/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts +++ b/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts @@ -117,10 +117,8 @@ describe("A Trainer's Test - Mystery Encounter", () => { i18next.t("trainerNames:marley"), i18next.t("trainerNames:mira"), i18next.t("trainerNames:riley"), - ] - .map(name => name.toLowerCase()) - .includes(scene.currentBattle.trainer!.config.name), - ).toBeTruthy(); + ].map(name => name.toLowerCase()), + ).toContain(scene.currentBattle.trainer!.config.name.toLowerCase()); expect(enemyField[0]).toBeDefined(); }); diff --git a/test/mystery-encounter/encounters/berries-abound-encounter.test.ts b/test/mystery-encounter/encounters/berries-abound-encounter.test.ts index e19726f49fd..3f85b0b89d9 100644 --- a/test/mystery-encounter/encounters/berries-abound-encounter.test.ts +++ b/test/mystery-encounter/encounters/berries-abound-encounter.test.ts @@ -9,7 +9,7 @@ import { skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { BerryModifier } from "#app/modifier/modifier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; @@ -153,7 +153,7 @@ describe("Berries Abound - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -238,7 +238,7 @@ describe("Berries Abound - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts index 9befe77e688..fc208ed7180 100644 --- a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts +++ b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts @@ -12,7 +12,7 @@ import { import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; import { PokemonMove } from "#app/field/pokemon"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; @@ -364,7 +364,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(MysteryEncounterRewardsPhase.name); game.phaseInterceptor["prompts"] = []; // Clear out prompt handlers - game.onNextPrompt("MysteryEncounterRewardsPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("MysteryEncounterRewardsPhase", UiMode.OPTION_SELECT, () => { game.phaseInterceptor.superEndPhase(); }); await game.phaseInterceptor.run(MysteryEncounterRewardsPhase); @@ -416,7 +416,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -432,7 +432,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -454,7 +454,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -478,7 +478,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -554,7 +554,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts index 4bbe76e5c72..afc4a83e9bf 100644 --- a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts +++ b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts @@ -16,7 +16,7 @@ import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; @@ -206,14 +206,14 @@ describe("Clowning Around - Mystery Encounter", () => { await game.phaseInterceptor.run(SelectModifierPhase); const abilityToTrain = scene.currentBattle.mysteryEncounter?.misc.ability; - game.onNextPrompt("PostMysteryEncounterPhase", Mode.MESSAGE, () => { + game.onNextPrompt("PostMysteryEncounterPhase", UiMode.MESSAGE, () => { game.scene.ui.getHandler().processInput(Button.ACTION); }); // Run to ability train option selection - const optionSelectUiHandler = game.scene.ui.handlers[Mode.OPTION_SELECT] as OptionSelectUiHandler; + const optionSelectUiHandler = game.scene.ui.handlers[UiMode.OPTION_SELECT] as OptionSelectUiHandler; vi.spyOn(optionSelectUiHandler, "show"); - const partyUiHandler = game.scene.ui.handlers[Mode.PARTY] as PartyUiHandler; + const partyUiHandler = game.scene.ui.handlers[UiMode.PARTY] as PartyUiHandler; vi.spyOn(partyUiHandler, "show"); game.endPhase(); await game.phaseInterceptor.to(PostMysteryEncounterPhase); diff --git a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts index 77cd65e51b9..873bed2f213 100644 --- a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts +++ b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts @@ -15,7 +15,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { Moves } from "#enums/moves"; import { DancingLessonsEncounter } from "#app/data/mystery-encounters/encounters/dancing-lessons-encounter"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { PokemonMove } from "#app/field/pokemon"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; @@ -132,7 +132,7 @@ describe("Dancing Lessons - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts index d4b0de30535..2488d12dad1 100644 --- a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts +++ b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts @@ -7,7 +7,7 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vite import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { runMysteryEncounterToEnd } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { DepartmentStoreSaleEncounter } from "#app/data/mystery-encounters/encounters/department-store-sale-encounter"; import { CIVILIZATION_ENCOUNTER_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; @@ -98,7 +98,7 @@ describe("Department Store Sale - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -135,7 +135,7 @@ describe("Department Store Sale - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -175,7 +175,7 @@ describe("Department Store Sale - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -215,7 +215,7 @@ describe("Department Store Sale - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/field-trip-encounter.test.ts b/test/mystery-encounter/encounters/field-trip-encounter.test.ts index 8bd35d6013f..75a6fe77492 100644 --- a/test/mystery-encounter/encounters/field-trip-encounter.test.ts +++ b/test/mystery-encounter/encounters/field-trip-encounter.test.ts @@ -12,7 +12,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encount import { FieldTripEncounter } from "#app/data/mystery-encounters/encounters/field-trip-encounter"; import { Moves } from "#enums/moves"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import i18next from "i18next"; @@ -88,7 +88,7 @@ describe("Field Trip - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1, optionNo: 2 }); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -100,7 +100,7 @@ describe("Field Trip - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1, optionNo: 1 }); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -149,7 +149,7 @@ describe("Field Trip - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 2, { pokemonNo: 1, optionNo: 1 }); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -161,7 +161,7 @@ describe("Field Trip - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 2, { pokemonNo: 1, optionNo: 2 }); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -210,7 +210,7 @@ describe("Field Trip - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 3, { pokemonNo: 1, optionNo: 1 }); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -223,7 +223,7 @@ describe("Field Trip - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 3, { pokemonNo: 1, optionNo: 3 }); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts index d233e72932a..d47266268ee 100644 --- a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts +++ b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts @@ -12,7 +12,7 @@ import { import { Moves } from "#enums/moves"; import type BattleScene from "#app/battle-scene"; import { PokemonMove } from "#app/field/pokemon"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; @@ -126,7 +126,7 @@ describe("Fight or Flight - Mystery Encounter", () => { await game.phaseInterceptor.to(SelectModifierPhase, false); expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, @@ -186,7 +186,7 @@ describe("Fight or Flight - Mystery Encounter", () => { await game.phaseInterceptor.to(SelectModifierPhase, false); expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, diff --git a/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts b/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts index 4bb44c4d19e..f8375c1aa78 100644 --- a/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts +++ b/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts @@ -10,7 +10,7 @@ import { runSelectMysteryEncounterOption, } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; @@ -147,7 +147,7 @@ describe("Fun And Games! - Mystery Encounter", () => { expect(scene.getEnemyPokemon()?.ivs).toEqual([0, 0, 0, 0, 0, 0]); expect(scene.getEnemyPokemon()?.nature).toBe(Nature.MILD); - game.onNextPrompt("MessagePhase", Mode.MESSAGE, () => { + game.onNextPrompt("MessagePhase", UiMode.MESSAGE, () => { game.endPhase(); }); @@ -173,7 +173,7 @@ describe("Fun And Games! - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); - game.onNextPrompt("MessagePhase", Mode.MESSAGE, () => { + game.onNextPrompt("MessagePhase", UiMode.MESSAGE, () => { game.endPhase(); }); @@ -186,7 +186,7 @@ describe("Fun And Games! - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -200,7 +200,7 @@ describe("Fun And Games! - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); - game.onNextPrompt("MessagePhase", Mode.MESSAGE, () => { + game.onNextPrompt("MessagePhase", UiMode.MESSAGE, () => { game.endPhase(); }); @@ -215,7 +215,7 @@ describe("Fun And Games! - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -230,7 +230,7 @@ describe("Fun And Games! - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); - game.onNextPrompt("MessagePhase", Mode.MESSAGE, () => { + game.onNextPrompt("MessagePhase", UiMode.MESSAGE, () => { game.endPhase(); }); @@ -245,7 +245,7 @@ describe("Fun And Games! - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -260,7 +260,7 @@ describe("Fun And Games! - Mystery Encounter", () => { await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); - game.onNextPrompt("MessagePhase", Mode.MESSAGE, () => { + game.onNextPrompt("MessagePhase", UiMode.MESSAGE, () => { game.endPhase(); }); @@ -275,7 +275,7 @@ describe("Fun And Games! - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts index f68561c2286..576e99c4e18 100644 --- a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts +++ b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts @@ -15,10 +15,10 @@ import { modifierTypes } from "#app/modifier/modifier-type"; import { GlobalTradeSystemEncounter } from "#app/data/mystery-encounters/encounters/global-trade-system-encounter"; import { CIVILIZATION_ENCOUNTER_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { ModifierTier } from "#app/modifier/modifier-tier"; -import * as Utils from "#app/utils"; +import * as Utils from "#app/utils/common"; const namespace = "mysteryEncounters/globalTradeSystem"; const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; @@ -231,7 +231,7 @@ describe("Global Trade System - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts index f620cbd6c36..2c61d03b29d 100644 --- a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts +++ b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts @@ -10,7 +10,7 @@ import { skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; @@ -166,7 +166,7 @@ describe("Mysterious Challengers - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -210,7 +210,7 @@ describe("Mysterious Challengers - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -267,7 +267,7 @@ describe("Mysterious Challengers - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts b/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts index 85c823038e8..4ff94c5a9bd 100644 --- a/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts +++ b/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts @@ -10,7 +10,7 @@ import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import GameManager from "#test/testUtils/gameManager"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { @@ -301,7 +301,7 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts index a9e6a339d36..e3440aee9e0 100644 --- a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts @@ -18,7 +18,7 @@ import { Nature } from "#enums/nature"; import { BerryType } from "#enums/berry-type"; import { BattlerTagType } from "#enums/battler-tag-type"; import { PokemonMove } from "#app/field/pokemon"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { BerryModifier, PokemonBaseStatTotalModifier } from "#app/modifier/modifier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; @@ -236,7 +236,7 @@ describe("The Strong Stuff - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts b/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts index 94c8141aa1e..4cb712ce779 100644 --- a/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts @@ -7,7 +7,7 @@ import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { runMysteryEncounterToEnd } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; @@ -299,7 +299,7 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -341,7 +341,7 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -359,7 +359,7 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { async function skipBattleToNextBattle(game: GameManager, isFinalBattle = false) { game.scene.clearPhaseQueue(); game.scene.clearPhaseQueueSplice(); - const commandUiHandler = game.scene.ui.handlers[Mode.COMMAND]; + const commandUiHandler = game.scene.ui.handlers[UiMode.COMMAND]; commandUiHandler.clear(); game.scene.getEnemyParty().forEach(p => { p.hp = 0; diff --git a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts index df7bbb9f424..2f910a9250f 100644 --- a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts +++ b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts @@ -20,8 +20,8 @@ import { CommandPhase } from "#app/phases/command-phase"; import { MovePhase } from "#app/phases/move-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { Mode } from "#app/ui/ui"; -import * as Utils from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import * as Utils from "#app/utils/common"; import { Moves } from "#enums/moves"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; @@ -246,7 +246,7 @@ describe("Trash to Treasure - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts index fbb88e346a8..f51ab45e4d4 100644 --- a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts +++ b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts @@ -10,7 +10,7 @@ import { skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; import type BattleScene from "#app/battle-scene"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; @@ -144,7 +144,7 @@ describe("Weird Dream - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -200,7 +200,7 @@ describe("Weird Dream - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/phases/learn-move-phase.test.ts b/test/phases/learn-move-phase.test.ts index 55b9d8b79d4..019b833d386 100644 --- a/test/phases/learn-move-phase.test.ts +++ b/test/phases/learn-move-phase.test.ts @@ -4,7 +4,7 @@ import GameManager from "#test/testUtils/gameManager"; import { Species } from "#enums/species"; import { Moves } from "#enums/moves"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Button } from "#app/enums/buttons"; describe("Learn Move Phase", () => { @@ -52,10 +52,10 @@ describe("Learn Move Phase", () => { await game.doKillOpponents(); // queue up inputs to confirm dialog boxes - game.onNextPrompt("LearnMovePhase", Mode.CONFIRM, () => { + game.onNextPrompt("LearnMovePhase", UiMode.CONFIRM, () => { game.scene.ui.processInput(Button.ACTION); }); - game.onNextPrompt("LearnMovePhase", Mode.SUMMARY, () => { + game.onNextPrompt("LearnMovePhase", UiMode.SUMMARY, () => { for (let x = 0; x < moveSlotNum; x++) { game.scene.ui.processInput(Button.DOWN); } @@ -84,16 +84,16 @@ describe("Learn Move Phase", () => { await game.doKillOpponents(); // queue up inputs to confirm dialog boxes - game.onNextPrompt("LearnMovePhase", Mode.CONFIRM, () => { + game.onNextPrompt("LearnMovePhase", UiMode.CONFIRM, () => { game.scene.ui.processInput(Button.ACTION); }); - game.onNextPrompt("LearnMovePhase", Mode.SUMMARY, () => { + game.onNextPrompt("LearnMovePhase", UiMode.SUMMARY, () => { for (let x = 0; x < 4; x++) { game.scene.ui.processInput(Button.DOWN); // moves down 4 times to the 5th move slot } game.scene.ui.processInput(Button.ACTION); }); - game.onNextPrompt("LearnMovePhase", Mode.CONFIRM, () => { + game.onNextPrompt("LearnMovePhase", UiMode.CONFIRM, () => { game.scene.ui.processInput(Button.ACTION); }); await game.phaseInterceptor.to(LearnMovePhase); diff --git a/test/phases/mystery-encounter-phase.test.ts b/test/phases/mystery-encounter-phase.test.ts index f903932d2cb..34078b65039 100644 --- a/test/phases/mystery-encounter-phase.test.ts +++ b/test/phases/mystery-encounter-phase.test.ts @@ -3,7 +3,7 @@ import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { Species } from "#enums/species"; import { MysteryEncounterOptionSelectedPhase, MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Button } from "#enums/buttons"; import type MysteryEncounterUiHandler from "#app/ui/mystery-encounter-ui-handler"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; @@ -50,7 +50,7 @@ describe("Mystery Encounter Phases", () => { Species.VOLCARONA, ]); - game.onNextPrompt("MysteryEncounterPhase", Mode.MYSTERY_ENCOUNTER, () => { + game.onNextPrompt("MysteryEncounterPhase", UiMode.MYSTERY_ENCOUNTER, () => { // End phase early for test game.phaseInterceptor.superEndPhase(); }); @@ -61,7 +61,7 @@ describe("Mystery Encounter Phases", () => { MysteryEncounterType.MYSTERIOUS_CHALLENGERS, ); expect(game.scene.mysteryEncounterSaveData.encounteredEvents[0].tier).toEqual(MysteryEncounterTier.GREAT); - expect(game.scene.ui.getMode()).toBe(Mode.MYSTERY_ENCOUNTER); + expect(game.scene.ui.getMode()).toBe(UiMode.MYSTERY_ENCOUNTER); }); it("Selects an option for MysteryEncounterPhase", async () => { @@ -73,7 +73,7 @@ describe("Mystery Encounter Phases", () => { Species.VOLCARONA, ]); - game.onNextPrompt("MysteryEncounterPhase", Mode.MESSAGE, () => { + game.onNextPrompt("MysteryEncounterPhase", UiMode.MESSAGE, () => { const handler = game.scene.ui.getHandler() as MessageUiHandler; handler.processInput(Button.ACTION); }); @@ -89,7 +89,7 @@ describe("Mystery Encounter Phases", () => { await vi.waitFor(() => expect(game.scene.getCurrentPhase()?.constructor.name).toBe(MysteryEncounterOptionSelectedPhase.name), ); - expect(ui.getMode()).toBe(Mode.MESSAGE); + expect(ui.getMode()).toBe(UiMode.MESSAGE); expect(ui.showDialogue).toHaveBeenCalledTimes(1); expect(ui.showText).toHaveBeenCalledTimes(2); expect(ui.showDialogue).toHaveBeenCalledWith( diff --git a/test/phases/phases.test.ts b/test/phases/phases.test.ts index 96225c9151c..2483cfb317f 100644 --- a/test/phases/phases.test.ts +++ b/test/phases/phases.test.ts @@ -2,7 +2,7 @@ import type BattleScene from "#app/battle-scene"; import { LoginPhase } from "#app/phases/login-phase"; import { TitlePhase } from "#app/phases/title-phase"; import { UnavailablePhase } from "#app/phases/unavailable-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -32,7 +32,7 @@ describe("Phases", () => { const loginPhase = new LoginPhase(); scene.unshiftPhase(loginPhase); await game.phaseInterceptor.to(LoginPhase); - expect(scene.ui.getMode()).to.equal(Mode.MESSAGE); + expect(scene.ui.getMode()).to.equal(UiMode.MESSAGE); }); }); @@ -41,7 +41,7 @@ describe("Phases", () => { const titlePhase = new TitlePhase(); scene.unshiftPhase(titlePhase); await game.phaseInterceptor.to(TitlePhase); - expect(scene.ui.getMode()).to.equal(Mode.TITLE); + expect(scene.ui.getMode()).to.equal(UiMode.TITLE); }); }); @@ -50,7 +50,7 @@ describe("Phases", () => { const unavailablePhase = new UnavailablePhase(); scene.unshiftPhase(unavailablePhase); await game.phaseInterceptor.to(UnavailablePhase); - expect(scene.ui.getMode()).to.equal(Mode.UNAVAILABLE); + expect(scene.ui.getMode()).to.equal(UiMode.UNAVAILABLE); }, 20000); }); }); diff --git a/test/phases/select-modifier-phase.test.ts b/test/phases/select-modifier-phase.test.ts index d352acea77a..85f8b472c4a 100644 --- a/test/phases/select-modifier-phase.test.ts +++ b/test/phases/select-modifier-phase.test.ts @@ -6,8 +6,8 @@ import type { CustomModifierSettings } from "#app/modifier/modifier-type"; import { ModifierTypeOption, modifierTypes } from "#app/modifier/modifier-type"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { Mode } from "#app/ui/ui"; -import { shiftCharCodes } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { shiftCharCodes } from "#app/utils/common"; import { Abilities } from "#enums/abilities"; import { Button } from "#enums/buttons"; import { Moves } from "#enums/moves"; @@ -51,7 +51,7 @@ describe("SelectModifierPhase", () => { scene.unshiftPhase(selectModifierPhase); await game.phaseInterceptor.to(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); }); it("should generate random modifiers", async () => { @@ -59,7 +59,7 @@ describe("SelectModifierPhase", () => { game.move.select(Moves.FISSURE); await game.phaseInterceptor.to("SelectModifierPhase"); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -97,7 +97,7 @@ describe("SelectModifierPhase", () => { // TODO: nagivate the ui to reroll somehow //const smphase = scene.getCurrentPhase() as SelectModifierPhase; - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -106,7 +106,7 @@ describe("SelectModifierPhase", () => { modifierSelectHandler.processInput(Button.ACTION); expect(scene.money).toBe(1000000 - 250); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); expect(modifierSelectHandler.options.length).toEqual(3); }); @@ -125,7 +125,7 @@ describe("SelectModifierPhase", () => { game.move.select(Moves.FISSURE); await game.phaseInterceptor.to("SelectModifierPhase"); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -134,7 +134,7 @@ describe("SelectModifierPhase", () => { // TODO: nagivate ui to reroll with lock capsule enabled - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); expect(modifierSelectHandler.options.length).toEqual(3); // Reroll with lock can still upgrade expect( @@ -168,7 +168,7 @@ describe("SelectModifierPhase", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to("SelectModifierPhase"); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -205,7 +205,7 @@ describe("SelectModifierPhase", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to("SelectModifierPhase"); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -244,7 +244,7 @@ describe("SelectModifierPhase", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; @@ -268,7 +268,7 @@ describe("SelectModifierPhase", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.run(SelectModifierPhase); - expect(scene.ui.getMode()).to.equal(Mode.MODIFIER_SELECT); + expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); const modifierSelectHandler = scene.ui.handlers.find( h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; diff --git a/test/plugins/api/pokerogue-account-api.test.ts b/test/plugins/api/pokerogue-account-api.test.ts index e7e1b2d52b0..3c37451960a 100644 --- a/test/plugins/api/pokerogue-account-api.test.ts +++ b/test/plugins/api/pokerogue-account-api.test.ts @@ -2,7 +2,8 @@ import type { AccountInfoResponse } from "#app/@types/PokerogueAccountApi"; import { SESSION_ID_COOKIE_NAME } from "#app/constants"; import { PokerogueAccountApi } from "#app/plugins/api/pokerogue-account-api"; import { getApiBaseUrl } from "#test/testUtils/testUtils"; -import * as Utils from "#app/utils"; +import * as CookieUtils from "#app/utils/cookies"; +import * as cookies from "#app/utils/cookies"; import { http, HttpResponse } from "msw"; import { beforeAll, afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { initServerForApiTests } from "#test/testUtils/testFileInitialization"; @@ -98,13 +99,13 @@ describe("Pokerogue Account API", () => { const loginParams = { username: "test", password: "test" }; it("should return null and set the cookie on SUCCESS", async () => { - vi.spyOn(Utils, "setCookie"); + vi.spyOn(CookieUtils, "setCookie"); server.use(http.post(`${apiBase}/account/login`, () => HttpResponse.json({ token: "abctest" }))); const error = await accountApi.login(loginParams); expect(error).toBeNull(); - expect(Utils.setCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME, "abctest"); + expect(cookies.setCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME, "abctest"); }); it("should return error message and report a warning on FAILURE", async () => { @@ -130,16 +131,16 @@ describe("Pokerogue Account API", () => { describe("Logout", () => { beforeEach(() => { - vi.spyOn(Utils, "removeCookie"); + vi.spyOn(CookieUtils, "removeCookie"); }); it("should remove cookie on success", async () => { - vi.spyOn(Utils, "setCookie"); + vi.spyOn(CookieUtils, "setCookie"); server.use(http.get(`${apiBase}/account/logout`, () => new HttpResponse("", { status: 200 }))); await accountApi.logout(); - expect(Utils.removeCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME); + expect(cookies.removeCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME); }); it("should report a warning on and remove cookie on FAILURE", async () => { @@ -147,7 +148,7 @@ describe("Pokerogue Account API", () => { await accountApi.logout(); - expect(Utils.removeCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME); + expect(cookies.removeCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME); expect(console.warn).toHaveBeenCalledWith("Log out failed!", expect.any(Error)); }); @@ -156,7 +157,7 @@ describe("Pokerogue Account API", () => { await accountApi.logout(); - expect(Utils.removeCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME); + expect(cookies.removeCookie).toHaveBeenCalledWith(SESSION_ID_COOKIE_NAME); expect(console.warn).toHaveBeenCalledWith("Log out failed!", expect.any(Error)); }); }); diff --git a/test/reload.test.ts b/test/reload.test.ts index c69c0f9f484..93823e06cce 100644 --- a/test/reload.test.ts +++ b/test/reload.test.ts @@ -1,7 +1,7 @@ import { GameModes } from "#app/game-mode"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Biome } from "#enums/biome"; import { Button } from "#enums/buttons"; import { Moves } from "#enums/moves"; @@ -58,7 +58,7 @@ describe("Reload", () => { // Transition from Wave 10 to Wave 11 in order to trigger biome switch game.move.select(Moves.SPLASH); await game.doKillOpponents(); - game.onNextPrompt("SelectBiomePhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectBiomePhase", UiMode.OPTION_SELECT, () => { (game.scene.time as MockClock).overrideDelay = null; const optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; game.scene.time.delayedCall(1010, () => optionSelectUiHandler.processInput(Button.ACTION)); diff --git a/test/settingMenu/rebinding_setting.test.ts b/test/settingMenu/rebinding_setting.test.ts index 28b5d73d7cc..45c647248c4 100644 --- a/test/settingMenu/rebinding_setting.test.ts +++ b/test/settingMenu/rebinding_setting.test.ts @@ -2,7 +2,7 @@ import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty"; import { getKeyWithKeycode, getKeyWithSettingName } from "#app/configs/inputs/configHandler"; import type { InterfaceConfig } from "#app/inputs-controller"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; -import { deepCopy } from "#app/utils"; +import { deepCopy } from "#app/utils/common"; import { Button } from "#enums/buttons"; import { Device } from "#enums/devices"; import { InGameManip } from "#test/settingMenu/helpers/inGameManip"; diff --git a/test/system/game_data.test.ts b/test/system/game_data.test.ts index 94e82949fe6..900fb672320 100644 --- a/test/system/game_data.test.ts +++ b/test/system/game_data.test.ts @@ -1,4 +1,4 @@ -import * as BattleScene from "#app/battle-scene"; +import * as bypassLoginModule from "#app/global-vars/bypass-login"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type { SessionSaveData } from "#app/system/game-data"; import { Abilities } from "#enums/abilities"; @@ -33,13 +33,13 @@ describe("System - Game Data", () => { describe("tryClearSession", () => { beforeEach(() => { - vi.spyOn(BattleScene, "bypassLogin", "get").mockReturnValue(false); + vi.spyOn(bypassLoginModule, "bypassLogin", "get").mockReturnValue(false); vi.spyOn(game.scene.gameData, "getSessionSaveData").mockReturnValue({} as SessionSaveData); vi.spyOn(account, "updateUserInfo").mockImplementation(async () => [true, 1]); }); it("should return [true, true] if bypassLogin is true", async () => { - vi.spyOn(BattleScene, "bypassLogin", "get").mockReturnValue(true); + vi.spyOn(bypassLoginModule, "bypassLogin", "get").mockReturnValue(true); const result = await game.scene.gameData.tryClearSession(0); diff --git a/test/testUtils/gameManager.ts b/test/testUtils/gameManager.ts index 390e71af126..874d8f786b8 100644 --- a/test/testUtils/gameManager.ts +++ b/test/testUtils/gameManager.ts @@ -30,8 +30,8 @@ import type CommandUiHandler from "#app/ui/command-ui-handler"; import type ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import type PartyUiHandler from "#app/ui/party-ui-handler"; import type TargetSelectUiHandler from "#app/ui/target-select-ui-handler"; -import { Mode } from "#app/ui/ui"; -import { isNullOrUndefined } from "#app/utils"; +import { UiMode } from "#enums/ui-mode"; +import { isNullOrUndefined } from "#app/utils/common"; import { BattleStyle } from "#enums/battle-style"; import { Button } from "#enums/buttons"; import { ExpGainsSpeed } from "#enums/exp-gains-speed"; @@ -102,7 +102,7 @@ export default class GameManager { if (!firstTimeScene) { this.scene.reset(false, true); - (this.scene.ui.handlers[Mode.STARTER_SELECT] as StarterSelectUiHandler).clearStarterPreferences(); + (this.scene.ui.handlers[UiMode.STARTER_SELECT] as StarterSelectUiHandler).clearStarterPreferences(); this.scene.clearAllPhases(); // Must be run after phase interceptor has been initialized. @@ -135,7 +135,7 @@ export default class GameManager { * Sets the game mode. * @param mode - The mode to set. */ - setMode(mode: Mode) { + setMode(mode: UiMode) { this.scene.ui?.setMode(mode); } @@ -144,7 +144,7 @@ export default class GameManager { * @param mode - The mode to wait for. * @returns A promise that resolves when the mode is set. */ - waitMode(mode: Mode): Promise { + waitMode(mode: UiMode): Promise { return new Promise(async resolve => { await waitUntil(() => this.scene.ui?.getMode() === mode); return resolve(); @@ -168,7 +168,7 @@ export default class GameManager { */ onNextPrompt( phaseTarget: string, - mode: Mode, + mode: UiMode, callback: () => void, expireFn?: () => void, awaitingActionInput = false, @@ -208,7 +208,7 @@ export default class GameManager { console.log("===to final boss encounter==="); await this.runToTitle(); - this.onNextPrompt("TitlePhase", Mode.TITLE, () => { + this.onNextPrompt("TitlePhase", UiMode.TITLE, () => { this.scene.gameMode = getGameMode(mode); const starters = generateStarter(this.scene, species); const selectStarterPhase = new SelectStarterPhase(); @@ -243,7 +243,7 @@ export default class GameManager { this.onNextPrompt( "TitlePhase", - Mode.TITLE, + UiMode.TITLE, () => { this.scene.gameMode = getGameMode(GameModes.CLASSIC); const starters = generateStarter(this.scene, species); @@ -256,7 +256,7 @@ export default class GameManager { this.onNextPrompt( "EncounterPhase", - Mode.MESSAGE, + UiMode.MESSAGE, () => { const handler = this.scene.ui.getHandler() as BattleMessageUiHandler; handler.processInput(Button.ACTION); @@ -284,9 +284,9 @@ export default class GameManager { if (this.scene.battleStyle === BattleStyle.SWITCH) { this.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.setMode(Mode.MESSAGE); + this.setMode(UiMode.MESSAGE); this.endPhase(); }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(TurnInitPhase), @@ -294,9 +294,9 @@ export default class GameManager { this.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.setMode(Mode.MESSAGE); + this.setMode(UiMode.MESSAGE); this.endPhase(); }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(TurnInitPhase), @@ -316,7 +316,7 @@ export default class GameManager { selectTarget(movePosition: number, targetIndex?: BattlerIndex) { this.onNextPrompt( "SelectTargetPhase", - Mode.TARGET_SELECT, + UiMode.TARGET_SELECT, () => { const handler = this.scene.ui.getHandler() as TargetSelectUiHandler; const move = (this.scene.getCurrentPhase() as SelectTargetPhase) @@ -351,7 +351,7 @@ export default class GameManager { doSelectModifier() { this.onNextPrompt( "SelectModifierPhase", - Mode.MODIFIER_SELECT, + UiMode.MODIFIER_SELECT, () => { const handler = this.scene.ui.getHandler() as ModifierSelectUiHandler; handler.processInput(Button.CANCEL); @@ -365,7 +365,7 @@ export default class GameManager { this.onNextPrompt( "SelectModifierPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { const handler = this.scene.ui.getHandler() as ModifierSelectUiHandler; handler.processInput(Button.ACTION); @@ -427,9 +427,9 @@ export default class GameManager { this.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.setMode(Mode.MESSAGE); + this.setMode(UiMode.MESSAGE); this.endPhase(); }, () => this.isCurrentPhase(TurnInitPhase), @@ -461,7 +461,7 @@ export default class GameManager { * @param mode - The target mode. * @returns True if the current mode matches the target mode, otherwise false. */ - isCurrentMode(mode: Mode) { + isCurrentMode(mode: UiMode) { return this.scene.ui?.getMode() === mode; } @@ -516,7 +516,7 @@ export default class GameManager { * @param pokemonIndex the index of the pokemon in your party to switch to */ doSwitchPokemon(pokemonIndex: number) { - this.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + this.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { (this.scene.ui.getHandler() as CommandUiHandler).setCursor(2); (this.scene.ui.getHandler() as CommandUiHandler).processInput(Button.ACTION); }); @@ -545,7 +545,7 @@ export default class GameManager { * non-command switch actions happen in SwitchPhase. */ doSelectPartyPokemon(slot: number, inPhase = "SwitchPhase") { - this.onNextPrompt(inPhase, Mode.PARTY, () => { + this.onNextPrompt(inPhase, UiMode.PARTY, () => { const partyHandler = this.scene.ui.getHandler() as PartyUiHandler; partyHandler.setCursor(slot); @@ -560,12 +560,12 @@ export default class GameManager { * @param ballIndex the index of the pokeball to throw */ public doThrowPokeball(ballIndex: number) { - this.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + this.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { (this.scene.ui.getHandler() as CommandUiHandler).setCursor(1); (this.scene.ui.getHandler() as CommandUiHandler).processInput(Button.ACTION); }); - this.onNextPrompt("CommandPhase", Mode.BALL, () => { + this.onNextPrompt("CommandPhase", UiMode.BALL, () => { const ballHandler = this.scene.ui.getHandler() as BallUiHandler; ballHandler.setCursor(ballIndex); ballHandler.processInput(Button.ACTION); // select ball and throw diff --git a/test/testUtils/gameWrapper.ts b/test/testUtils/gameWrapper.ts index 02865701ed0..050e9f13257 100644 --- a/test/testUtils/gameWrapper.ts +++ b/test/testUtils/gameWrapper.ts @@ -1,8 +1,9 @@ // @ts-nocheck - TODO: remove this -import BattleScene, * as battleScene from "#app/battle-scene"; +import BattleScene from "#app/battle-scene"; import { MoveAnim } from "#app/data/battle-anims"; import Pokemon from "#app/field/pokemon"; -import { setCookie, sessionIdKey } from "#app/utils"; +import { sessionIdKey } from "#app/utils/common"; +import { setCookie } from "#app/utils/cookies"; import { blobToString } from "#test/testUtils/gameManagerUtils"; import { MockClock } from "#test/testUtils/mocks/mockClock"; import { MockFetch } from "#test/testUtils/mocks/mockFetch"; @@ -20,6 +21,8 @@ import KeyboardPlugin = Phaser.Input.Keyboard.KeyboardPlugin; import GamepadPlugin = Phaser.Input.Gamepad.GamepadPlugin; import EventEmitter = Phaser.Events.EventEmitter; import UpdateList = Phaser.GameObjects.UpdateList; +// biome-ignore lint/style/noNamespaceImport: Necessary in order to mock the var +import * as bypassLoginModule from "#app/global-vars/bypass-login"; window.URL.createObjectURL = (blob: Blob) => { blobToString(blob).then((data: string) => { @@ -43,7 +46,7 @@ export default class GameWrapper { Phaser.Math.RND.sow(["test"]); // vi.spyOn(Utils, "apiFetch", "get").mockReturnValue(fetch); if (bypassLogin) { - vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(true); + vi.spyOn(bypassLoginModule, "bypassLogin", "get").mockReturnValue(true); } this.game = phaserGame; MoveAnim.prototype.getAnim = () => ({ diff --git a/test/testUtils/helpers/challengeModeHelper.ts b/test/testUtils/helpers/challengeModeHelper.ts index 0b7826eda7e..3a4f2adcd09 100644 --- a/test/testUtils/helpers/challengeModeHelper.ts +++ b/test/testUtils/helpers/challengeModeHelper.ts @@ -3,7 +3,7 @@ import type { Species } from "#app/enums/species"; import overrides from "#app/overrides"; import { EncounterPhase } from "#app/phases/encounter-phase"; import { SelectStarterPhase } from "#app/phases/select-starter-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { generateStarter } from "../gameManagerUtils"; import { GameManagerHelper } from "./gameManagerHelper"; import type { Challenge } from "#app/data/challenge"; @@ -41,7 +41,7 @@ export class ChallengeModeHelper extends GameManagerHelper { this.game.override.shiny(false).enemyShiny(false); } - this.game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + this.game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { this.game.scene.gameMode.challenges = this.challenges; const starters = generateStarter(this.game.scene, species); const selectStarterPhase = new SelectStarterPhase(); @@ -66,9 +66,9 @@ export class ChallengeModeHelper extends GameManagerHelper { if (this.game.scene.battleStyle === BattleStyle.SWITCH) { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), @@ -76,9 +76,9 @@ export class ChallengeModeHelper extends GameManagerHelper { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), diff --git a/test/testUtils/helpers/classicModeHelper.ts b/test/testUtils/helpers/classicModeHelper.ts index 5b6a38f5747..8e1ac95c733 100644 --- a/test/testUtils/helpers/classicModeHelper.ts +++ b/test/testUtils/helpers/classicModeHelper.ts @@ -6,7 +6,7 @@ import { CommandPhase } from "#app/phases/command-phase"; import { EncounterPhase } from "#app/phases/encounter-phase"; import { SelectStarterPhase } from "#app/phases/select-starter-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { generateStarter } from "../gameManagerUtils"; import { GameManagerHelper } from "./gameManagerHelper"; @@ -26,7 +26,7 @@ export class ClassicModeHelper extends GameManagerHelper { this.game.override.shiny(false).enemyShiny(false); } - this.game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + this.game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { this.game.scene.gameMode = getGameMode(GameModes.CLASSIC); const starters = generateStarter(this.game.scene, species); const selectStarterPhase = new SelectStarterPhase(); @@ -51,9 +51,9 @@ export class ClassicModeHelper extends GameManagerHelper { if (this.game.scene.battleStyle === BattleStyle.SWITCH) { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), @@ -61,9 +61,9 @@ export class ClassicModeHelper extends GameManagerHelper { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), diff --git a/test/testUtils/helpers/dailyModeHelper.ts b/test/testUtils/helpers/dailyModeHelper.ts index 0f5bc84df68..8ee03ce5f89 100644 --- a/test/testUtils/helpers/dailyModeHelper.ts +++ b/test/testUtils/helpers/dailyModeHelper.ts @@ -6,7 +6,7 @@ import { EncounterPhase } from "#app/phases/encounter-phase"; import { TitlePhase } from "#app/phases/title-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; import type SaveSlotSelectUiHandler from "#app/ui/save-slot-select-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { GameManagerHelper } from "./gameManagerHelper"; /** @@ -24,12 +24,12 @@ export class DailyModeHelper extends GameManagerHelper { this.game.override.shiny(false).enemyShiny(false); } - this.game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + this.game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const titlePhase = new TitlePhase(); titlePhase.initDailyRun(); }); - this.game.onNextPrompt("TitlePhase", Mode.SAVE_SLOT, () => { + this.game.onNextPrompt("TitlePhase", UiMode.SAVE_SLOT, () => { const uihandler = this.game.scene.ui.getHandler(); uihandler.processInput(Button.ACTION); // select first slot. that's fine }); @@ -51,9 +51,9 @@ export class DailyModeHelper extends GameManagerHelper { if (this.game.scene.battleStyle === BattleStyle.SWITCH) { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), @@ -61,9 +61,9 @@ export class DailyModeHelper extends GameManagerHelper { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index a54028ebca0..edade109966 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -7,7 +7,7 @@ import type { CommandPhase } from "#app/phases/command-phase"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Command } from "#app/ui/command-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Moves } from "#enums/moves"; import { getMovePosition } from "#test/testUtils/gameManagerUtils"; import { GameManagerHelper } from "#test/testUtils/helpers/gameManagerHelper"; @@ -53,10 +53,10 @@ export class MoveHelper extends GameManagerHelper { public select(move: Moves, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null) { const movePosition = getMovePosition(this.game.scene, pkmIndex, move); - this.game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { - this.game.scene.ui.setMode(Mode.FIGHT, (this.game.scene.getCurrentPhase() as CommandPhase).getFieldIndex()); + this.game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { + this.game.scene.ui.setMode(UiMode.FIGHT, (this.game.scene.getCurrentPhase() as CommandPhase).getFieldIndex()); }); - this.game.onNextPrompt("CommandPhase", Mode.FIGHT, () => { + this.game.onNextPrompt("CommandPhase", UiMode.FIGHT, () => { (this.game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false); }); @@ -76,14 +76,14 @@ export class MoveHelper extends GameManagerHelper { const movePosition = getMovePosition(this.game.scene, pkmIndex, move); this.game.scene.getPlayerParty()[pkmIndex].isTerastallized = false; - this.game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + this.game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { this.game.scene.ui.setMode( - Mode.FIGHT, + UiMode.FIGHT, (this.game.scene.getCurrentPhase() as CommandPhase).getFieldIndex(), Command.TERA, ); }); - this.game.onNextPrompt("CommandPhase", Mode.FIGHT, () => { + this.game.onNextPrompt("CommandPhase", UiMode.FIGHT, () => { (this.game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.TERA, movePosition, false); }); @@ -135,16 +135,16 @@ export class MoveHelper extends GameManagerHelper { // if slots are full, queue up inputs to replace existing moves if (this.game.scene.getPlayerParty()[partyIndex].moveset.filter(m => m).length === 4) { - this.game.onNextPrompt("LearnMovePhase", Mode.CONFIRM, () => { + this.game.onNextPrompt("LearnMovePhase", UiMode.CONFIRM, () => { this.game.scene.ui.processInput(Button.ACTION); // "Should a move be forgotten and replaced with XXX?" }); - this.game.onNextPrompt("LearnMovePhase", Mode.SUMMARY, () => { + this.game.onNextPrompt("LearnMovePhase", UiMode.SUMMARY, () => { for (let x = 0; x < (moveSlotIndex ?? 0); x++) { this.game.scene.ui.processInput(Button.DOWN); // Scrolling in summary pane to move position } this.game.scene.ui.processInput(Button.ACTION); if (moveSlotIndex === 4) { - this.game.onNextPrompt("LearnMovePhase", Mode.CONFIRM, () => { + this.game.onNextPrompt("LearnMovePhase", UiMode.CONFIRM, () => { this.game.scene.ui.processInput(Button.ACTION); // "Give up on learning XXX?" }); } diff --git a/test/testUtils/helpers/overridesHelper.ts b/test/testUtils/helpers/overridesHelper.ts index d570a1a4195..6aa382ef59a 100644 --- a/test/testUtils/helpers/overridesHelper.ts +++ b/test/testUtils/helpers/overridesHelper.ts @@ -14,7 +14,7 @@ import { StatusEffect } from "#enums/status-effect"; import type { WeatherType } from "#enums/weather-type"; import { expect, vi } from "vitest"; import { GameManagerHelper } from "./gameManagerHelper"; -import { shiftCharCodes } from "#app/utils"; +import { shiftCharCodes } from "#app/utils/common"; import type { RandomTrainerOverride } from "#app/overrides"; import type { BattleType } from "#enums/battle-type"; diff --git a/test/testUtils/helpers/reloadHelper.ts b/test/testUtils/helpers/reloadHelper.ts index 842cd88b95c..4867a146aaf 100644 --- a/test/testUtils/helpers/reloadHelper.ts +++ b/test/testUtils/helpers/reloadHelper.ts @@ -1,6 +1,6 @@ import { GameManagerHelper } from "./gameManagerHelper"; import { TitlePhase } from "#app/phases/title-phase"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { vi } from "vitest"; import { BattleStyle } from "#app/enums/battle-style"; import { CommandPhase } from "#app/phases/command-phase"; @@ -53,9 +53,9 @@ export class ReloadHelper extends GameManagerHelper { if (this.game.scene.battleStyle === BattleStyle.SWITCH) { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), @@ -63,9 +63,9 @@ export class ReloadHelper extends GameManagerHelper { this.game.onNextPrompt( "CheckSwitchPhase", - Mode.CONFIRM, + UiMode.CONFIRM, () => { - this.game.setMode(Mode.MESSAGE); + this.game.setMode(UiMode.MESSAGE); this.game.endPhase(); }, () => this.game.isCurrentPhase(CommandPhase) || this.game.isCurrentPhase(TurnInitPhase), diff --git a/test/testUtils/phaseInterceptor.ts b/test/testUtils/phaseInterceptor.ts index 742a6bc8441..3d56c513c00 100644 --- a/test/testUtils/phaseInterceptor.ts +++ b/test/testUtils/phaseInterceptor.ts @@ -43,7 +43,8 @@ import { TurnStartPhase } from "#app/phases/turn-start-phase"; import { UnavailablePhase } from "#app/phases/unavailable-phase"; import { VictoryPhase } from "#app/phases/victory-phase"; import { PartyHealPhase } from "#app/phases/party-heal-phase"; -import UI, { Mode } from "#app/ui/ui"; +import UI from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { SelectBiomePhase } from "#app/phases/select-biome-phase"; import { MysteryEncounterBattlePhase, @@ -64,7 +65,7 @@ import { RevivalBlessingPhase } from "#app/phases/revival-blessing-phase"; export interface PromptHandler { phaseTarget?: string; - mode?: Mode; + mode?: UiMode; callback?: () => void; expireFn?: () => void; awaitingActionInput?: boolean; @@ -487,13 +488,13 @@ export default class PhaseInterceptor { /** * m2m to set mode. - * @param mode - The {@linkcode Mode} to set. + * @param mode - The {@linkcode UiMode} to set. * @param args - Additional arguments to pass to the original method. */ - setMode(mode: Mode, ...args: unknown[]): Promise { + setMode(mode: UiMode, ...args: unknown[]): Promise { const currentPhase = this.scene.getCurrentPhase(); const instance = this.scene.ui; - console.log("setMode", `${Mode[mode]} (=${mode})`, args); + console.log("setMode", `${UiMode[mode]} (=${mode})`, args); const ret = this.originalSetMode.apply(instance, [mode, ...args]); if (!this.phases[currentPhase.constructor.name]) { throw new Error( @@ -546,7 +547,7 @@ export default class PhaseInterceptor { */ addToNextPrompt( phaseTarget: string, - mode: Mode, + mode: UiMode, callback: () => void, expireFn?: () => void, awaitingActionInput = false, diff --git a/test/testUtils/testFileInitialization.ts b/test/testUtils/testFileInitialization.ts index cb2cd57044d..414e34e024b 100644 --- a/test/testUtils/testFileInitialization.ts +++ b/test/testUtils/testFileInitialization.ts @@ -11,7 +11,7 @@ import { initSpecies } from "#app/data/pokemon-species"; import { initAchievements } from "#app/system/achv"; import { initVouchers } from "#app/system/voucher"; import { initStatsKeys } from "#app/ui/game-stats-ui-handler"; -import { setCookie } from "#app/utils"; +import { setCookie } from "#app/utils/cookies"; import { blobToString } from "#test/testUtils/gameManagerUtils"; import { MockConsoleLog } from "#test/testUtils/mocks/mockConsoleLog"; import { mockContext } from "#test/testUtils/mocks/mockContextCanvas"; @@ -21,6 +21,7 @@ import Phaser from "phaser"; import InputText from "phaser3-rex-plugins/plugins/inputtext"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { manageListeners } from "./listenersManager"; +import { initI18n } from "#app/plugins/i18n"; let wasInitialized = false; /** @@ -87,6 +88,7 @@ export function initTestFile() { // initSpecies(); if (!wasInitialized) { wasInitialized = true; + initI18n(); initVouchers(); initAchievements(); initStatsKeys(); diff --git a/test/ui/starter-select.test.ts b/test/ui/starter-select.test.ts index 1d523c3bbd5..b402e02e2d7 100644 --- a/test/ui/starter-select.test.ts +++ b/test/ui/starter-select.test.ts @@ -9,7 +9,7 @@ import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler" import type SaveSlotSelectUiHandler from "#app/ui/save-slot-select-ui-handler"; import type OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler"; import type StarterSelectUiHandler from "#app/ui/starter-select-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import { Abilities } from "#enums/abilities"; import { Button } from "#enums/buttons"; import { Species } from "#enums/species"; @@ -44,12 +44,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -60,7 +60,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -74,15 +74,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -104,12 +104,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -121,7 +121,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -135,15 +135,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -166,12 +166,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -185,7 +185,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -199,15 +199,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -231,12 +231,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -248,7 +248,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -262,15 +262,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -292,12 +292,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -309,7 +309,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -323,15 +323,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -352,12 +352,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -371,7 +371,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -385,15 +385,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -414,12 +414,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.LEFT); @@ -432,7 +432,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -446,15 +446,15 @@ describe("UI - Starter select", () => { optionSelectUiHandler?.processInput(Button.ACTION); await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.SUBMIT); }); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); resolve(); @@ -475,12 +475,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.RIGHT); @@ -492,7 +492,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -507,7 +507,7 @@ describe("UI - Starter select", () => { let starterSelectUiHandler: StarterSelectUiHandler; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { starterSelectUiHandler = game.scene.ui.getHandler() as StarterSelectUiHandler; starterSelectUiHandler.processInput(Button.SUBMIT); resolve(); @@ -519,11 +519,11 @@ describe("UI - Starter select", () => { // expect(starterSelectUiHandler.cursorObj.x).toBe(132 + 4 * 18); // expect(starterSelectUiHandler.cursorObj.y).toBe(10); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); }); @@ -539,12 +539,12 @@ describe("UI - Starter select", () => { }).length; expect(caughtCount).toBe(Object.keys(allSpecies).length); await game.runToTitle(); - game.onNextPrompt("TitlePhase", Mode.TITLE, () => { + game.onNextPrompt("TitlePhase", UiMode.TITLE, () => { const currentPhase = game.scene.getCurrentPhase() as TitlePhase; currentPhase.gameMode = GameModes.CLASSIC; currentPhase.end(); }); - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.RIGHT); handler.processInput(Button.RIGHT); @@ -557,7 +557,7 @@ describe("UI - Starter select", () => { let options: OptionSelectItem[] = []; let optionSelectUiHandler: OptionSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.OPTION_SELECT, () => { optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler; options = optionSelectUiHandler.getOptionsWithScroll(); resolve(); @@ -572,7 +572,7 @@ describe("UI - Starter select", () => { let starterSelectUiHandler: StarterSelectUiHandler | undefined; await new Promise(resolve => { - game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.STARTER_SELECT, () => { starterSelectUiHandler = game.scene.ui.getHandler() as StarterSelectUiHandler; starterSelectUiHandler.processInput(Button.SUBMIT); resolve(); @@ -585,11 +585,11 @@ describe("UI - Starter select", () => { expect(starterSelectUiHandler?.cursorObj.x).toBe(53); expect(starterSelectUiHandler?.cursorObj.y).toBe(31); - game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.CONFIRM, () => { const handler = game.scene.ui.getHandler() as StarterSelectUiHandler; handler.processInput(Button.ACTION); }); - game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => { + game.onNextPrompt("SelectStarterPhase", UiMode.SAVE_SLOT, () => { const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler; saveSlotSelectUiHandler.processInput(Button.ACTION); }); diff --git a/test/ui/transfer-item.test.ts b/test/ui/transfer-item.test.ts index cbbdc1d50ee..f0ea8f84005 100644 --- a/test/ui/transfer-item.test.ts +++ b/test/ui/transfer-item.test.ts @@ -4,7 +4,7 @@ import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; @@ -42,21 +42,21 @@ describe("UI - Transfer Items", () => { game.move.select(Moves.DRAGON_CLAW); - game.onNextPrompt("SelectModifierPhase", Mode.MODIFIER_SELECT, () => { + game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { expect(game.scene.ui.getHandler()).toBeInstanceOf(ModifierSelectUiHandler); const handler = game.scene.ui.getHandler() as ModifierSelectUiHandler; handler.setCursor(1); handler.processInput(Button.ACTION); - void game.scene.ui.setModeWithoutClear(Mode.PARTY, PartyUiMode.MODIFIER_TRANSFER); + void game.scene.ui.setModeWithoutClear(UiMode.PARTY, PartyUiMode.MODIFIER_TRANSFER); }); await game.phaseInterceptor.to("BattleEndPhase"); }); it("check red tint for held item limit in transfer menu", async () => { - game.onNextPrompt("SelectModifierPhase", Mode.PARTY, () => { + game.onNextPrompt("SelectModifierPhase", UiMode.PARTY, () => { expect(game.scene.ui.getHandler()).toBeInstanceOf(PartyUiHandler); const handler = game.scene.ui.getHandler() as PartyUiHandler; @@ -79,7 +79,7 @@ describe("UI - Transfer Items", () => { }, 20000); it("check transfer option for pokemon to transfer to", async () => { - game.onNextPrompt("SelectModifierPhase", Mode.PARTY, () => { + game.onNextPrompt("SelectModifierPhase", UiMode.PARTY, () => { expect(game.scene.ui.getHandler()).toBeInstanceOf(PartyUiHandler); const handler = game.scene.ui.getHandler() as PartyUiHandler; diff --git a/test/ui/type-hints.test.ts b/test/ui/type-hints.test.ts index fcb71186448..08d9806ec7f 100644 --- a/test/ui/type-hints.test.ts +++ b/test/ui/type-hints.test.ts @@ -3,7 +3,7 @@ import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; import { CommandPhase } from "#app/phases/command-phase"; import FightUiHandler from "#app/ui/fight-ui-handler"; -import { Mode } from "#app/ui/ui"; +import { UiMode } from "#enums/ui-mode"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -42,14 +42,14 @@ describe("UI - Type Hints", () => { await game.startBattle([Species.RAYQUAZA]); - game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { const { ui } = game.scene; const handler = ui.getHandler(); handler.processInput(Button.ACTION); // select "Fight" game.phaseInterceptor.unlock(); }); - game.onNextPrompt("CommandPhase", Mode.FIGHT, () => { + game.onNextPrompt("CommandPhase", UiMode.FIGHT, () => { const { ui } = game.scene; const movesContainer = ui.getByName(FightUiHandler.MOVES_CONTAINER_NAME); const dragonClawText = movesContainer @@ -67,14 +67,14 @@ describe("UI - Type Hints", () => { await game.startBattle([Species.RAYQUAZA]); - game.onNextPrompt("CommandPhase", Mode.COMMAND, () => { + game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { const { ui } = game.scene; const handler = ui.getHandler(); handler.processInput(Button.ACTION); // select "Fight" game.phaseInterceptor.unlock(); }); - game.onNextPrompt("CommandPhase", Mode.FIGHT, () => { + game.onNextPrompt("CommandPhase", UiMode.FIGHT, () => { const { ui } = game.scene; const movesContainer = ui.getByName(FightUiHandler.MOVES_CONTAINER_NAME); const growlText = movesContainer diff --git a/src/utils.test.ts b/test/utils.test.ts similarity index 95% rename from src/utils.test.ts rename to test/utils.test.ts index cc3f2bb1a04..33f7906738c 100644 --- a/src/utils.test.ts +++ b/test/utils.test.ts @@ -1,5 +1,5 @@ import { expect, describe, it, beforeAll } from "vitest"; -import { randomString, padInt } from "./utils"; +import { randomString, padInt } from "#app/utils/common"; import Phaser from "phaser"; From 65294f408e1c8b26e13fa7ff01d6f42039ed0cfa Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 19 Apr 2025 10:04:19 -0500 Subject: [PATCH 039/102] [Bug][UI/UX] Fix type hint after enemy disappears (#5677) * Fix type hint after enemy disappears * Add automated test for type hint bugfix * Make onField default to true * Replace reference to Mode with UiMode and battleType with BattleStyle --- src/data/moves/move.ts | 4 ++-- src/data/terrain.ts | 2 +- src/field/pokemon.ts | 9 +++++++-- src/phases/move-phase.ts | 2 +- test/ui/type-hints.test.ts | 41 ++++++++++++++++++++++++++++++++++++-- 5 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 513ab3f6a74..26654fee18f 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -8183,7 +8183,7 @@ export type MoveTargetSet = { export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveTarget): MoveTargetSet { const variableTarget = new NumberHolder(0); - user.getOpponents().forEach(p => applyMoveAttrs(VariableTargetAttr, user, p, allMoves[move], variableTarget)); + user.getOpponents(false).forEach(p => applyMoveAttrs(VariableTargetAttr, user, p, allMoves[move], variableTarget)); let moveTarget: MoveTarget | undefined; if (allMoves[move].hasAttr(VariableTargetAttr)) { @@ -8195,7 +8195,7 @@ export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveT } else if (move === undefined) { moveTarget = MoveTarget.NEAR_ENEMY; } - const opponents = user.getOpponents(); + const opponents = user.getOpponents(false); let set: Pokemon[] = []; let multiple = false; diff --git a/src/data/terrain.ts b/src/data/terrain.ts index 894fb8a7955..5b6063cee68 100644 --- a/src/data/terrain.ts +++ b/src/data/terrain.ts @@ -59,7 +59,7 @@ export class Terrain { // Cancels move if the move has positive priority and targets a Pokemon grounded on the Psychic Terrain return ( move.getPriority(user) > 0 && - user.getOpponents().some(o => targets.includes(o.getBattlerIndex()) && o.isGrounded()) + user.getOpponents(true).some(o => targets.includes(o.getBattlerIndex()) && o.isGrounded()) ); } } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 0242820dcde..f2e5fd4c2b6 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -3852,12 +3852,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return null; } - getOpponents(): Pokemon[] { + /** + * Returns the pokemon that oppose this one and are active + * + * @param onField - whether to also check if the pokemon is currently on the field (defaults to true) + */ + getOpponents(onField = true): Pokemon[] { return ( (this.isPlayer() ? globalScene.getEnemyField() : globalScene.getPlayerField()) as Pokemon[] - ).filter(p => p.isActive()); + ).filter(p => p.isActive(onField)); } getOpponentDescriptor(): string { diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index f42a2aefa34..7d2848a5d70 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -654,7 +654,7 @@ export class MovePhase extends BattlePhase { }), 500, ); - applyMoveAttrs(PreMoveMessageAttr, this.pokemon, this.pokemon.getOpponents()[0], this.move.getMove()); + applyMoveAttrs(PreMoveMessageAttr, this.pokemon, this.pokemon.getOpponents(false)[0], this.move.getMove()); } public showFailedText(failedText: string = i18next.t("battle:attackFailed")): void { diff --git a/test/ui/type-hints.test.ts b/test/ui/type-hints.test.ts index 08d9806ec7f..2051af76754 100644 --- a/test/ui/type-hints.test.ts +++ b/test/ui/type-hints.test.ts @@ -40,7 +40,7 @@ describe("UI - Type Hints", () => { .moveset([Moves.DRAGON_CLAW]); game.settings.typeHints(true); //activate type hints - await game.startBattle([Species.RAYQUAZA]); + await game.classicMode.startBattle([Species.RAYQUAZA]); game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { const { ui } = game.scene; @@ -65,7 +65,7 @@ describe("UI - Type Hints", () => { it("check status move color", async () => { game.override.enemySpecies(Species.FLORGES).moveset([Moves.GROWL]); - await game.startBattle([Species.RAYQUAZA]); + await game.classicMode.startBattle([Species.RAYQUAZA]); game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { const { ui } = game.scene; @@ -86,4 +86,41 @@ describe("UI - Type Hints", () => { }); await game.phaseInterceptor.to(CommandPhase); }); + + it("should show the proper hint for a move in doubles after one of the enemy pokemon flees", async () => { + game.override + .enemySpecies(Species.ABRA) + .moveset([Moves.SPLASH, Moves.SHADOW_BALL, Moves.SOAK]) + .enemyMoveset([Moves.SPLASH, Moves.TELEPORT]) + .battleStyle("double"); + + await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.move.select(Moves.SPLASH); + // Use soak to change type of remaining abra to water + game.move.select(Moves.SOAK, 1); + + await game.forceEnemyMove(Moves.SPLASH); + await game.forceEnemyMove(Moves.TELEPORT); + await game.toNextTurn(); + + game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { + const { ui } = game.scene; + const handler = ui.getHandler(); + handler.processInput(Button.ACTION); // select "Fight" + game.phaseInterceptor.unlock(); + }); + + game.onNextPrompt("CommandPhase", UiMode.FIGHT, () => { + const { ui } = game.scene; + const movesContainer = ui.getByName(FightUiHandler.MOVES_CONTAINER_NAME); + const shadowBallText = movesContainer + .getAll() + .find(text => text.text === i18next.t("move:shadowBall.name"))! as unknown as MockText; + expect.soft(shadowBallText).toBeDefined(); + + expect.soft(shadowBallText.color).toBe(undefined); + ui.getHandler().processInput(Button.ACTION); + }); + await game.phaseInterceptor.to(CommandPhase); + }); }); From bda286cebb7285400925c5eefa3b3f4811549cda Mon Sep 17 00:00:00 2001 From: Chris <75648912+ChrisLolz@users.noreply.github.com> Date: Sat, 19 Apr 2025 17:00:12 -0400 Subject: [PATCH 040/102] [Bug] Fix Login Screen Buttons can be Pressed While Animating (#5170) * destroy containers when processing external containers * make form buttons uninteractible until tweens finished instead * fix holding enter spam * fix conflicts --- src/ui/form-modal-ui-handler.ts | 2 +- src/ui/login-form-ui-handler.ts | 132 +++++++++++++------------ src/ui/modal-ui-handler.ts | 6 +- src/ui/registration-form-ui-handler.ts | 86 ++++++++-------- 4 files changed, 120 insertions(+), 106 deletions(-) diff --git a/src/ui/form-modal-ui-handler.ts b/src/ui/form-modal-ui-handler.ts index e8e67d591d5..8c30b4e0bc4 100644 --- a/src/ui/form-modal-ui-handler.ts +++ b/src/ui/form-modal-ui-handler.ts @@ -124,7 +124,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler { if (this.buttonBgs.length) { this.buttonBgs[0].off("pointerdown"); this.buttonBgs[0].on("pointerdown", () => { - if (this.submitAction) { + if (this.submitAction && globalScene.tweens.getTweensOf(this.modalContainer).length === 0) { this.submitAction(); } }); diff --git a/src/ui/login-form-ui-handler.ts b/src/ui/login-form-ui-handler.ts index 2dfab9c0c40..714a9b39771 100644 --- a/src/ui/login-form-ui-handler.ts +++ b/src/ui/login-form-ui-handler.ts @@ -40,25 +40,9 @@ export default class LoginFormUiHandler extends FormModalUiHandler { setup(): void { super.setup(); + this.buildExternalPartyContainer(); - - this.infoContainer = globalScene.add.container(0, 0); - - this.usernameInfoImage = this.buildInteractableImage("settings_icon", "username-info-icon", { - x: 20, - scale: 0.5, - }); - - this.saveDownloadImage = this.buildInteractableImage("saving_icon", "save-download-icon", { - x: 0, - scale: 0.75, - }); - - this.infoContainer.add(this.usernameInfoImage); - this.infoContainer.add(this.saveDownloadImage); - this.getUi().add(this.infoContainer); - this.infoContainer.setVisible(false); - this.infoContainer.disableInteractive(); + this.buildInfoContainer(); } private buildExternalPartyContainer() { @@ -84,6 +68,26 @@ export default class LoginFormUiHandler extends FormModalUiHandler { this.externalPartyContainer.setVisible(false); } + private buildInfoContainer() { + this.infoContainer = globalScene.add.container(0, 0); + + this.usernameInfoImage = this.buildInteractableImage("settings_icon", "username-info-icon", { + x: 20, + scale: 0.5, + }); + + this.saveDownloadImage = this.buildInteractableImage("saving_icon", "save-download-icon", { + x: 0, + scale: 0.75, + }); + + this.infoContainer.add(this.usernameInfoImage); + this.infoContainer.add(this.saveDownloadImage); + this.getUi().add(this.infoContainer); + this.infoContainer.setVisible(false); + this.infoContainer.disableInteractive(); + } + override getModalTitle(_config?: ModalConfig): string { let key = "menu:login"; if (import.meta.env.VITE_SERVER_URL === "https://apibeta.pokerogue.net") { @@ -143,27 +147,29 @@ export default class LoginFormUiHandler extends FormModalUiHandler { this.processExternalProvider(config); const originalLoginAction = this.submitAction; this.submitAction = _ => { - // Prevent overlapping overrides on action modification - this.submitAction = originalLoginAction; - this.sanitizeInputs(); + if (globalScene.tweens.getTweensOf(this.modalContainer).length === 0) { + // Prevent overlapping overrides on action modification + this.submitAction = originalLoginAction; + this.sanitizeInputs(); globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); - const onFail = error => { + const onFail = error => { globalScene.ui.setMode(UiMode.LOGIN_FORM, Object.assign(config, { errorMessage: error?.trim() })); - globalScene.ui.playError(); - }; - if (!this.inputs[0].text) { - return onFail(i18next.t("menu:emptyUsername")); - } - - const [usernameInput, passwordInput] = this.inputs; - - pokerogueApi.account.login({ username: usernameInput.text, password: passwordInput.text }).then(error => { - if (!error && originalLoginAction) { - originalLoginAction(); - } else { - onFail(error); + globalScene.ui.playError(); + }; + if (!this.inputs[0].text) { + return onFail(i18next.t("menu:emptyUsername")); } - }); + + const [usernameInput, passwordInput] = this.inputs; + + pokerogueApi.account.login({ username: usernameInput.text, password: passwordInput.text }).then(error => { + if (!error && originalLoginAction) { + originalLoginAction(); + } else { + onFail(error); + } + }); + } }; return true; @@ -221,34 +227,36 @@ export default class LoginFormUiHandler extends FormModalUiHandler { }; this.usernameInfoImage.on("pointerdown", () => { - const localStorageKeys = Object.keys(localStorage); // this gets the keys for localStorage - const keyToFind = "data_"; - const dataKeys = localStorageKeys.filter(ls => ls.indexOf(keyToFind) >= 0); - if (dataKeys.length > 0 && dataKeys.length <= 2) { - const options: OptionSelectItem[] = []; - for (let i = 0; i < dataKeys.length; i++) { - options.push({ - label: dataKeys[i].replace(keyToFind, ""), - handler: () => { - globalScene.ui.revertMode(); - this.infoContainer.disableInteractive(); - return true; - }, - }); - } + if (globalScene.tweens.getTweensOf(this.infoContainer).length === 0) { + const localStorageKeys = Object.keys(localStorage); // this gets the keys for localStorage + const keyToFind = "data_"; + const dataKeys = localStorageKeys.filter(ls => ls.indexOf(keyToFind) >= 0); + if (dataKeys.length > 0 && dataKeys.length <= 2) { + const options: OptionSelectItem[] = []; + for (let i = 0; i < dataKeys.length; i++) { + options.push({ + label: dataKeys[i].replace(keyToFind, ""), + handler: () => { + globalScene.ui.revertMode(); + this.infoContainer.disableInteractive(); + return true; + }, + }); + } globalScene.ui.setOverlayMode(UiMode.OPTION_SELECT, { - options: options, - delay: 1000, - }); - this.infoContainer.setInteractive( - new Phaser.Geom.Rectangle(0, 0, globalScene.game.canvas.width, globalScene.game.canvas.height), - Phaser.Geom.Rectangle.Contains, - ); - } else { - if (dataKeys.length > 2) { - return onFail(this.ERR_TOO_MANY_SAVES); + options: options, + delay: 1000, + }); + this.infoContainer.setInteractive( + new Phaser.Geom.Rectangle(0, 0, globalScene.game.canvas.width, globalScene.game.canvas.height), + Phaser.Geom.Rectangle.Contains, + ); + } else { + if (dataKeys.length > 2) { + return onFail(this.ERR_TOO_MANY_SAVES); + } + return onFail(this.ERR_NO_SAVES); } - return onFail(this.ERR_NO_SAVES); } }); diff --git a/src/ui/modal-ui-handler.ts b/src/ui/modal-ui-handler.ts index a3b94296d3f..56c1c2c3fcf 100644 --- a/src/ui/modal-ui-handler.ts +++ b/src/ui/modal-ui-handler.ts @@ -134,7 +134,11 @@ export abstract class ModalUiHandler extends UiHandler { for (let a = 0; a < this.buttonBgs.length; a++) { if (a < this.buttonBgs.length) { - this.buttonBgs[a].on("pointerdown", _ => config.buttonActions[a]()); + this.buttonBgs[a].on("pointerdown", _ => { + if (globalScene.tweens.getTweensOf(this.modalContainer).length === 0) { + config.buttonActions[a](); + } + }); } } diff --git a/src/ui/registration-form-ui-handler.ts b/src/ui/registration-form-ui-handler.ts index bb10efc5869..3d4613c21d6 100644 --- a/src/ui/registration-form-ui-handler.ts +++ b/src/ui/registration-form-ui-handler.ts @@ -98,51 +98,53 @@ export default class RegistrationFormUiHandler extends FormModalUiHandler { const originalRegistrationAction = this.submitAction; this.submitAction = _ => { - // Prevent overlapping overrides on action modification - this.submitAction = originalRegistrationAction; - this.sanitizeInputs(); + if (globalScene.tweens.getTweensOf(this.modalContainer).length === 0) { + // Prevent overlapping overrides on action modification + this.submitAction = originalRegistrationAction; + this.sanitizeInputs(); globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); - const onFail = error => { + const onFail = error => { globalScene.ui.setMode(UiMode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); - globalScene.ui.playError(); - const errorMessageFontSize = languageSettings[i18next.resolvedLanguage!]?.errorMessageFontSize; - if (errorMessageFontSize) { - this.errorMessage.setFontSize(errorMessageFontSize); - } - }; - if (!this.inputs[0].text) { - return onFail(i18next.t("menu:emptyUsername")); - } - if (!this.inputs[1].text) { - return onFail(this.getReadableErrorMessage("invalid password")); - } - if (this.inputs[1].text !== this.inputs[2].text) { - return onFail(i18next.t("menu:passwordNotMatchingConfirmPassword")); - } - const [usernameInput, passwordInput] = this.inputs; - pokerogueApi.account - .register({ - username: usernameInput.text, - password: passwordInput.text, - }) - .then(registerError => { - if (!registerError) { - pokerogueApi.account - .login({ - username: usernameInput.text, - password: passwordInput.text, - }) - .then(loginError => { - if (!loginError) { - originalRegistrationAction?.(); - } else { - onFail(loginError); - } - }); - } else { - onFail(registerError); + globalScene.ui.playError(); + const errorMessageFontSize = languageSettings[i18next.resolvedLanguage!]?.errorMessageFontSize; + if (errorMessageFontSize) { + this.errorMessage.setFontSize(errorMessageFontSize); } - }); + }; + if (!this.inputs[0].text) { + return onFail(i18next.t("menu:emptyUsername")); + } + if (!this.inputs[1].text) { + return onFail(this.getReadableErrorMessage("invalid password")); + } + if (this.inputs[1].text !== this.inputs[2].text) { + return onFail(i18next.t("menu:passwordNotMatchingConfirmPassword")); + } + const [usernameInput, passwordInput] = this.inputs; + pokerogueApi.account + .register({ + username: usernameInput.text, + password: passwordInput.text, + }) + .then(registerError => { + if (!registerError) { + pokerogueApi.account + .login({ + username: usernameInput.text, + password: passwordInput.text, + }) + .then(loginError => { + if (!loginError) { + originalRegistrationAction?.(); + } else { + onFail(loginError); + } + }); + } else { + onFail(registerError); + } + }); + } }; return true; From 8515cadd7735c0046a9185dec936f208f07c2281 Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:20:07 -0500 Subject: [PATCH 041/102] [Balance] Update Gym Leader Teams and Teras (#5670) * Update Gym Leader Teams * Set Tera slots for Gym Leaders * Change Giovanni's Specialty Type to Ground --- Co-authored-by: damocleas --- src/data/balance/signature-species.ts | 134 +++++++++++++------------- src/data/trainers/trainer-config.ts | 132 ++++++++++++------------- 2 files changed, 133 insertions(+), 133 deletions(-) diff --git a/src/data/balance/signature-species.ts b/src/data/balance/signature-species.ts index a1b73af40cd..e2fecaa12ff 100644 --- a/src/data/balance/signature-species.ts +++ b/src/data/balance/signature-species.ts @@ -11,87 +11,87 @@ export type SignatureSpecies = { */ export const signatureSpecies: SignatureSpecies = { // Gym Leaders- Kanto - BROCK: [Species.GEODUDE, Species.ONIX], - MISTY: [Species.STARYU, Species.PSYDUCK], - LT_SURGE: [Species.VOLTORB, Species.PIKACHU, Species.ELECTABUZZ], + BROCK: [Species.ONIX, Species.GEODUDE, [Species.OMANYTE, Species.KABUTO], Species.AERODACTYL], + MISTY: [Species.STARYU, Species.PSYDUCK, Species.WOOPER, Species.LAPRAS], + LT_SURGE: [Species.PICHU, Species.VOLTORB, Species.ELEKID, Species.JOLTEON], ERIKA: [Species.ODDISH, Species.BELLSPROUT, Species.TANGELA, Species.HOPPIP], - JANINE: [Species.VENONAT, Species.SPINARAK, Species.ZUBAT], - SABRINA: [Species.ABRA, Species.MR_MIME, Species.ESPEON], - BLAINE: [Species.GROWLITHE, Species.PONYTA, Species.MAGMAR], - GIOVANNI: [Species.SANDILE, Species.MURKROW, Species.NIDORAN_M, Species.NIDORAN_F], + JANINE: [Species.VENONAT, Species.SPINARAK, Species.ZUBAT, Species.KOFFING], + SABRINA: [Species.ABRA, Species.MR_MIME, Species.SMOOCHUM, Species.ESPEON], + BLAINE: [Species.GROWLITHE, Species.PONYTA, Species.MAGBY, Species.VULPIX], + GIOVANNI: [Species.RHYHORN, Species.MEOWTH, [Species.NIDORAN_F, Species.NIDORAN_M], Species.DIGLETT], // Tera Ground Meowth // Gym Leaders- Johto - FALKNER: [Species.PIDGEY, Species.HOOTHOOT, Species.DODUO], - BUGSY: [Species.SCYTHER, Species.HERACROSS, Species.SHUCKLE, Species.PINSIR], - WHITNEY: [Species.JIGGLYPUFF, Species.MILTANK, Species.AIPOM, Species.GIRAFARIG], - MORTY: [Species.GASTLY, Species.MISDREAVUS, Species.SABLEYE], - CHUCK: [Species.POLIWRATH, Species.MANKEY], - JASMINE: [Species.MAGNEMITE, Species.STEELIX], - PRYCE: [Species.SEEL, Species.SWINUB], - CLAIR: [Species.DRATINI, Species.HORSEA, Species.GYARADOS], + FALKNER: [Species.PIDGEY, Species.HOOTHOOT, Species.NATU, Species.MURKROW], + BUGSY: [Species.SCYTHER, Species.SHUCKLE, Species.YANMA, [Species.PINSIR, Species.HERACROSS]], + WHITNEY: [Species.MILTANK, Species.AIPOM, Species.IGGLYBUFF, [Species.GIRAFARIG, Species.STANTLER]], + MORTY: [Species.GASTLY, Species.MISDREAVUS, Species.DUSKULL, Species.SABLEYE], + CHUCK: [Species.POLIWRATH, Species.MANKEY, Species.TYROGUE, Species.MACHOP], + JASMINE: [Species.STEELIX, Species.MAGNEMITE, Species.PINECO, Species.SKARMORY], + PRYCE: [Species.SWINUB, Species.SEEL, Species.SHELLDER, Species.SNEASEL], + CLAIR: [Species.HORSEA, Species.DRATINI, Species.MAGIKARP, Species.DRUDDIGON], // Tera Dragon Magikarp // Gym Leaders- Hoenn - ROXANNE: [Species.GEODUDE, Species.NOSEPASS], - BRAWLY: [Species.MACHOP, Species.MAKUHITA], - WATTSON: [Species.MAGNEMITE, Species.VOLTORB, Species.ELECTRIKE], - FLANNERY: [Species.SLUGMA, Species.TORKOAL, Species.NUMEL], - NORMAN: [Species.SLAKOTH, Species.SPINDA, Species.ZIGZAGOON, Species.KECLEON], + ROXANNE: [Species.NOSEPASS, Species.GEODUDE, [Species.LILEEP, Species.ANORITH], Species.ARON], + BRAWLY: [Species.MAKUHITA, Species.MACHOP, Species.MEDITITE, Species.SHROOMISH], + WATTSON: [Species.ELECTRIKE, Species.VOLTORB, Species.MAGNEMITE, [Species.PLUSLE, Species.MINUN]], + FLANNERY: [Species.TORKOAL, Species.SLUGMA, Species.NUMEL, Species.HOUNDOUR], + NORMAN: [Species.SLAKOTH, Species.KECLEON, Species.WHISMUR, Species.ZANGOOSE], WINONA: [Species.SWABLU, Species.WINGULL, Species.TROPIUS, Species.SKARMORY], - TATE: [Species.SOLROCK, Species.NATU, Species.CHIMECHO, Species.GALLADE], - LIZA: [Species.LUNATONE, Species.SPOINK, Species.BALTOY, Species.GARDEVOIR], - JUAN: [Species.HORSEA, Species.BARBOACH, Species.SPHEAL, Species.RELICANTH], + TATE: [Species.SOLROCK, Species.NATU, Species.CHINGLING, Species.GALLADE], + LIZA: [Species.LUNATONE, Species.BALTOY, Species.SPOINK, Species.GARDEVOIR], + JUAN: [Species.HORSEA, Species.SPHEAL, Species.BARBOACH, Species.CORPHISH], // Gym Leaders- Sinnoh - ROARK: [Species.CRANIDOS, Species.LARVITAR, Species.GEODUDE], - GARDENIA: [Species.ROSELIA, Species.TANGELA, Species.TURTWIG], - MAYLENE: [Species.LUCARIO, Species.MEDITITE, Species.CHIMCHAR], + ROARK: [Species.CRANIDOS, Species.GEODUDE, Species.NOSEPASS, Species.LARVITAR], + GARDENIA: [Species.BUDEW, Species.CHERUBI, Species.TURTWIG, Species.LEAFEON], + MAYLENE: [Species.RIOLU, Species.MEDITITE, Species.CHIMCHAR, Species.CROAGUNK], CRASHER_WAKE: [Species.BUIZEL, Species.WOOPER, Species.PIPLUP, Species.MAGIKARP], - FANTINA: [Species.MISDREAVUS, Species.DRIFLOON, Species.SPIRITOMB], - BYRON: [Species.SHIELDON, Species.BRONZOR, Species.AGGRON], - CANDICE: [Species.SNEASEL, Species.SNOVER, Species.SNORUNT], - VOLKNER: [Species.SHINX, Species.CHINCHOU, Species.ROTOM], + FANTINA: [Species.MISDREAVUS, Species.DRIFLOON, Species.DUSKULL, Species.SPIRITOMB], + BYRON: [Species.SHIELDON, Species.BRONZOR, Species.ARON, Species.SKARMORY], + CANDICE: [Species.FROSLASS, Species.SNOVER, Species.SNEASEL, Species.GLACEON], + VOLKNER: [Species.ELEKID, Species.SHINX, Species.CHINCHOU, Species.ROTOM], // Gym Leaders- Unova - CILAN: [Species.PANSAGE, Species.FOONGUS, Species.PETILIL], - CHILI: [Species.PANSEAR, Species.DARUMAKA, Species.NUMEL], - CRESS: [Species.PANPOUR, Species.TYMPOLE, Species.SLOWPOKE], - CHEREN: [Species.LILLIPUP, Species.MINCCINO, Species.PIDOVE], - LENORA: [Species.PATRAT, Species.DEERLING, Species.AUDINO], - ROXIE: [Species.VENIPEDE, Species.TRUBBISH, Species.SKORUPI], - BURGH: [Species.SEWADDLE, Species.SHELMET, Species.KARRABLAST], - ELESA: [Species.EMOLGA, Species.BLITZLE, Species.JOLTIK], - CLAY: [Species.DRILBUR, Species.SANDILE, Species.GOLETT], - SKYLA: [Species.DUCKLETT, Species.WOOBAT, Species.RUFFLET], - BRYCEN: [Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO], - DRAYDEN: [Species.DRUDDIGON, Species.AXEW, Species.DEINO], - MARLON: [Species.WAILMER, Species.FRILLISH, Species.TIRTOUGA], + CILAN: [Species.PANSAGE, Species.SNIVY, Species.MARACTUS, Species.FERROSEED], + CHILI: [Species.PANSEAR, Species.TEPIG, Species.HEATMOR, Species.DARUMAKA], + CRESS: [Species.PANPOUR, Species.OSHAWOTT, Species.BASCULIN, Species.TYMPOLE], + CHEREN: [Species.LILLIPUP, Species.MINCCINO, Species.PIDOVE, Species.BOUFFALANT], + LENORA: [Species.PATRAT, Species.DEERLING, Species.AUDINO, Species.BRAVIARY], + ROXIE: [Species.VENIPEDE, Species.KOFFING, Species.TRUBBISH, Species.TOXEL], + BURGH: [Species.SEWADDLE, Species.DWEBBLE, [Species.KARRABLAST, Species.SHELMET], Species.DURANT], + ELESA: [Species.BLITZLE, Species.EMOLGA, Species.JOLTIK, Species.TYNAMO], + CLAY: [Species.DRILBUR, Species.SANDILE, Species.TYMPOLE, Species.GOLETT], + SKYLA: [Species.DUCKLETT, Species.WOOBAT, [Species.RUFFLET, Species.VULLABY], Species.ARCHEN], + BRYCEN: [Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO, Species.GALAR_DARUMAKA], + DRAYDEN: [Species.AXEW, Species.DRUDDIGON, Species.TRAPINCH, Species.DEINO], + MARLON: [Species.FRILLISH, Species.TIRTOUGA, Species.WAILMER, Species.MANTYKE], // Gym Leaders- Kalos - VIOLA: [Species.SURSKIT, Species.SCATTERBUG], - GRANT: [Species.AMAURA, Species.TYRUNT], - KORRINA: [Species.HAWLUCHA, Species.LUCARIO, Species.MIENFOO], - RAMOS: [Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT], - CLEMONT: [Species.HELIOPTILE, Species.MAGNEMITE, Species.EMOLGA], - VALERIE: [Species.SYLVEON, Species.MAWILE, Species.MR_MIME], - OLYMPIA: [Species.ESPURR, Species.SIGILYPH, Species.SLOWKING], - WULFRIC: [Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL], + VIOLA: [Species.SCATTERBUG, Species.SURSKIT, Species.CUTIEFLY, Species.BLIPBUG], + GRANT: [Species.TYRUNT, Species.AMAURA, Species.BINACLE, Species.DWEBBLE], + KORRINA: [Species.RIOLU, Species.MIENFOO, Species.HAWLUCHA, Species.PANCHAM], + RAMOS: [Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT, [Species.PHANTUMP, Species.PUMPKABOO]], + CLEMONT: [Species.HELIOPTILE, Species.MAGNEMITE, Species.DEDENNE, Species.ROTOM], + VALERIE: [Species.SYLVEON, Species.MAWILE, Species.MR_MIME, [Species.SPRITZEE, Species.SWIRLIX]], + OLYMPIA: [Species.ESPURR, Species.SIGILYPH, Species.INKAY, Species.SLOWKING], + WULFRIC: [Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL, Species.SWINUB], // Gym Leaders- Galar - MILO: [Species.GOSSIFLEUR, Species.APPLIN, Species.BOUNSWEET], - NESSA: [Species.CHEWTLE, Species.ARROKUDA, Species.WIMPOD], - KABU: [Species.SIZZLIPEDE, Species.VULPIX, Species.TORKOAL], - BEA: [Species.GALAR_FARFETCHD, Species.MACHOP, Species.CLOBBOPUS], - ALLISTER: [Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.GASTLY], - OPAL: [Species.MILCERY, Species.TOGETIC, Species.GALAR_WEEZING], - BEDE: [Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR], - GORDIE: [Species.ROLYCOLY, Species.STONJOURNER, Species.BINACLE], - MELONY: [Species.SNOM, Species.GALAR_DARUMAKA, Species.GALAR_MR_MIME], - PIERS: [Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.INKAY], - MARNIE: [Species.IMPIDIMP, Species.PURRLOIN, Species.MORPEKO], - RAIHAN: [Species.DURALUDON, Species.TURTONATOR, Species.GOOMY], + MILO: [Species.GOSSIFLEUR, Species.SEEDOT, Species.APPLIN, Species.LOTAD], + NESSA: [Species.CHEWTLE, Species.WIMPOD, Species.ARROKUDA, Species.MAREANIE], + KABU: [Species.SIZZLIPEDE, Species.VULPIX, Species.GROWLITHE, Species.TORKOAL], + BEA: [Species.MACHOP, Species.GALAR_FARFETCHD, Species.CLOBBOPUS, Species.FALINKS], + ALLISTER: [Species.GASTLY, Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.SINISTEA], + OPAL: [Species.MILCERY, Species.GALAR_WEEZING, Species.TOGEPI, Species.MAWILE], + BEDE: [Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR, Species.SYLVEON], + GORDIE: [Species.ROLYCOLY, [Species.SHUCKLE, Species.BINACLE], Species.STONJOURNER, Species.LARVITAR], + MELONY: [Species.LAPRAS, Species.SNOM, Species.EISCUE, [Species.GALAR_MR_MIME, Species.GALAR_DARUMAKA]], + PIERS: [Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.TOXEL, Species.INKAY], // Tera Dark Toxel + MARNIE: [Species.IMPIDIMP, Species.MORPEKO, Species.PURRLOIN, Species.CROAGUNK], // Tera Dark Croagunk + RAIHAN: [Species.DURALUDON, Species.TRAPINCH, Species.GOOMY, Species.TURTONATOR], // Gym Leaders- Paldea; First slot is Tera - KATY: [Species.TEDDIURSA, Species.NYMBLE, Species.TAROUNTULA], // Tera Bug Teddiursa - BRASSIUS: [Species.SUDOWOODO, Species.BRAMBLIN, Species.SMOLIV], // Tera Grass Sudowoodo - IONO: [Species.MISDREAVUS, Species.TADBULB, Species.WATTREL], // Tera Ghost Misdreavus + KATY: [Species.TEDDIURSA, Species.NYMBLE, Species.TAROUNTULA, Species.RELLOR], // Tera Bug Teddiursa + BRASSIUS: [Species.BONSLY, Species.SMOLIV, Species.BRAMBLIN, Species.SUNKERN], // Tera Grass Bonsly + IONO: [Species.MISDREAVUS, Species.TADBULB, Species.WATTREL, Species.MAGNEMITE], // Tera Ghost Misdreavus KOFU: [Species.CRABRAWLER, Species.VELUZA, Species.WIGLETT, Species.WINGULL], // Tera Water Crabrawler LARRY: [Species.STARLY, Species.DUNSPARCE, Species.LECHONK, Species.KOMALA], // Tera Normal Starly RYME: [Species.TOXEL, Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU], // Tera Ghost Toxel TULIP: [Species.FLABEBE, Species.FLITTLE, Species.RALTS, Species.GIRAFARIG], // Tera Psychic Flabebe - GRUSHA: [Species.SWABLU, Species.CETODDLE, Species.CUBCHOO, Species.ALOLA_VULPIX], // Tera Ice Swablu + GRUSHA: [Species.SWABLU, Species.CETODDLE, Species.SNOM, Species.CUBCHOO], // Tera Ice Swablu // Elite Four- Kanto LORELEI: [ diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index fec1d4757e7..a2e62e6761b 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -2579,252 +2579,252 @@ export const trainerConfigs: TrainerConfigs = { ), [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)) - .initForGymLeader(signatureSpecies["BROCK"], true, PokemonType.ROCK) + .initForGymLeader(signatureSpecies["BROCK"], true, PokemonType.ROCK, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.MISTY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["MISTY"], false, PokemonType.WATER) + .initForGymLeader(signatureSpecies["MISTY"], false, PokemonType.WATER, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.LT_SURGE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["LT_SURGE"], true, PokemonType.ELECTRIC) + .initForGymLeader(signatureSpecies["LT_SURGE"], true, PokemonType.ELECTRIC, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.ERIKA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["ERIKA"], false, PokemonType.GRASS) + .initForGymLeader(signatureSpecies["ERIKA"], false, PokemonType.GRASS, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.JANINE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["JANINE"], false, PokemonType.POISON) + .initForGymLeader(signatureSpecies["JANINE"], false, PokemonType.POISON, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.SABRINA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["SABRINA"], false, PokemonType.PSYCHIC) + .initForGymLeader(signatureSpecies["SABRINA"], false, PokemonType.PSYCHIC, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.BLAINE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BLAINE"], true, PokemonType.FIRE) + .initForGymLeader(signatureSpecies["BLAINE"], true, PokemonType.FIRE, false, -1) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.GIOVANNI]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["GIOVANNI"], true, PokemonType.DARK) + .initForGymLeader(signatureSpecies["GIOVANNI"], true, PokemonType.GROUND, false, -2) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym"), [TrainerType.FALKNER]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["FALKNER"], true, PokemonType.FLYING) + .initForGymLeader(signatureSpecies["FALKNER"], true, PokemonType.FLYING, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.BUGSY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BUGSY"], true, PokemonType.BUG) + .initForGymLeader(signatureSpecies["BUGSY"], true, PokemonType.BUG, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.WHITNEY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["WHITNEY"], false, PokemonType.NORMAL) + .initForGymLeader(signatureSpecies["WHITNEY"], false, PokemonType.NORMAL, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.MORTY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["MORTY"], true, PokemonType.GHOST) + .initForGymLeader(signatureSpecies["MORTY"], true, PokemonType.GHOST, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.CHUCK]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CHUCK"], true, PokemonType.FIGHTING) + .initForGymLeader(signatureSpecies["CHUCK"], true, PokemonType.FIGHTING, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.JASMINE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["JASMINE"], false, PokemonType.STEEL) + .initForGymLeader(signatureSpecies["JASMINE"], false, PokemonType.STEEL, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.PRYCE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["PRYCE"], true, PokemonType.ICE) + .initForGymLeader(signatureSpecies["PRYCE"], true, PokemonType.ICE, false, -1) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.CLAIR]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CLAIR"], false, PokemonType.DRAGON) + .initForGymLeader(signatureSpecies["CLAIR"], false, PokemonType.DRAGON, false, -3) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym"), [TrainerType.ROXANNE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["ROXANNE"], false, PokemonType.ROCK) + .initForGymLeader(signatureSpecies["ROXANNE"], false, PokemonType.ROCK, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.BRAWLY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BRAWLY"], true, PokemonType.FIGHTING) + .initForGymLeader(signatureSpecies["BRAWLY"], true, PokemonType.FIGHTING, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.WATTSON]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["WATTSON"], true, PokemonType.ELECTRIC) + .initForGymLeader(signatureSpecies["WATTSON"], true, PokemonType.ELECTRIC, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.FLANNERY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["FLANNERY"], false, PokemonType.FIRE) + .initForGymLeader(signatureSpecies["FLANNERY"], false, PokemonType.FIRE, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.NORMAN]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["NORMAN"], true, PokemonType.NORMAL) + .initForGymLeader(signatureSpecies["NORMAN"], true, PokemonType.NORMAL, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.WINONA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["WINONA"], false, PokemonType.FLYING) + .initForGymLeader(signatureSpecies["WINONA"], false, PokemonType.FLYING, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.TATE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["TATE"], true, PokemonType.PSYCHIC) + .initForGymLeader(signatureSpecies["TATE"], true, PokemonType.PSYCHIC, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym") .setHasDouble("tate_liza_double") .setDoubleTrainerType(TrainerType.LIZA) .setDoubleTitle("gym_leader_double"), [TrainerType.LIZA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["LIZA"], false, PokemonType.PSYCHIC) + .initForGymLeader(signatureSpecies["LIZA"], false, PokemonType.PSYCHIC, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym") .setHasDouble("liza_tate_double") .setDoubleTrainerType(TrainerType.TATE) .setDoubleTitle("gym_leader_double"), [TrainerType.JUAN]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["JUAN"], true, PokemonType.WATER) + .initForGymLeader(signatureSpecies["JUAN"], true, PokemonType.WATER, false, -1) .setBattleBgm("battle_hoenn_gym") .setMixedBattleBgm("battle_hoenn_gym"), [TrainerType.ROARK]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["ROARK"], true, PokemonType.ROCK) + .initForGymLeader(signatureSpecies["ROARK"], true, PokemonType.ROCK, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.GARDENIA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["GARDENIA"], false, PokemonType.GRASS) + .initForGymLeader(signatureSpecies["GARDENIA"], false, PokemonType.GRASS, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.MAYLENE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["MAYLENE"], false, PokemonType.FIGHTING) + .initForGymLeader(signatureSpecies["MAYLENE"], false, PokemonType.FIGHTING, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CRASHER_WAKE"], true, PokemonType.WATER) + .initForGymLeader(signatureSpecies["CRASHER_WAKE"], true, PokemonType.WATER, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.FANTINA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["FANTINA"], false, PokemonType.GHOST) + .initForGymLeader(signatureSpecies["FANTINA"], false, PokemonType.GHOST, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.BYRON]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BYRON"], true, PokemonType.STEEL) + .initForGymLeader(signatureSpecies["BYRON"], true, PokemonType.STEEL, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.CANDICE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CANDICE"], false, PokemonType.ICE) + .initForGymLeader(signatureSpecies["CANDICE"], false, PokemonType.ICE, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.VOLKNER]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["VOLKNER"], true, PokemonType.ELECTRIC) + .initForGymLeader(signatureSpecies["VOLKNER"], true, PokemonType.ELECTRIC, false, -1) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym"), [TrainerType.CILAN]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CILAN"], true, PokemonType.GRASS) + .initForGymLeader(signatureSpecies["CILAN"], true, PokemonType.GRASS, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.CHILI]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CHILI"], true, PokemonType.FIRE) + .initForGymLeader(signatureSpecies["CHILI"], true, PokemonType.FIRE, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.CRESS]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CRESS"], true, PokemonType.WATER) + .initForGymLeader(signatureSpecies["CRESS"], true, PokemonType.WATER, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.CHEREN]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CHEREN"], true, PokemonType.NORMAL) + .initForGymLeader(signatureSpecies["CHEREN"], true, PokemonType.NORMAL, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.LENORA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["LENORA"], false, PokemonType.NORMAL) + .initForGymLeader(signatureSpecies["LENORA"], false, PokemonType.NORMAL, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.ROXIE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["ROXIE"], false, PokemonType.POISON) + .initForGymLeader(signatureSpecies["ROXIE"], false, PokemonType.POISON, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.BURGH]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BURGH"], true, PokemonType.BUG) + .initForGymLeader(signatureSpecies["BURGH"], true, PokemonType.BUG, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.ELESA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["ELESA"], false, PokemonType.ELECTRIC) + .initForGymLeader(signatureSpecies["ELESA"], false, PokemonType.ELECTRIC, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.CLAY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CLAY"], true, PokemonType.GROUND) + .initForGymLeader(signatureSpecies["CLAY"], true, PokemonType.GROUND, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.SKYLA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["SKYLA"], false, PokemonType.FLYING) + .initForGymLeader(signatureSpecies["SKYLA"], false, PokemonType.FLYING, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.BRYCEN]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BRYCEN"], true, PokemonType.ICE) + .initForGymLeader(signatureSpecies["BRYCEN"], true, PokemonType.ICE, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.DRAYDEN]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["DRAYDEN"], true, PokemonType.DRAGON) + .initForGymLeader(signatureSpecies["DRAYDEN"], true, PokemonType.DRAGON, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.MARLON]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["MARLON"], true, PokemonType.WATER) + .initForGymLeader(signatureSpecies["MARLON"], true, PokemonType.WATER, false, -1) .setMixedBattleBgm("battle_unova_gym"), [TrainerType.VIOLA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["VIOLA"], false, PokemonType.BUG) + .initForGymLeader(signatureSpecies["VIOLA"], false, PokemonType.BUG, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.GRANT]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["GRANT"], true, PokemonType.ROCK) + .initForGymLeader(signatureSpecies["GRANT"], true, PokemonType.ROCK, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.KORRINA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["KORRINA"], false, PokemonType.FIGHTING) + .initForGymLeader(signatureSpecies["KORRINA"], false, PokemonType.FIGHTING, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.RAMOS]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["RAMOS"], true, PokemonType.GRASS) + .initForGymLeader(signatureSpecies["RAMOS"], true, PokemonType.GRASS, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.CLEMONT]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["CLEMONT"], true, PokemonType.ELECTRIC) + .initForGymLeader(signatureSpecies["CLEMONT"], true, PokemonType.ELECTRIC, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.VALERIE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["VALERIE"], false, PokemonType.FAIRY) + .initForGymLeader(signatureSpecies["VALERIE"], false, PokemonType.FAIRY, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.OLYMPIA]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["OLYMPIA"], false, PokemonType.PSYCHIC) + .initForGymLeader(signatureSpecies["OLYMPIA"], false, PokemonType.PSYCHIC, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.WULFRIC]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["WULFRIC"], true, PokemonType.ICE) + .initForGymLeader(signatureSpecies["WULFRIC"], true, PokemonType.ICE, false, -1) .setMixedBattleBgm("battle_kalos_gym"), [TrainerType.MILO]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["MILO"], true, PokemonType.GRASS) + .initForGymLeader(signatureSpecies["MILO"], true, PokemonType.GRASS, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.NESSA]: new TrainerConfig(++t) .setName("Nessa") - .initForGymLeader(signatureSpecies["NESSA"], false, PokemonType.WATER) + .initForGymLeader(signatureSpecies["NESSA"], false, PokemonType.WATER, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.KABU]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["KABU"], true, PokemonType.FIRE) + .initForGymLeader(signatureSpecies["KABU"], true, PokemonType.FIRE, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.BEA]: new TrainerConfig(++t) .setName("Bea") - .initForGymLeader(signatureSpecies["BEA"], false, PokemonType.FIGHTING) + .initForGymLeader(signatureSpecies["BEA"], false, PokemonType.FIGHTING, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.ALLISTER]: new TrainerConfig(++t) .setName("Allister") - .initForGymLeader(signatureSpecies["ALLISTER"], true, PokemonType.GHOST) + .initForGymLeader(signatureSpecies["ALLISTER"], true, PokemonType.GHOST, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.OPAL]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["OPAL"], false, PokemonType.FAIRY) + .initForGymLeader(signatureSpecies["OPAL"], false, PokemonType.FAIRY, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.BEDE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["BEDE"], true, PokemonType.FAIRY) + .initForGymLeader(signatureSpecies["BEDE"], true, PokemonType.FAIRY, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.GORDIE]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["GORDIE"], true, PokemonType.ROCK) + .initForGymLeader(signatureSpecies["GORDIE"], true, PokemonType.ROCK, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.MELONY]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["MELONY"], false, PokemonType.ICE) + .initForGymLeader(signatureSpecies["MELONY"], false, PokemonType.ICE, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.PIERS]: new TrainerConfig(++t) - .initForGymLeader(signatureSpecies["PIERS"], true, PokemonType.DARK) + .initForGymLeader(signatureSpecies["PIERS"], true, PokemonType.DARK, false, -3) .setHasDouble("piers_marnie_double") .setDoubleTrainerType(TrainerType.MARNIE) .setDoubleTitle("gym_leader_double") .setMixedBattleBgm("battle_galar_gym"), [TrainerType.MARNIE]: new TrainerConfig(++t) .setName("Marnie") - .initForGymLeader(signatureSpecies["MARNIE"], false, PokemonType.DARK) + .initForGymLeader(signatureSpecies["MARNIE"], false, PokemonType.DARK, false, -4) .setHasDouble("marnie_piers_double") .setDoubleTrainerType(TrainerType.PIERS) .setDoubleTitle("gym_leader_double") .setMixedBattleBgm("battle_galar_gym"), [TrainerType.RAIHAN]: new TrainerConfig(++t) .setName("Raihan") - .initForGymLeader(signatureSpecies["RAIHAN"], true, PokemonType.DRAGON) + .initForGymLeader(signatureSpecies["RAIHAN"], true, PokemonType.DRAGON, false, -1) .setMixedBattleBgm("battle_galar_gym"), [TrainerType.KATY]: new TrainerConfig(++t) .initForGymLeader(signatureSpecies["KATY"], false, PokemonType.BUG, true, -1) From 2cf0b51299ef78f1313410441d1ffd6458552813 Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Sun, 20 Apr 2025 11:14:19 -0700 Subject: [PATCH 042/102] [Bug] Properly handle suppression with Illusion (#5671) * Remove extra attributes on neutralizing gas * Add IllusionBreakAbAttr to applyOnLose * Add test case --- src/data/abilities/ability.ts | 45 ++++++++++++++++++--------------- test/abilities/illusion.test.ts | 14 ++++++++++ 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 55a1a4eb902..27c3cb69073 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -2219,18 +2219,6 @@ export class PostSummonMessageAbAttr extends PostSummonAbAttr { } } -/** - * Removes illusions when a Pokemon is summoned. - */ -export class PostSummonRemoveIllusionAbAttr extends PostSummonAbAttr { - applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - for (const pokemon of globalScene.getField(true)) { - pokemon.breakIllusion(); - } - return true; - } -} - export class PostSummonUnnamedMessageAbAttr extends PostSummonAbAttr { //Attr doesn't force pokemon name on the message private message: string; @@ -5177,7 +5165,14 @@ export class IllusionPreSummonAbAttr extends PreSummonAbAttr { } } -export class IllusionBreakAbAttr extends PostDefendAbAttr { +export class IllusionBreakAbAttr extends AbAttr { + override apply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder | null, _args: any[]): void { + pokemon.breakIllusion(); + pokemon.summonData.illusionBroken = true; + } +} + +export class PostDefendIllusionBreakAbAttr extends PostDefendAbAttr { /** * Destroy the illusion upon taking damage * @@ -6269,7 +6264,7 @@ export function applyOnGainAbAttrs( } /** - * Clears primal weather/neutralizing gas during the turn if {@linkcode pokemon}'s ability corresponds to one + * Applies ability attributes which activate when the ability is lost or suppressed (i.e. primal weather) */ export function applyOnLoseAbAttrs(pokemon: Pokemon, passive = false, simulated = false, ...args: any[]): void { applySingleAbAttrs( @@ -6281,6 +6276,17 @@ export function applyOnLoseAbAttrs(pokemon: Pokemon, passive = false, simulated args, true, simulated); + + applySingleAbAttrs( + pokemon, + passive, + IllusionBreakAbAttr, + (attr, passive) => attr.apply(pokemon, passive, simulated, null, args), + (attr, passive) => attr.canApply(pokemon, passive, simulated, args), + args, + true, + simulated + ) } /** @@ -6780,11 +6786,12 @@ export function initAbilities() { return isNullOrUndefined(movePhase); }, 1.3), new Ability(Abilities.ILLUSION, 5) - //The pokemon generate an illusion if it's available + // The Pokemon generate an illusion if it's available .attr(IllusionPreSummonAbAttr, false) - //The pokemon loses his illusion when he is damaged by a move - .attr(IllusionBreakAbAttr, true) - //Illusion is available again after a battle + .attr(IllusionBreakAbAttr) + // The Pokemon loses its illusion when damaged by a move + .attr(PostDefendIllusionBreakAbAttr, true) + // Illusion is available again after a battle .conditionalAttr((pokemon) => pokemon.isAllowedInBattle(), IllusionPostBattleAbAttr, false) .uncopiable() .bypassFaint(), @@ -7198,8 +7205,6 @@ export function initAbilities() { .attr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr) .uncopiable() .attr(NoTransformAbilityAbAttr) - .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonNeutralizingGas", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) - .attr(PostSummonRemoveIllusionAbAttr) .bypassFaint(), new Ability(Abilities.PASTEL_VEIL, 8) .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index 382d7d74a08..b7c116a1b67 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -142,4 +142,18 @@ describe("Abilities - Illusion", () => { expect(zoroark.isShiny(true)).equals(true); expect(zoroark.getPokeball(true)).equals(PokeballType.GREAT_BALL); }); + + it("breaks when suppressed", async () => { + game.override.moveset(Moves.GASTRO_ACID); + await game.classicMode.startBattle([Species.MAGIKARP]); + const zorua = game.scene.getEnemyPokemon()!; + + expect(!!zorua.summonData?.illusion).toBe(true); + + game.move.select(Moves.GASTRO_ACID); + await game.phaseInterceptor.to(BerryPhase); + + expect(zorua.isFullHp()).toBe(true); + expect(!!zorua.summonData?.illusion).toBe(false); + }); }); From d0be6a9274862456ca806e0869833a45d9fe21b6 Mon Sep 17 00:00:00 2001 From: zaccie Date: Mon, 21 Apr 2025 06:33:17 +1200 Subject: [PATCH 043/102] [Bug] Fix order of operations when displaying enemy Boss level (#5685) * order of operations in creating boss battleInfo fixed a bug where because of an order of operations error in this file it ignored the position update of the boss life value set in battle-info.ts (around line 562) --- src/field/pokemon.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index f2e5fd4c2b6..6356f723a79 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -7162,8 +7162,8 @@ export class EnemyPokemon extends Pokemon { initBattleInfo(): void { if (!this.battleInfo) { this.battleInfo = new EnemyBattleInfo(); - this.battleInfo.updateBossSegments(this); this.battleInfo.initInfo(this); + this.battleInfo.updateBossSegments(this); } else { this.battleInfo.updateBossSegments(this); } From b89b945b11ce8891b28f595cc7ab70266e08cb37 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sun, 20 Apr 2025 11:51:06 -0700 Subject: [PATCH 044/102] [Dev] Fix imports in `overrides.ts` and `illusion.test.ts` (#5686) --- src/overrides.ts | 8 ++++---- test/abilities/illusion.test.ts | 26 ++++++++++++-------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/overrides.ts b/src/overrides.ts index d36cfbfac98..7e6a46f2f85 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -2,10 +2,11 @@ import { type PokeballCounts } from "#app/battle-scene"; import { EvolutionItem } from "#app/data/balance/pokemon-evolutions"; import { Gender } from "#app/data/gender"; import { FormChangeItem } from "#app/data/pokemon-forms"; -import { Variant } from "#app/sprites/variant"; import { type ModifierOverride } from "#app/modifier/modifier-type"; +import { Variant } from "#app/sprites/variant"; import { Unlockables } from "#app/system/unlockables"; import { Abilities } from "#enums/abilities"; +import { BattleType } from "#enums/battle-type"; import { BerryType } from "#enums/berry-type"; import { Biome } from "#enums/biome"; import { EggTier } from "#enums/egg-type"; @@ -15,13 +16,12 @@ import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PokeballType } from "#enums/pokeball"; import { PokemonType } from "#enums/pokemon-type"; import { Species } from "#enums/species"; -import { BATTLE_STATS, Stat } from "#enums/stat"; +import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { TimeOfDay } from "#enums/time-of-day"; +import { TrainerType } from "#enums/trainer-type"; import { VariantTier } from "#enums/variant-tier"; import { WeatherType } from "#enums/weather-type"; -import { TrainerType } from "#enums/trainer-type"; -import { BattleType } from "#enums/battle-type"; /** * This comment block exists to prevent IDEs from automatically removing unused imports diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index b7c116a1b67..c743a59ef00 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -1,13 +1,11 @@ -import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import Phaser from "phaser"; -import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Abilities } from "#enums/abilities"; -import { PokeballType } from "#app/enums/pokeball"; import { Gender } from "#app/data/gender"; -import { BerryPhase } from "#app/phases/berry-phase"; +import { PokeballType } from "#app/enums/pokeball"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; describe("Abilities - Illusion", () => { let phaserGame: Phaser.Game; @@ -48,7 +46,7 @@ describe("Abilities - Illusion", () => { await game.classicMode.startBattle([Species.AXEW]); game.move.select(Moves.TACKLE); - await game.phaseInterceptor.to(TurnEndPhase); + await game.phaseInterceptor.to("TurnEndPhase"); const zorua = game.scene.getEnemyPokemon()!; @@ -60,7 +58,7 @@ describe("Abilities - Illusion", () => { await game.classicMode.startBattle([Species.AXEW]); game.move.select(Moves.WORRY_SEED); - await game.phaseInterceptor.to(TurnEndPhase); + await game.phaseInterceptor.to("TurnEndPhase"); const zorua = game.scene.getEnemyPokemon()!; @@ -114,7 +112,7 @@ describe("Abilities - Illusion", () => { game.move.select(Moves.FLARE_BLITZ); - await game.phaseInterceptor.to(TurnEndPhase); + await game.phaseInterceptor.to("TurnEndPhase"); const zoroark = game.scene.getPlayerPokemon()!; @@ -132,7 +130,7 @@ describe("Abilities - Illusion", () => { game.doSwitchPokemon(1); - await game.phaseInterceptor.to(TurnEndPhase); + await game.phaseInterceptor.to("TurnEndPhase"); const zoroark = game.scene.getPlayerPokemon()!; @@ -151,7 +149,7 @@ describe("Abilities - Illusion", () => { expect(!!zorua.summonData?.illusion).toBe(true); game.move.select(Moves.GASTRO_ACID); - await game.phaseInterceptor.to(BerryPhase); + await game.phaseInterceptor.to("BerryPhase"); expect(zorua.isFullHp()).toBe(true); expect(!!zorua.summonData?.illusion).toBe(false); From 0da56cda9fef735490aeaca691a2fed60f97acf6 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Mon, 21 Apr 2025 13:46:32 -0500 Subject: [PATCH 045/102] [Bug][Sprite] Fix variant loading console spam (#5690) --- src/data/pokemon-species.ts | 42 ++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 95ff28e61e0..34efefd2849 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -27,7 +27,7 @@ import { } from "#app/data/balance/pokemon-level-moves"; import type { Stat } from "#enums/stat"; import type { Variant, VariantSet } from "#app/sprites/variant"; -import { populateVariantColorCache, variantData } from "#app/sprites/variant"; +import { populateVariantColorCache, variantColorCache, variantData } from "#app/sprites/variant"; import { speciesStarterCosts, POKERUS_STARTER_COUNT } from "#app/data/balance/starters"; import { SpeciesFormKey } from "#enums/species-form-key"; import { starterPassiveAbilities } from "#app/data/balance/passives"; @@ -594,6 +594,34 @@ export abstract class PokemonSpeciesForm { return true; } + /** + * Load the variant colors for the species into the variant color cache + * + * @param spriteKey - The sprite key to use + * @param female - Whether to get + * + */ + async loadVariantColors(spriteKey: string, female: boolean, variant: Variant, formIndex?: number): Promise { + const baseSpriteKey = this.getBaseSpriteKey(female, formIndex); + + if (variantColorCache.hasOwnProperty(baseSpriteKey)) { + // Variant colors have already been loaded + return; + } + + const variantInfo = variantData[this.getVariantDataIndex(formIndex)]; + // Do nothing if there is no variant information or the variant does not have color replacements + if (!variantInfo || variantInfo[variant] !== 1) { + return; + } + + await populateVariantColorCache( + "pkmn__" + baseSpriteKey, + globalScene.experimentalSprites && hasExpSprite(spriteKey), + baseSpriteKey, + ); + } + async loadAssets( female: boolean, formIndex?: number, @@ -606,15 +634,9 @@ export abstract class PokemonSpeciesForm { const spriteKey = this.getSpriteKey(female, formIndex, shiny, variant, back); globalScene.loadPokemonAtlas(spriteKey, this.getSpriteAtlasPath(female, formIndex, shiny, variant, back)); globalScene.load.audio(this.getCryKey(formIndex), `audio/${this.getCryKey(formIndex)}.m4a`); - - const baseSpriteKey = this.getBaseSpriteKey(female, formIndex); - - // Force the variant color cache to be loaded for the form - await populateVariantColorCache( - "pkmn__" + baseSpriteKey, - globalScene.experimentalSprites && hasExpSprite(spriteKey), - baseSpriteKey, - ); + if (!isNullOrUndefined(variant)) { + await this.loadVariantColors(spriteKey, female, variant, formIndex); + } return new Promise(resolve => { globalScene.load.once(Phaser.Loader.Events.COMPLETE, () => { const originalWarn = console.warn; From be6a117b1e0716e5f3b0cd7c495ebe01bd0a4350 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Mon, 21 Apr 2025 14:52:08 -0500 Subject: [PATCH 046/102] [Bug][Sprite] Fix variants not using recolors for back sprite (#5691) Fix variants not showing back recolors with exp --- src/data/pokemon-species.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 34efefd2849..2fff2b562c0 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -404,7 +404,7 @@ export abstract class PokemonSpeciesForm { } /** Compute the sprite ID of the pokemon form. */ - getSpriteId(female: boolean, formIndex?: number, shiny?: boolean, variant = 0, back?: boolean): string { + getSpriteId(female: boolean, formIndex?: number, shiny?: boolean, variant = 0, back = false): string { const baseSpriteKey = this.getBaseSpriteKey(female, formIndex); let config = variantData; @@ -598,11 +598,21 @@ export abstract class PokemonSpeciesForm { * Load the variant colors for the species into the variant color cache * * @param spriteKey - The sprite key to use - * @param female - Whether to get + * @param female - Whether to load female instead of male + * @param back - Whether the back sprite is being loaded * */ - async loadVariantColors(spriteKey: string, female: boolean, variant: Variant, formIndex?: number): Promise { - const baseSpriteKey = this.getBaseSpriteKey(female, formIndex); + async loadVariantColors( + spriteKey: string, + female: boolean, + variant: Variant, + back = false, + formIndex?: number, + ): Promise { + let baseSpriteKey = this.getBaseSpriteKey(female, formIndex); + if (back) { + baseSpriteKey = "back__" + baseSpriteKey; + } if (variantColorCache.hasOwnProperty(baseSpriteKey)) { // Variant colors have already been loaded @@ -618,7 +628,7 @@ export abstract class PokemonSpeciesForm { await populateVariantColorCache( "pkmn__" + baseSpriteKey, globalScene.experimentalSprites && hasExpSprite(spriteKey), - baseSpriteKey, + baseSpriteKey.replace("__", "/"), ); } @@ -635,7 +645,7 @@ export abstract class PokemonSpeciesForm { globalScene.loadPokemonAtlas(spriteKey, this.getSpriteAtlasPath(female, formIndex, shiny, variant, back)); globalScene.load.audio(this.getCryKey(formIndex), `audio/${this.getCryKey(formIndex)}.m4a`); if (!isNullOrUndefined(variant)) { - await this.loadVariantColors(spriteKey, female, variant, formIndex); + await this.loadVariantColors(spriteKey, female, variant, back, formIndex); } return new Promise(resolve => { globalScene.load.once(Phaser.Loader.Events.COMPLETE, () => { From aadb57ab75ab5af4355c50f7e5132bebd016a1e6 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Tue, 22 Apr 2025 20:03:49 -0400 Subject: [PATCH 047/102] [Balance] [Mystery] Salesman ME offers mons from event encounter pool (#5674) * Initial event commit * Salesman odds * Clean up imports * globalScene shiny rate getter, fix reroll, remove placeholder event * Rerolling shiny also tries rerolling for better variant * Shiny reroll affects 'trainer' mons too --------- Co-authored-by: damocleas Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> --- .../the-pokemon-salesman-encounter.ts | 49 ++++++++++++++++--- .../utils/encounter-phase-utils.ts | 4 +- src/field/pokemon.ts | 32 ++++++------ 3 files changed, 61 insertions(+), 24 deletions(-) diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index 4e8e1c2524e..cfff59b45f5 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -3,7 +3,7 @@ import { transitionMysteryEncounterIntroVisuals, updatePlayerMoney, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; -import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; +import { isNullOrUndefined, NumberHolder, randSeedInt, randSeedItem } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; @@ -28,7 +28,8 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { Abilities } from "#enums/abilities"; -import { NON_LEGEND_PARADOX_POKEMON } from "#app/data/balance/special-species-groups"; +import { NON_LEGEND_PARADOX_POKEMON, NON_LEGEND_ULTRA_BEASTS } from "#app/data/balance/special-species-groups"; +import { timedEventManager } from "#app/global-event-manager"; /** the i18n namespace for this encounter */ const namespace = "mysteryEncounters/thePokemonSalesman"; @@ -38,6 +39,9 @@ const MAX_POKEMON_PRICE_MULTIPLIER = 4; /** Odds of shiny magikarp will be 1/value */ const SHINY_MAGIKARP_WEIGHT = 100; +/** Odds of event sale will be value/100 */ +const EVENT_THRESHOLD = 50; + /** * Pokemon Salesman encounter. * @see {@link https://github.com/pagefaultgames/pokerogue/issues/3799 | GitHub Issue #3799} @@ -82,15 +86,46 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui tries++; } + const r = randSeedInt(SHINY_MAGIKARP_WEIGHT); + + const validEventEncounters = timedEventManager + .getEventEncounters() + .filter( + s => + !getPokemonSpecies(s.species).legendary && + !getPokemonSpecies(s.species).subLegendary && + !getPokemonSpecies(s.species).mythical && + !NON_LEGEND_PARADOX_POKEMON.includes(s.species) && + !NON_LEGEND_ULTRA_BEASTS.includes(s.species), + ); + let pokemon: PlayerPokemon; + /** + * Mon is determined as follows: + * If you roll the 1% for Shiny Magikarp, you get Magikarp with a random variant + * If an event with more than 1 valid event encounter species is active, you have 20% chance to get one of those + * If the rolled species has no HA, and there are valid event encounters, you will get one of those + * If the rolled species has no HA and there are no valid event encounters, you will get Shiny Magikarp + * Mons rolled from the event encounter pool get 2 extra shiny rolls + */ if ( - randSeedInt(SHINY_MAGIKARP_WEIGHT) === 0 || - isNullOrUndefined(species.abilityHidden) || - species.abilityHidden === Abilities.NONE + r === 0 || + ((isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE) && + (validEventEncounters.length === 0)) ) { - // If no HA mon found or you roll 1%, give shiny Magikarp with random variant + // If you roll 1%, give shiny Magikarp with random variant species = getPokemonSpecies(Species.MAGIKARP); - pokemon = new PlayerPokemon(species, 5, 2, species.formIndex, undefined, true); + pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); + } else if ( + (validEventEncounters.length > 0 && (r <= EVENT_THRESHOLD || + (isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE))) + ) { + // If you roll 20%, give event encounter with 2 extra shiny rolls and its HA, if it has one + const enc = randSeedItem(validEventEncounters); + species = getPokemonSpecies(enc.species); + pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); } else { pokemon = new PlayerPokemon(species, 5, 2, species.formIndex); } diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index d77b70caa31..65051b937f8 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -1075,8 +1075,8 @@ export function getRandomEncounterSpecies(level: number, isBoss = false, rerollH ret.formIndex = formIndex; } - //Reroll shiny for event encounters - if (isEventEncounter && !ret.shiny) { + //Reroll shiny or variant for event encounters + if (isEventEncounter) { ret.trySetShinySeed(); } //Reroll hidden ability diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 6356f723a79..86d74ea5555 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -3170,7 +3170,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Function that tries to set a Pokemon shiny based on seed. * For manual use only, usually to roll a Pokemon's shiny chance a second time. - * If it rolls shiny, also sets a random variant and give the Pokemon the associated luck. + * If it rolls shiny, or if it's already shiny, also sets a random variant and give the Pokemon the associated luck. * * The base shiny odds are {@linkcode BASE_SHINY_CHANCE} / `65536` * @param thresholdOverride number that is divided by `2^16` (`65536`) to get the shiny chance, overrides {@linkcode shinyThreshold} if set (bypassing shiny rate modifiers such as Shiny Charm) @@ -3181,29 +3181,31 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { thresholdOverride?: number, applyModifiersToOverride?: boolean, ): boolean { - const shinyThreshold = new NumberHolder(BASE_SHINY_CHANCE); - if (thresholdOverride === undefined || applyModifiersToOverride) { - if (thresholdOverride !== undefined && applyModifiersToOverride) { - shinyThreshold.value = thresholdOverride; - } - if (timedEventManager.isEventActive()) { - shinyThreshold.value *= timedEventManager.getShinyMultiplier(); - } - if (!this.hasTrainer()) { + if (!this.shiny) { + const shinyThreshold = new NumberHolder(BASE_SHINY_CHANCE); + if (thresholdOverride === undefined || applyModifiersToOverride) { + if (thresholdOverride !== undefined && applyModifiersToOverride) { + shinyThreshold.value = thresholdOverride; + } + if (timedEventManager.isEventActive()) { + shinyThreshold.value *= timedEventManager.getShinyMultiplier(); + } globalScene.applyModifiers( ShinyRateBoosterModifier, true, shinyThreshold, ); } - } else { - shinyThreshold.value = thresholdOverride; + else { + shinyThreshold.value = thresholdOverride; + } + + this.shiny = randSeedInt(65536) < shinyThreshold.value; } - this.shiny = randSeedInt(65536) < shinyThreshold.value; - if (this.shiny) { - this.variant = this.generateShinyVariant(); + this.variant = this.variant ?? 0; + this.variant = Math.max(this.generateShinyVariant(), this.variant) as Variant; // Don't set a variant lower than the current one this.luck = this.variant + 1 + (this.fusionShiny ? this.fusionVariant + 1 : 0); this.initShinySparkle(); From 110fd2f0a1888787f7b267f71b233ed1d1a63675 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Tue, 22 Apr 2025 19:10:27 -0500 Subject: [PATCH 048/102] [Refactor][Move] Refactor move effect phase (#5678) * Add enum for hit check result Co-authored-by: innerthunder * Refactor parameter list for pokemon#getBaseDamage and pokemon#getAttackDamage * Rewrite move phase Co-authored-by: innerthunder * Update tests to reflect move effect phase changes Co-authored-by: innerthunder * Fix pluck / bug bite Co-authored-by: innerthunder * Fix reviver seed ohko, remove leftover dead code Co-authored-by: innerthunder * Cleanup jsdoc comments * Remove hitsSubstitute check from postDefend abilities * Fix improper i18nkey in moveEffectPhase#applyToTargets * Cleanup comments * Fix type issue with substitute test * Move MYSTERY_ENCOUNTER_WAVES to constants.ts * Update linkcode in damageparams to use proper tsdoc syntax --------- Co-authored-by: innerthunder --- src/constants.ts | 5 + src/data/abilities/ability.ts | 44 +- src/data/arena-tag.ts | 10 +- src/data/battler-tags.ts | 6 +- src/data/moves/move-utils.ts | 20 + src/data/moves/move.ts | 172 +-- .../encounters/a-trainers-test-encounter.ts | 2 +- .../encounters/absolute-avarice-encounter.ts | 2 +- .../an-offer-you-cant-refuse-encounter.ts | 2 +- .../encounters/berries-abound-encounter.ts | 2 +- .../encounters/bug-type-superfan-encounter.ts | 2 +- .../encounters/clowning-around-encounter.ts | 2 +- .../encounters/dancing-lessons-encounter.ts | 2 +- .../encounters/dark-deal-encounter.ts | 2 +- .../encounters/delibirdy-encounter.ts | 2 +- .../department-store-sale-encounter.ts | 2 +- .../encounters/field-trip-encounter.ts | 2 +- .../encounters/fiery-fallout-encounter.ts | 2 +- .../encounters/fight-or-flight-encounter.ts | 2 +- .../encounters/fun-and-games-encounter.ts | 2 +- .../global-trade-system-encounter.ts | 2 +- .../encounters/lost-at-sea-encounter.ts | 2 +- .../mysterious-challengers-encounter.ts | 2 +- .../encounters/mysterious-chest-encounter.ts | 2 +- .../encounters/part-timer-encounter.ts | 2 +- .../encounters/safari-zone-encounter.ts | 2 +- .../shady-vitamin-dealer-encounter.ts | 2 +- .../slumbering-snorlax-encounter.ts | 2 +- .../teleporting-hijinks-encounter.ts | 2 +- .../the-expert-pokemon-breeder-encounter.ts | 2 +- .../the-pokemon-salesman-encounter.ts | 2 +- .../encounters/the-strong-stuff-encounter.ts | 2 +- .../the-winstrate-challenge-encounter.ts | 2 +- .../encounters/training-session-encounter.ts | 2 +- .../encounters/trash-to-treasure-encounter.ts | 2 +- .../encounters/uncommon-breed-encounter.ts | 2 +- src/enums/MoveEffectTrigger.ts | 1 - src/enums/hit-check-result.ts | 23 + src/field/pokemon.ts | 399 ++---- src/game-mode.ts | 5 +- src/phases/faint-phase.ts | 10 +- src/phases/move-effect-phase.ts | 1166 +++++++++-------- src/phases/move-phase.ts | 5 +- test/abilities/friend_guard.test.ts | 11 +- test/abilities/galvanize.test.ts | 27 +- test/abilities/infiltrator.test.ts | 4 +- test/abilities/no_guard.test.ts | 4 +- test/abilities/shield_dust.test.ts | 2 +- test/abilities/super_luck.test.ts | 1 - test/abilities/tera_shell.test.ts | 14 +- test/battle/damage_calculation.test.ts | 8 +- test/battlerTags/substitute.test.ts | 8 +- test/items/dire_hit.test.ts | 3 +- test/items/leek.test.ts | 1 - test/items/scope_lens.test.ts | 3 +- test/moves/dig.test.ts | 10 +- test/moves/dynamax_cannon.test.ts | 16 +- test/moves/fusion_flare_bolt.test.ts | 36 +- test/moves/spectral_thief.test.ts | 4 +- test/moves/tera_blast.test.ts | 27 +- test/testUtils/helpers/moveHelper.ts | 20 +- 61 files changed, 1057 insertions(+), 1068 deletions(-) create mode 100644 src/data/moves/move-utils.ts create mode 100644 src/enums/hit-check-result.ts diff --git a/src/constants.ts b/src/constants.ts index 927575c0a28..dc901e4a766 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -9,3 +9,8 @@ export const SESSION_ID_COOKIE_NAME: string = "pokerogue_sessionId"; /** Max value for an integer attribute in {@linkcode SystemSaveData} */ export const MAX_INT_ATTR_VALUE = 0x80000000; + +/** The min and max waves for mystery encounters to spawn in classic mode */ +export const CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180] as const; +/** The min and max waves for mystery encounters to spawn in challenge mode */ +export const CHALLENGE_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180] as const; diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 27c3cb69073..53d024ac655 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -653,8 +653,8 @@ export class MoveImmunityStatStageChangeAbAttr extends MoveImmunityAbAttr { */ export class ReverseDrainAbAttr extends PostDefendAbAttr { - override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return move.hasAttr(HitHealAttr) && !move.hitsSubstitute(attacker, pokemon); + override canApplyPostDefend(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _attacker: Pokemon, move: Move, _hitResult: HitResult | null, args: any[]): boolean { + return move.hasAttr(HitHealAttr); } /** @@ -693,7 +693,7 @@ export class PostDefendStatStageChangeAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return this.condition(pokemon, attacker, move) && !move.hitsSubstitute(attacker, pokemon); + return this.condition(pokemon, attacker, move); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -734,7 +734,7 @@ export class PostDefendHpGatedStatStageChangeAbAttr extends PostDefendAbAttr { const hpGateFlat: number = Math.ceil(pokemon.getMaxHp() * this.hpGate); const lastAttackReceived = pokemon.turnData.attacksReceived[pokemon.turnData.attacksReceived.length - 1]; const damageReceived = lastAttackReceived?.damage || 0; - return this.condition(pokemon, attacker, move) && (pokemon.hp <= hpGateFlat && (pokemon.hp + damageReceived) > hpGateFlat) && !move.hitsSubstitute(attacker, pokemon); + return this.condition(pokemon, attacker, move) && (pokemon.hp <= hpGateFlat && (pokemon.hp + damageReceived) > hpGateFlat); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -757,7 +757,7 @@ export class PostDefendApplyArenaTrapTagAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { const tag = globalScene.arena.getTag(this.tagType) as ArenaTrapTag; - return (this.condition(pokemon, attacker, move) && !move.hitsSubstitute(attacker, pokemon)) + return (this.condition(pokemon, attacker, move)) && (!globalScene.arena.getTag(this.tagType) || tag.layers < tag.maxLayers); } @@ -779,7 +779,7 @@ export class PostDefendApplyBattlerTagAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return this.condition(pokemon, attacker, move) && !move.hitsSubstitute(attacker, pokemon); + return this.condition(pokemon, attacker, move); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -796,7 +796,7 @@ export class PostDefendTypeChangeAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean { this.type = attacker.getMoveType(move); const pokemonTypes = pokemon.getTypes(true); - return hitResult < HitResult.NO_EFFECT && !move.hitsSubstitute(attacker, pokemon) && (simulated || pokemonTypes.length !== 1 || pokemonTypes[0] !== this.type); + return hitResult < HitResult.NO_EFFECT && (simulated || pokemonTypes.length !== 1 || pokemonTypes[0] !== this.type); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, _args: any[]): void { @@ -823,7 +823,7 @@ export class PostDefendTerrainChangeAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean { - return hitResult < HitResult.NO_EFFECT && !move.hitsSubstitute(attacker, pokemon) && globalScene.arena.canSetTerrain(this.terrainType); + return hitResult < HitResult.NO_EFFECT && globalScene.arena.canSetTerrain(this.terrainType); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, _args: any[]): void { @@ -847,7 +847,7 @@ export class PostDefendContactApplyStatusEffectAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { const effect = this.effects.length === 1 ? this.effects[0] : this.effects[pokemon.randSeedInt(this.effects.length)]; return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && !attacker.status - && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance) && !move.hitsSubstitute(attacker, pokemon) + && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance) && attacker.canSetStatus(effect, true, false, pokemon); } @@ -887,7 +887,7 @@ export class PostDefendContactApplyTagChanceAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && pokemon.randSeedInt(100) < this.chance - && !move.hitsSubstitute(attacker, pokemon) && attacker.canAddTag(this.tagType); + && attacker.canAddTag(this.tagType); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -908,10 +908,6 @@ export class PostDefendCritStatStageChangeAbAttr extends PostDefendAbAttr { this.stages = stages; } - override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return !move.hitsSubstitute(attacker, pokemon); - } - override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { if (!simulated) { globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [ this.stat ], this.stages)); @@ -934,7 +930,7 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { return !simulated && move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) - && !attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !move.hitsSubstitute(attacker, pokemon); + && !attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr); } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { @@ -993,7 +989,7 @@ export class PostDefendWeatherChangeAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return (!(this.condition && !this.condition(pokemon, attacker, move) || move.hitsSubstitute(attacker, pokemon)) + return (!(this.condition && !this.condition(pokemon, attacker, move)) && !globalScene.arena.weather?.isImmutable() && globalScene.arena.canSetWeather(this.weatherType)); } @@ -1011,7 +1007,7 @@ export class PostDefendAbilitySwapAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) - && attacker.getAbility().isSwappable && !move.hitsSubstitute(attacker, pokemon); + && attacker.getAbility().isSwappable; } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, args: any[]): void { @@ -1037,10 +1033,10 @@ export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { return move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && attacker.getAbility().isSuppressable - && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr) && !move.hitsSubstitute(attacker, pokemon); + && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr); } - override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { + override applyPostDefend(_pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { if (!simulated) { attacker.setTempAbility(allAbilities[this.ability]); } @@ -1066,7 +1062,7 @@ export class PostDefendMoveDisableAbAttr extends PostDefendAbAttr { } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return attacker.getTag(BattlerTagType.DISABLED) === null && !move.hitsSubstitute(attacker, pokemon) + return attacker.getTag(BattlerTagType.DISABLED) === null && move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon}) && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance); } @@ -1770,7 +1766,6 @@ export class PostAttackApplyStatusEffectAbAttr extends PostAttackAbAttr { override canApplyPostAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { if ( super.canApplyPostAttack(pokemon, passive, simulated, attacker, move, hitResult, args) - && !(pokemon !== attacker && move.hitsSubstitute(attacker, pokemon)) && (simulated || !attacker.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && pokemon !== attacker && (!this.contactRequired || move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user: attacker, target: pokemon})) && pokemon.randSeedInt(100) < this.chance && !pokemon.status) ) { @@ -1837,8 +1832,7 @@ export class PostDefendStealHeldItemAbAttr extends PostDefendAbAttr { if ( !simulated && hitResult < HitResult.NO_EFFECT && - (!this.condition || this.condition(pokemon, attacker, move)) && - !move.hitsSubstitute(attacker, pokemon) + (!this.condition || this.condition(pokemon, attacker, move)) ) { const heldItems = this.getTargetHeldItems(attacker).filter((i) => i.isTransferable); if (heldItems.length) { @@ -5063,6 +5057,8 @@ export class PostSummonStatStageChangeOnArenaAbAttr extends PostSummonStatStageC /** * Takes no damage from the first hit of a damaging move. * This is used in the Disguise and Ice Face abilities. + * + * Does not apply to a user's substitute * @extends ReceivedMoveDamageMultiplierAbAttr */ export class FormBlockDamageAbAttr extends ReceivedMoveDamageMultiplierAbAttr { @@ -7410,4 +7406,4 @@ export function initAbilities() { .unreplaceable() // TODO is this true? .attr(ConfusionOnStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) ); -} +} \ No newline at end of file diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 2ef98723cea..ff9e4068292 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -7,7 +7,7 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { getPokemonNameWithAffix } from "#app/messages"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, PokemonMove } from "#app/field/pokemon"; +import { HitResult } from "#app/field/pokemon"; import { StatusEffect } from "#enums/status-effect"; import type { BattlerIndex } from "#app/battle"; import { @@ -335,7 +335,7 @@ export class ConditionalProtectTag extends ArenaTag { * @param arena the {@linkcode Arena} containing this tag * @param simulated `true` if the tag is applied quietly; `false` otherwise. * @param isProtected a {@linkcode BooleanHolder} used to flag if the move is protected against - * @param attacker the attacking {@linkcode Pokemon} + * @param _attacker the attacking {@linkcode Pokemon} * @param defender the defending {@linkcode Pokemon} * @param moveId the {@linkcode Moves | identifier} for the move being used * @param ignoresProtectBypass a {@linkcode BooleanHolder} used to flag if a protection effect supercedes effects that ignore protection @@ -345,7 +345,7 @@ export class ConditionalProtectTag extends ArenaTag { arena: Arena, simulated: boolean, isProtected: BooleanHolder, - attacker: Pokemon, + _attacker: Pokemon, defender: Pokemon, moveId: Moves, ignoresProtectBypass: BooleanHolder, @@ -354,8 +354,6 @@ export class ConditionalProtectTag extends ArenaTag { if (!isProtected.value) { isProtected.value = true; if (!simulated) { - attacker.stopMultiHit(defender); - new CommonBattleAnim(CommonAnim.PROTECT, defender).play(); globalScene.queueMessage( i18next.t("arenaTag:conditionalProtectApply", { @@ -899,7 +897,7 @@ export class DelayedAttackTag extends ArenaTag { if (!ret) { globalScene.unshiftPhase( - new MoveEffectPhase(this.sourceId!, [this.targetIndex], new PokemonMove(this.sourceMove!, 0, 0, true)), + new MoveEffectPhase(this.sourceId!, [this.targetIndex], allMoves[this.sourceMove!], false, true), ); // TODO: are those bangs correct? } diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 3b2421897c9..ee41f0435b9 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -2637,7 +2637,7 @@ export class GulpMissileTag extends BattlerTag { return false; } - if (moveEffectPhase.move.getMove().hitsSubstitute(attacker, pokemon)) { + if (moveEffectPhase.move.hitsSubstitute(attacker, pokemon)) { return true; } @@ -2993,7 +2993,7 @@ export class SubstituteTag extends BattlerTag { if (!attacker) { return; } - const move = moveEffectPhase.move.getMove(); + const move = moveEffectPhase.move; const firstHit = attacker.turnData.hitCount === attacker.turnData.hitsLeft; if (firstHit && move.hitsSubstitute(attacker, pokemon)) { @@ -3681,7 +3681,7 @@ function getMoveEffectPhaseData(_pokemon: Pokemon): { phase: MoveEffectPhase; at return { phase: phase, attacker: phase.getPokemon(), - move: phase.move.getMove(), + move: phase.move, }; } return null; diff --git a/src/data/moves/move-utils.ts b/src/data/moves/move-utils.ts new file mode 100644 index 00000000000..3323d6f4a0c --- /dev/null +++ b/src/data/moves/move-utils.ts @@ -0,0 +1,20 @@ +import { MoveTarget } from "#enums/MoveTarget"; +import type Move from "./move"; + +/** + * Return whether the move targets the field + * + * Examples include + * - Hazard moves like spikes + * - Weather moves like rain dance + * - User side moves like reflect and safeguard + */ +export function isFieldTargeted(move: Move): boolean { + switch (move.moveTarget) { + case MoveTarget.BOTH_SIDES: + case MoveTarget.USER_SIDE: + case MoveTarget.ENEMY_SIDE: + return true; + } + return false; +} diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 26654fee18f..35d98f6f781 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -60,6 +60,7 @@ import { MoveTypeChangeAbAttr, PostDamageForceSwitchAbAttr, PostItemLostAbAttr, + ReflectStatusMoveAbAttr, ReverseDrainAbAttr, UserFieldMoveTypePowerBoostAbAttr, VariableMovePowerAbAttr, @@ -665,6 +666,17 @@ export default class Move implements Localizable { return true; } break; + case MoveFlags.REFLECTABLE: + // If the target is not semi-invulnerable and either has magic coat active or an unignored magic bounce ability + if ( + target?.getTag(SemiInvulnerableTag) || + !(target?.getTag(BattlerTagType.MAGIC_COAT) || + (!this.doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user, target }) && + target?.hasAbilityWithAttr(ReflectStatusMoveAbAttr))) + ) { + return false; + } + break; } return !!(this.flags & flag); @@ -1716,7 +1728,7 @@ export class SacrificialAttr extends MoveEffectAttr { **/ export class SacrificialAttrOnHit extends MoveEffectAttr { constructor() { - super(true, { trigger: MoveEffectTrigger.HIT }); + super(true); } /** @@ -1955,6 +1967,14 @@ export class PartyStatusCureAttr extends MoveEffectAttr { * @extends MoveEffectAttr */ export class FlameBurstAttr extends MoveEffectAttr { + constructor() { + /** + * This is self-targeted to bypass immunity to target-facing secondary + * effects when the target has an active Substitute doll. + * TODO: Find a more intuitive way to implement Substitute bypassing. + */ + super(true); + } /** * @param user - n/a * @param target - The target Pokémon. @@ -2177,7 +2197,7 @@ export class HitHealAttr extends MoveEffectAttr { private healStat: EffectiveStat | null; constructor(healRatio?: number | null, healStat?: EffectiveStat) { - super(true, { trigger: MoveEffectTrigger.HIT }); + super(true); this.healRatio = healRatio ?? 0.5; this.healStat = healStat ?? null; @@ -2426,7 +2446,7 @@ export class StatusEffectAttr extends MoveEffectAttr { public overrideStatus: boolean = false; constructor(effect: StatusEffect, selfTarget?: boolean, turnsRemaining?: number, overrideStatus: boolean = false) { - super(selfTarget, { trigger: MoveEffectTrigger.HIT }); + super(selfTarget); this.effect = effect; this.turnsRemaining = turnsRemaining; @@ -2434,10 +2454,6 @@ export class StatusEffectAttr extends MoveEffectAttr { } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (!this.selfTarget && move.hitsSubstitute(user, target)) { - return false; - } - const moveChance = this.getMoveChance(user, target, move, this.selfTarget, true); const statusCheck = moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance; if (statusCheck) { @@ -2495,7 +2511,7 @@ export class MultiStatusEffectAttr extends StatusEffectAttr { export class PsychoShiftEffectAttr extends MoveEffectAttr { constructor() { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); } /** @@ -2534,15 +2550,11 @@ export class StealHeldItemChanceAttr extends MoveEffectAttr { private chance: number; constructor(chance: number) { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); this.chance = chance; } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (move.hitsSubstitute(user, target)) { - return false; - } - const rand = Phaser.Math.RND.realInRange(0, 1); if (rand >= this.chance) { return false; @@ -2590,7 +2602,7 @@ export class RemoveHeldItemAttr extends MoveEffectAttr { private berriesOnly: boolean; constructor(berriesOnly: boolean) { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); this.berriesOnly = berriesOnly; } @@ -2600,17 +2612,13 @@ export class RemoveHeldItemAttr extends MoveEffectAttr { * @param target Target {@linkcode Pokemon} that the moves applies to * @param move {@linkcode Move} that is used * @param args N/A - * @returns {boolean} True if an item was removed + * @returns True if an item was removed */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!this.berriesOnly && target.isPlayer()) { // "Wild Pokemon cannot knock off Player Pokemon's held items" (See Bulbapedia) return false; } - if (move.hitsSubstitute(user, target)) { - return false; - } - const cancelled = new BooleanHolder(false); applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // Check for abilities that block item theft @@ -2664,8 +2672,8 @@ export class RemoveHeldItemAttr extends MoveEffectAttr { */ export class EatBerryAttr extends MoveEffectAttr { protected chosenBerry: BerryModifier | undefined; - constructor() { - super(true, { trigger: MoveEffectTrigger.HIT }); + constructor(selfTarget: boolean) { + super(selfTarget); } /** * Causes the target to eat a berry. @@ -2680,17 +2688,20 @@ export class EatBerryAttr extends MoveEffectAttr { return false; } - const heldBerries = this.getTargetHeldBerries(target); + const pokemon = this.selfTarget ? user : target; + + const heldBerries = this.getTargetHeldBerries(pokemon); if (heldBerries.length <= 0) { return false; } this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)]; const preserve = new BooleanHolder(false); - globalScene.applyModifiers(PreserveBerryModifier, target.isPlayer(), target, preserve); // check for berry pouch preservation + // check for berry pouch preservation + globalScene.applyModifiers(PreserveBerryModifier, pokemon.isPlayer(), pokemon, preserve); if (!preserve.value) { - this.reduceBerryModifier(target); + this.reduceBerryModifier(pokemon); } - this.eatBerry(target); + this.eatBerry(pokemon); return true; } @@ -2718,20 +2729,17 @@ export class EatBerryAttr extends MoveEffectAttr { */ export class StealEatBerryAttr extends EatBerryAttr { constructor() { - super(); + super(false); } /** * User steals a random berry from the target and then eats it. - * @param {Pokemon} user Pokemon that used the move and will eat the stolen berry - * @param {Pokemon} target Pokemon that will have its berry stolen - * @param {Move} move Move being used - * @param {any[]} args Unused - * @returns {boolean} true if the function succeeds + * @param user - Pokemon that used the move and will eat the stolen berry + * @param target - Pokemon that will have its berry stolen + * @param move - Move being used + * @param args Unused + * @returns true if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (move.hitsSubstitute(user, target)) { - return false; - } const cancelled = new BooleanHolder(false); applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // check for abilities that block item theft if (cancelled.value === true) { @@ -2782,10 +2790,6 @@ export class HealStatusEffectAttr extends MoveEffectAttr { return false; } - if (!this.selfTarget && move.hitsSubstitute(user, target)) { - return false; - } - // Special edge case for shield dust blocking Sparkling Aria curing burn const moveTargets = getMoveTargets(user, move.id); if (target.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && move.id === Moves.SPARKLING_ARIA && moveTargets.targets.length === 1) { @@ -3162,15 +3166,7 @@ export class StatStageChangeAttr extends MoveEffectAttr { private get showMessage () { return this.options?.showMessage ?? true; } - - /** - * Indicates when the stat change should trigger - * @default MoveEffectTrigger.HIT - */ - public override get trigger () { - return this.options?.trigger ?? MoveEffectTrigger.HIT; - } - + /** * Attempts to change stats of the user or target (depending on value of selfTarget) if conditions are met * @param user {@linkcode Pokemon} the user of the move @@ -3184,10 +3180,6 @@ export class StatStageChangeAttr extends MoveEffectAttr { return false; } - if (!this.selfTarget && move.hitsSubstitute(user, target)) { - return false; - } - const moveChance = this.getMoveChance(user, target, move, this.selfTarget, true); if (moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance) { const stages = this.getLevels(user); @@ -3471,7 +3463,7 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr { */ export class OrderUpStatBoostAttr extends MoveEffectAttr { constructor() { - super(true, { trigger: MoveEffectTrigger.HIT }); + super(true); } override apply(user: Pokemon, target: Pokemon, move: Move, args?: any[]): boolean { @@ -3548,17 +3540,15 @@ export class ResetStatsAttr extends MoveEffectAttr { this.targetAllPokemon = targetAllPokemon; } - override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + override apply(_user: Pokemon, target: Pokemon, _move: Move, _args: any[]): boolean { if (this.targetAllPokemon) { // Target all pokemon on the field when Freezy Frost or Haze are used const activePokemon = globalScene.getField(true); activePokemon.forEach((p) => this.resetStats(p)); globalScene.queueMessage(i18next.t("moveTriggers:statEliminated")); } else { // Affects only the single target when Clear Smog is used - if (!move.hitsSubstitute(user, target)) { - this.resetStats(target); - globalScene.queueMessage(i18next.t("moveTriggers:resetStats", { pokemonName: getPokemonNameWithAffix(target) })); - } + this.resetStats(target); + globalScene.queueMessage(i18next.t("moveTriggers:resetStats", { pokemonName: getPokemonNameWithAffix(target) })); } return true; } @@ -4217,7 +4207,8 @@ export class PresentPowerAttr extends VariablePowerAttr { (args[0] as NumberHolder).value = 120; } else if (80 < powerSeed && powerSeed <= 100) { // If this move is multi-hit, disable all other hits - user.stopMultiHit(); + user.turnData.hitCount = 1; + user.turnData.hitsLeft = 1; globalScene.unshiftPhase(new PokemonHealPhase(target.getBattlerIndex(), toDmgValue(target.getMaxHp() / 4), i18next.t("moveTriggers:regainedHealth", { pokemonName: getPokemonNameWithAffix(target) }), true)); } @@ -4811,8 +4802,8 @@ export class ShellSideArmCategoryAttr extends VariableMoveCategoryAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const category = (args[0] as NumberHolder); - const predictedPhysDmg = target.getBaseDamage(user, move, MoveCategory.PHYSICAL, true, true, true, true); - const predictedSpecDmg = target.getBaseDamage(user, move, MoveCategory.SPECIAL, true, true, true, true); + const predictedPhysDmg = target.getBaseDamage({source: user, move, moveCategory: MoveCategory.PHYSICAL, ignoreAbility: true, ignoreSourceAbility: true, ignoreAllyAbility: true, ignoreSourceAllyAbility: true, simulated: true}); + const predictedSpecDmg = target.getBaseDamage({source: user, move, moveCategory: MoveCategory.SPECIAL, ignoreAbility: true, ignoreSourceAbility: true, ignoreAllyAbility: true, ignoreSourceAllyAbility: true, simulated: true}); if (predictedPhysDmg > predictedSpecDmg) { category.value = MoveCategory.PHYSICAL; @@ -5371,7 +5362,7 @@ export class BypassRedirectAttr extends MoveAttr { export class FrenzyAttr extends MoveEffectAttr { constructor() { - super(true, { trigger: MoveEffectTrigger.HIT, lastHitOnly: true }); + super(true, { lastHitOnly: true }); } canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) { @@ -5443,22 +5434,20 @@ export class AddBattlerTagAttr extends MoveEffectAttr { protected cancelOnFail: boolean; private failOnOverlap: boolean; - constructor(tagType: BattlerTagType, selfTarget: boolean = false, failOnOverlap: boolean = false, turnCountMin: number = 0, turnCountMax?: number, lastHitOnly: boolean = false, cancelOnFail: boolean = false) { + constructor(tagType: BattlerTagType, selfTarget: boolean = false, failOnOverlap: boolean = false, turnCountMin: number = 0, turnCountMax?: number, lastHitOnly: boolean = false) { super(selfTarget, { lastHitOnly: lastHitOnly }); this.tagType = tagType; this.turnCountMin = turnCountMin; this.turnCountMax = turnCountMax !== undefined ? turnCountMax : turnCountMin; this.failOnOverlap = !!failOnOverlap; - this.cancelOnFail = cancelOnFail; } canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (!super.canApply(user, target, move, args) || (this.cancelOnFail === true && user.getLastXMoves(1)[0]?.result === MoveResult.FAIL)) { + if (!super.canApply(user, target, move, args)) { return false; - } else { - return true; } + return true; } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { @@ -5549,19 +5538,6 @@ export class LeechSeedAttr extends AddBattlerTagAttr { constructor() { super(BattlerTagType.SEEDED); } - - /** - * Adds a Seeding effect to the target if the target does not have an active Substitute. - * @param user the {@linkcode Pokemon} using the move - * @param target the {@linkcode Pokemon} targeted by the move - * @param move the {@linkcode Move} invoking this effect - * @param args n/a - * @returns `true` if the effect successfully applies; `false` otherwise - */ - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - return !move.hitsSubstitute(user, target) - && super.apply(user, target, move, args); - } } /** @@ -5737,13 +5713,6 @@ export class FlinchAttr extends AddBattlerTagAttr { constructor() { super(BattlerTagType.FLINCHED, false); } - - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (!move.hitsSubstitute(user, target)) { - return super.apply(user, target, move, args); - } - return false; - } } export class ConfuseAttr extends AddBattlerTagAttr { @@ -5759,16 +5728,13 @@ export class ConfuseAttr extends AddBattlerTagAttr { return false; } - if (!move.hitsSubstitute(user, target)) { - return super.apply(user, target, move, args); - } - return false; + return super.apply(user, target, move, args); } } export class RechargeAttr extends AddBattlerTagAttr { constructor() { - super(BattlerTagType.RECHARGING, true, false, 1, 1, true, true); + super(BattlerTagType.RECHARGING, true, false, 1, 1, true); } } @@ -6151,7 +6117,7 @@ export class AddPledgeEffectAttr extends AddArenaTagAttr { * @see {@linkcode apply} */ export class RevivalBlessingAttr extends MoveEffectAttr { - constructor(user?: boolean) { + constructor() { super(true); } @@ -6392,10 +6358,6 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { const player = switchOutTarget instanceof PlayerPokemon; if (!this.selfSwitch) { - if (move.hitsSubstitute(user, target)) { - return false; - } - // Dondozo with an allied Tatsugiri in its mouth cannot be forced out const commandedTag = switchOutTarget.getTag(BattlerTagType.COMMANDED); if (commandedTag?.getSourcePokemon()?.isActive(true)) { @@ -6650,7 +6612,7 @@ export class ChangeTypeAttr extends MoveEffectAttr { private type: PokemonType; constructor(type: PokemonType) { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); this.type = type; } @@ -6673,7 +6635,7 @@ export class AddTypeAttr extends MoveEffectAttr { private type: PokemonType; constructor(type: PokemonType) { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); this.type = type; } @@ -7369,7 +7331,7 @@ export class AbilityChangeAttr extends MoveEffectAttr { public ability: Abilities; constructor(ability: Abilities, selfTarget?: boolean) { - super(selfTarget, { trigger: MoveEffectTrigger.HIT }); + super(selfTarget); this.ability = ability; } @@ -7400,7 +7362,7 @@ export class AbilityCopyAttr extends MoveEffectAttr { public copyToPartner: boolean; constructor(copyToPartner: boolean = false) { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); this.copyToPartner = copyToPartner; } @@ -7441,7 +7403,7 @@ export class AbilityGiveAttr extends MoveEffectAttr { public copyToPartner: boolean; constructor() { - super(false, { trigger: MoveEffectTrigger.HIT }); + super(false); } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { @@ -7720,7 +7682,7 @@ export class DiscourageFrequentUseAttr extends MoveAttr { export class MoneyAttr extends MoveEffectAttr { constructor() { - super(true, { trigger: MoveEffectTrigger.HIT, firstHitOnly: true }); + super(true, {firstHitOnly: true }); } apply(user: Pokemon, target: Pokemon, move: Move): boolean { @@ -7787,7 +7749,7 @@ export class StatusIfBoostedAttr extends MoveEffectAttr { public effect: StatusEffect; constructor(effect: StatusEffect) { - super(true, { trigger: MoveEffectTrigger.HIT }); + super(true); this.effect = effect; } @@ -10566,7 +10528,7 @@ export function initMoves() { .attr(JawLockAttr) .bitingMove(), new SelfStatusMove(Moves.STUFF_CHEEKS, PokemonType.NORMAL, -1, 10, -1, 0, 8) - .attr(EatBerryAttr) + .attr(EatBerryAttr, true) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true) .condition((user) => { const userBerries = globalScene.findModifiers(m => m instanceof BerryModifier, user.isPlayer()); @@ -10590,7 +10552,7 @@ export function initMoves() { .makesContact(false) .partial(), // smart targetting is unimplemented new StatusMove(Moves.TEATIME, PokemonType.NORMAL, -1, 10, -1, 0, 8) - .attr(EatBerryAttr) + .attr(EatBerryAttr, false) .target(MoveTarget.ALL), new StatusMove(Moves.OCTOLOCK, PokemonType.FIGHTING, 100, 15, -1, 0, 8) .condition(failIfGhostTypeCondition) diff --git a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts index d8af7b6aac8..48b36369190 100644 --- a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts +++ b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts @@ -22,7 +22,7 @@ import { EggTier } from "#enums/egg-type"; import { PartyHealPhase } from "#app/phases/party-heal-phase"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/aTrainersTest"; diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index 0a270aebf37..e0486c83e77 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -37,7 +37,7 @@ import type HeldModifierConfig from "#app/interfaces/held-modifier-config"; import type { BerryType } from "#enums/berry-type"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import i18next from "i18next"; /** the i18n namespace for this encounter */ diff --git a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts index b66052cfd16..b403c5f291c 100644 --- a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts +++ b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts @@ -23,7 +23,7 @@ import { speciesStarterCosts } from "#app/data/balance/starters"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { ModifierRewardPhase } from "#app/phases/modifier-reward-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import i18next from "i18next"; /** the i18n namespace for this encounter */ diff --git a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts index bf49dfdea91..7f54e51565e 100644 --- a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts +++ b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts @@ -36,7 +36,7 @@ import i18next from "#app/plugins/i18n"; import { BerryType } from "#enums/berry-type"; import { PERMANENT_STATS, Stat } from "#enums/stat"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/berriesAbound"; diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index 8dfd1a270bd..001faf3a67f 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -52,7 +52,7 @@ import i18next from "i18next"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; import { allMoves } from "#app/data/moves/move"; import { ModifierTier } from "#app/modifier/modifier-tier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; /** the i18n namespace for the encounter */ diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 07688db4583..24c076f750e 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -46,7 +46,7 @@ import { Moves } from "#enums/moves"; import { EncounterBattleAnim } from "#app/data/battle-anims"; import { MoveCategory } from "#enums/MoveCategory"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { EncounterAnim } from "#enums/encounter-anims"; import { Challenges } from "#enums/challenges"; diff --git a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts index 75527e1f8c1..bdd4bfaacaa 100644 --- a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts +++ b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts @@ -24,7 +24,7 @@ import { TrainerSlot } from "#enums/trainer-slot"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { modifierTypes } from "#app/modifier/modifier-type"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; diff --git a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts index 85ebf175f43..e746b13c6a5 100644 --- a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts +++ b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts @@ -19,7 +19,7 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { ModifierRewardPhase } from "#app/phases/modifier-reward-phase"; import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; import { PokemonFormChangeItemModifier } from "#app/modifier/modifier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { Challenges } from "#enums/challenges"; /** i18n namespace for encounter */ diff --git a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts index e57955c324a..7040bb47d19 100644 --- a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts +++ b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts @@ -18,7 +18,7 @@ import { applyModifierTypeToPlayerPokemon } from "#app/data/mystery-encounters/u import { getPokemonSpecies } from "#app/data/pokemon-species"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import type { PokemonHeldItemModifier, PokemonInstantReviveModifier } from "#app/modifier/modifier"; import { BerryModifier, diff --git a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts index 6a26cf19d7f..39341bef2d5 100644 --- a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts +++ b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts @@ -10,7 +10,7 @@ import { Species } from "#enums/species"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** i18n namespace for encounter */ const namespace = "mysteryEncounters/departmentStoreSale"; diff --git a/src/data/mystery-encounters/encounters/field-trip-encounter.ts b/src/data/mystery-encounters/encounters/field-trip-encounter.ts index a1964aa5ab4..2cd6123838b 100644 --- a/src/data/mystery-encounters/encounters/field-trip-encounter.ts +++ b/src/data/mystery-encounters/encounters/field-trip-encounter.ts @@ -18,7 +18,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { Stat } from "#enums/stat"; import i18next from "i18next"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** i18n namespace for the encounter */ const namespace = "mysteryEncounters/fieldTrip"; diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index f0fb6398334..0364b98abe2 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -41,7 +41,7 @@ import { import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { EncounterAnim } from "#enums/encounter-anims"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; diff --git a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts index d9b4140c6ee..ecc2e17a06f 100644 --- a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts +++ b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts @@ -33,7 +33,7 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { randSeedInt } from "#app/utils/common"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/fightOrFlight"; diff --git a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts index 282c6c149ff..2d0828b8c0c 100644 --- a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts +++ b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts @@ -30,7 +30,7 @@ import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { PostSummonPhase } from "#app/phases/post-summon-phase"; import { modifierTypes } from "#app/modifier/modifier-type"; import { Nature } from "#enums/nature"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { isPokemonValidForEncounterOptionSelection } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; /** the i18n namespace for the encounter */ diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index 63db5c7c5d6..b0721ddfee9 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -48,7 +48,7 @@ import { Gender, getGenderSymbol } from "#app/data/gender"; import { getNatureName } from "#app/data/nature"; import { getPokeballAtlasKey, getPokeballTintColor } from "#app/data/pokeball"; import { getEncounterText, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { addPokemonDataToDexAndValidateAchievements } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import type { PokeballType } from "#enums/pokeball"; import { doShinySparkleAnim } from "#app/field/anims"; diff --git a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts index 97fd5783ebb..6d8a1fc8c6b 100644 --- a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts +++ b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts @@ -10,7 +10,7 @@ import { leaveEncounterWithoutBattle, setEncounterExp } from "../utils/encounter import { applyDamageToPokemon } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { PokemonMove } from "#app/field/pokemon"; const OPTION_1_REQUIRED_MOVE = Moves.SURF; diff --git a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts index b10f2f3dba2..6907e18cfdc 100644 --- a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts @@ -16,7 +16,7 @@ import { randSeedInt } from "#app/utils/common"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/mysteriousChallengers"; diff --git a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts index 8877bf36ce8..e9976ba04aa 100644 --- a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts @@ -15,7 +15,7 @@ import { koPlayerPokemon, } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { GameOverPhase } from "#app/phases/game-over-phase"; import { randSeedInt } from "#app/utils/common"; diff --git a/src/data/mystery-encounters/encounters/part-timer-encounter.ts b/src/data/mystery-encounters/encounters/part-timer-encounter.ts index 61b48353997..1074eaf8c81 100644 --- a/src/data/mystery-encounters/encounters/part-timer-encounter.ts +++ b/src/data/mystery-encounters/encounters/part-timer-encounter.ts @@ -20,7 +20,7 @@ import { showEncounterDialogue, showEncounterText } from "#app/data/mystery-enco import i18next from "i18next"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { isPokemonValidForEncounterOptionSelection } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; /** the i18n namespace for the encounter */ diff --git a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts index 602a8d397db..7a12c86edff 100644 --- a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts +++ b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts @@ -31,7 +31,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { ScanIvsPhase } from "#app/phases/scan-ivs-phase"; import { SummonPhase } from "#app/phases/summon-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { NON_LEGEND_PARADOX_POKEMON } from "#app/data/balance/special-species-groups"; /** the i18n namespace for the encounter */ diff --git a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts index 79f4b53a73e..daf4d860cdf 100644 --- a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts +++ b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts @@ -26,7 +26,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import type { Nature } from "#enums/nature"; import { getNatureName } from "#app/data/nature"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import i18next from "i18next"; /** the i18n namespace for this encounter */ diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index bfa1204a8ba..41c20f35ba1 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -26,7 +26,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { PartyHealPhase } from "#app/phases/party-heal-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { BerryType } from "#enums/berry-type"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; diff --git a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts index ef3532b080e..28c7fe4644f 100644 --- a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts +++ b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts @@ -29,7 +29,7 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { getPokemonNameWithAffix } from "#app/messages"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { getEncounterPokemonLevelForWave, STANDARD_ENCOUNTER_BOOSTED_LEVEL_MODIFIER, diff --git a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts index ab2f19cfb77..076171b3e5e 100644 --- a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts @@ -11,7 +11,7 @@ import { randSeedShuffle } from "#app/utils/common"; import type MysteryEncounter from "../mystery-encounter"; import { MysteryEncounterBuilder } from "../mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { Biome } from "#enums/biome"; import { TrainerType } from "#enums/trainer-type"; import i18next from "i18next"; diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index cfff59b45f5..bfba553af5d 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -26,7 +26,7 @@ import { showEncounterDialogue } from "#app/data/mystery-encounters/utils/encoun import PokemonData from "#app/system/pokemon-data"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { Abilities } from "#enums/abilities"; import { NON_LEGEND_PARADOX_POKEMON, NON_LEGEND_ULTRA_BEASTS } from "#app/data/balance/special-species-groups"; import { timedEventManager } from "#app/global-event-manager"; diff --git a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts index c994c6e993f..294f1a78b34 100644 --- a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts @@ -28,7 +28,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { Stat } from "#enums/stat"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/theStrongStuff"; diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index 41bf87351f4..bc7c570abca 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -32,7 +32,7 @@ import { ShowTrainerPhase } from "#app/phases/show-trainer-phase"; import { ReturnPhase } from "#app/phases/return-phase"; import i18next from "i18next"; import { ModifierTier } from "#app/modifier/modifier-tier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { BattlerTagType } from "#enums/battler-tag-type"; /** the i18n namespace for the encounter */ diff --git a/src/data/mystery-encounters/encounters/training-session-encounter.ts b/src/data/mystery-encounters/encounters/training-session-encounter.ts index 11d00f1dd8c..597a6b009b3 100644 --- a/src/data/mystery-encounters/encounters/training-session-encounter.ts +++ b/src/data/mystery-encounters/encounters/training-session-encounter.ts @@ -28,7 +28,7 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import type HeldModifierConfig from "#app/interfaces/held-modifier-config"; import i18next from "i18next"; import { getStatKey } from "#enums/stat"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { isPokemonValidForEncounterOptionSelection } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import type { Nature } from "#enums/nature"; diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index 1ff96f21edc..1e1db14705a 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -26,7 +26,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; import { PokemonMove } from "#app/field/pokemon"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { randSeedInt } from "#app/utils/common"; /** the i18n namespace for this encounter */ diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index 66c7f7afc56..f4eec5b0923 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -37,7 +37,7 @@ import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encoun import { BerryModifier } from "#app/modifier/modifier"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/uncommonBreed"; diff --git a/src/enums/MoveEffectTrigger.ts b/src/enums/MoveEffectTrigger.ts index 1e7753d94fa..d22953c3690 100644 --- a/src/enums/MoveEffectTrigger.ts +++ b/src/enums/MoveEffectTrigger.ts @@ -1,7 +1,6 @@ export enum MoveEffectTrigger { PRE_APPLY, POST_APPLY, - HIT, /** Triggers one time after all target effects have applied */ POST_TARGET } diff --git a/src/enums/hit-check-result.ts b/src/enums/hit-check-result.ts new file mode 100644 index 00000000000..cf8a2b17194 --- /dev/null +++ b/src/enums/hit-check-result.ts @@ -0,0 +1,23 @@ +/** The result of a hit check calculation */ +export const HitCheckResult = { + /** Hit checks haven't been evaluated yet in this pass */ + PENDING: 0, + /** The move hits the target successfully */ + HIT: 1, + /** The move has no effect on the target */ + NO_EFFECT: 2, + /** The move has no effect on the target, but doesn't proc the default "no effect" message */ + NO_EFFECT_NO_MESSAGE: 3, + /** The target protected itself against the move */ + PROTECTED: 4, + /** The move missed the target */ + MISS: 5, + /** The move is reflected by magic coat or magic bounce */ + REFLECTED: 6, + /** The target is no longer on the field */ + TARGET_NOT_ON_FIELD: 7, + /** The move failed unexpectedly */ + ERROR: 8, +} as const; + +export type HitCheckResult = typeof HitCheckResult[keyof typeof HitCheckResult]; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 86d74ea5555..d565a590792 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -277,6 +277,36 @@ export enum FieldPosition { RIGHT, } +/** Base typeclass for damage parameter methods, used for DRY */ +type damageParams = { + /** The attacking {@linkcode Pokemon} */ + source: Pokemon; + /** The move used in the attack */ + move: Move; + /** The move's {@linkcode MoveCategory} after variable-category effects are applied */ + moveCategory: MoveCategory; + /** If `true`, ignores this Pokemon's defensive ability effects */ + ignoreAbility?: boolean; + /** If `true`, ignores the attacking Pokemon's ability effects */ + ignoreSourceAbility?: boolean; + /** If `true`, ignores the ally Pokemon's ability effects */ + ignoreAllyAbility?: boolean; + /** If `true`, ignores the ability effects of the attacking pokemon's ally */ + ignoreSourceAllyAbility?: boolean; + /** If `true`, calculates damage for a critical hit */ + isCritical?: boolean; + /** If `true`, suppresses changes to game state during the calculation */ + simulated?: boolean; + /** If defined, used in place of calculated effectiveness values */ + effectiveness?: number; +} + +/** Type for the parameters of {@linkcode Pokemon#getBaseDamage | getBaseDamage} */ +type getBaseDamageParams = Omit + +/** Type for the parameters of {@linkcode Pokemon#getAttackDamage | getAttackDamage} */ +type getAttackDamageParams = Omit; + export default abstract class Pokemon extends Phaser.GameObjects.Container { public id: number; public name: string; @@ -1441,25 +1471,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Calculate the critical-hit stage of a move used against this pokemon by * the given source * - * @param source the {@linkcode Pokemon} who using the move - * @param move the {@linkcode Move} being used - * @returns the final critical-hit stage value + * @param source - The {@linkcode Pokemon} who using the move + * @param move - The {@linkcode Move} being used + * @returns The final critical-hit stage value */ getCritStage(source: Pokemon, move: Move): number { const critStage = new NumberHolder(0); applyMoveAttrs(HighCritAttr, source, this, move, critStage); - globalScene.applyModifiers( - CritBoosterModifier, - source.isPlayer(), - source, - critStage, - ); - globalScene.applyModifiers( - TempCritBoosterModifier, - source.isPlayer(), - critStage, - ); - applyAbAttrs(BonusCritAbAttr, source, null, false, critStage) + globalScene.applyModifiers(CritBoosterModifier, source.isPlayer(), source, critStage); + globalScene.applyModifiers(TempCritBoosterModifier, source.isPlayer(), critStage); + applyAbAttrs(BonusCritAbAttr, source, null, false, critStage); const critBoostTag = source.getTag(CritBoostTag); if (critBoostTag) { if (critBoostTag instanceof DragonCheerTag) { @@ -1475,6 +1496,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return critStage.value; } + /** + * Calculates the category of a move when used by this pokemon after + * category-changing move effects are applied. + * @param target - The {@linkcode Pokemon} using the move + * @param move - The {@linkcode Move} being used + * @returns The given move's final category + */ + getMoveCategory(target: Pokemon, move: Move): MoveCategory { + const moveCategory = new NumberHolder(move.category); + applyMoveAttrs(VariableMoveCategoryAttr, this, target, move, moveCategory); + return moveCategory.value; + } + /** * Calculates and retrieves the final value of a stat considering any held * items, move effects, opponent abilities, and whether there was a critical @@ -2584,7 +2618,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param simulated Whether to apply abilities via simulated calls (defaults to `true`) * @param cancelled {@linkcode BooleanHolder} Stores whether the move was cancelled by a non-type-based immunity. * @param useIllusion - Whether we want the attack move effectiveness on the illusion or not - * Currently only used by {@linkcode Pokemon.apply} to determine whether a "No effect" message should be shown. * @returns The type damage multiplier, indicating the effectiveness of the move */ getMoveEffectiveness( @@ -4075,27 +4108,28 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Calculates the base damage of the given move against this Pokemon when attacked by the given source. * Used during damage calculation and for Shell Side Arm's forecasting effect. - * @param source the attacking {@linkcode Pokemon}. - * @param move the {@linkcode Move} used in the attack. - * @param moveCategory the move's {@linkcode MoveCategory} after variable-category effects are applied. - * @param ignoreAbility if `true`, ignores this Pokemon's defensive ability effects (defaults to `false`). - * @param ignoreSourceAbility if `true`, ignore's the attacking Pokemon's ability effects (defaults to `false`). - * @param ignoreAllyAbility if `true`, ignores the ally Pokemon's ability effects (defaults to `false`). - * @param ignoreSourceAllyAbility if `true`, ignores the attacking Pokemon's ally's ability effects (defaults to `false`). - * @param isCritical if `true`, calculates effective stats as if the hit were critical (defaults to `false`). - * @param simulated if `true`, suppresses changes to game state during calculation (defaults to `true`). + * @param source - The attacking {@linkcode Pokemon}. + * @param move - The {@linkcode Move} used in the attack. + * @param moveCategory - The move's {@linkcode MoveCategory} after variable-category effects are applied. + * @param ignoreAbility - If `true`, ignores this Pokemon's defensive ability effects (defaults to `false`). + * @param ignoreSourceAbility - If `true`, ignore's the attacking Pokemon's ability effects (defaults to `false`). + * @param ignoreAllyAbility - If `true`, ignores the ally Pokemon's ability effects (defaults to `false`). + * @param ignoreSourceAllyAbility - If `true`, ignores the attacking Pokemon's ally's ability effects (defaults to `false`). + * @param isCritical - if `true`, calculates effective stats as if the hit were critical (defaults to `false`). + * @param simulated - if `true`, suppresses changes to game state during calculation (defaults to `true`). * @returns The move's base damage against this Pokemon when used by the source Pokemon. */ getBaseDamage( - source: Pokemon, - move: Move, - moveCategory: MoveCategory, + { + source, + move, + moveCategory, ignoreAbility = false, ignoreSourceAbility = false, ignoreAllyAbility = false, ignoreSourceAllyAbility = false, isCritical = false, - simulated = true, + simulated = true}: getBaseDamageParams ): number { const isPhysical = moveCategory === MoveCategory.PHYSICAL; @@ -4222,27 +4256,27 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Calculates the damage of an attack made by another Pokemon against this Pokemon * @param source {@linkcode Pokemon} the attacking Pokemon - * @param move {@linkcode Pokemon} the move used in the attack + * @param move The {@linkcode Move} used in the attack * @param ignoreAbility If `true`, ignores this Pokemon's defensive ability effects * @param ignoreSourceAbility If `true`, ignores the attacking Pokemon's ability effects * @param ignoreAllyAbility If `true`, ignores the ally Pokemon's ability effects * @param ignoreSourceAllyAbility If `true`, ignores the ability effects of the attacking pokemon's ally * @param isCritical If `true`, calculates damage for a critical hit. * @param simulated If `true`, suppresses changes to game state during the calculation. - * @returns a {@linkcode DamageCalculationResult} object with three fields: - * - `cancelled`: `true` if the move was cancelled by another effect. - * - `result`: {@linkcode HitResult} indicates the attack's type effectiveness. - * - `damage`: `number` the attack's final damage output. + * @param effectiveness If defined, used in place of calculated effectiveness values + * @returns The {@linkcode DamageCalculationResult} */ getAttackDamage( - source: Pokemon, - move: Move, - ignoreAbility = false, - ignoreSourceAbility = false, - ignoreAllyAbility = false, - ignoreSourceAllyAbility = false, - isCritical = false, - simulated = true, + { + source, + move, + ignoreAbility = false, + ignoreSourceAbility = false, + ignoreAllyAbility = false, + ignoreSourceAllyAbility = false, + isCritical = false, + simulated = true, + effectiveness}: getAttackDamageParams, ): DamageCalculationResult { const damage = new NumberHolder(0); const defendingSide = this.isPlayer() @@ -4272,7 +4306,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * * Note that the source's abilities are not ignored here */ - const typeMultiplier = this.getMoveEffectiveness( + const typeMultiplier = effectiveness ?? this.getMoveEffectiveness( source, move, ignoreAbility, @@ -4344,7 +4378,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * The attack's base damage, as determined by the source's level, move power * and Attack stat as well as this Pokemon's Defense stat */ - const baseDamage = this.getBaseDamage( + const baseDamage = this.getBaseDamage({ source, move, moveCategory, @@ -4354,7 +4388,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ignoreSourceAllyAbility, isCritical, simulated, - ); + }); /** 25% damage debuff on moves hitting more than one non-fainted target (regardless of immunities) */ const { targets, multiple } = getMoveTargets(source, move.id); @@ -4565,211 +4599,36 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }; } - /** - * Applies the results of a move to this pokemon - * @param source The {@linkcode Pokemon} using the move - * @param move The {@linkcode Move} being used - * @returns The {@linkcode HitResult} of the attack - */ - apply(source: Pokemon, move: Move): HitResult { - const defendingSide = this.isPlayer() - ? ArenaTagSide.PLAYER - : ArenaTagSide.ENEMY; - const moveCategory = new NumberHolder(move.category); - applyMoveAttrs(VariableMoveCategoryAttr, source, this, move, moveCategory); - if (moveCategory.value === MoveCategory.STATUS) { - const cancelled = new BooleanHolder(false); - const typeMultiplier = this.getMoveEffectiveness( - source, - move, - false, - false, - cancelled, - ); - - if (!cancelled.value && typeMultiplier === 0) { - globalScene.queueMessage( - i18next.t("battle:hitResultNoEffect", { - pokemonName: getPokemonNameWithAffix(this), - }), - ); - } - return typeMultiplier === 0 ? HitResult.NO_EFFECT : HitResult.STATUS; + /** Calculate whether the given move critically hits this pokemon + * @param source - The {@linkcode Pokemon} using the move + * @param move - The {@linkcode Move} being used + * @param simulated - If `true`, suppresses changes to game state during calculation (defaults to `true`) + * @returns whether the move critically hits the pokemon + */ + getCriticalHitResult(source: Pokemon, move: Move, simulated: boolean = true): boolean { + const defendingSide = this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; + const noCritTag = globalScene.arena.getTagOnSide(NoCritTag, defendingSide); + if (noCritTag || Overrides.NEVER_CRIT_OVERRIDE || move.hasAttr(FixedDamageAttr)) { + return false; } - /** Determines whether the attack critically hits */ - let isCritical: boolean; - const critOnly = new BooleanHolder(false); - const critAlways = source.getTag(BattlerTagType.ALWAYS_CRIT); - applyMoveAttrs(CritOnlyAttr, source, this, move, critOnly); - applyAbAttrs( - ConditionalCritAbAttr, - source, - null, - false, - critOnly, - this, - move, - ); - if (critOnly.value || critAlways) { - isCritical = true; - } else { + const isCritical = new BooleanHolder(false); + + if (source.getTag(BattlerTagType.ALWAYS_CRIT)) { + isCritical.value = true; + } + applyMoveAttrs(CritOnlyAttr, source, this, move, isCritical); + applyAbAttrs(ConditionalCritAbAttr, source, null, simulated, isCritical, this, move); + if (!isCritical.value) { const critChance = [24, 8, 2, 1][ Math.max(0, Math.min(this.getCritStage(source, move), 3)) ]; - isCritical = - critChance === 1 || !globalScene.randBattleSeedInt(critChance); + isCritical.value = critChance === 1 || !globalScene.randBattleSeedInt(critChance); } - const noCritTag = globalScene.arena.getTagOnSide(NoCritTag, defendingSide); - const blockCrit = new BooleanHolder(false); - applyAbAttrs(BlockCritAbAttr, this, null, false, blockCrit); - if (noCritTag || blockCrit.value || Overrides.NEVER_CRIT_OVERRIDE) { - isCritical = false; - } + applyAbAttrs(BlockCritAbAttr, this, null, simulated, isCritical); - /** - * Applies stat changes from {@linkcode move} and gives it to {@linkcode source} - * before damage calculation - */ - applyMoveAttrs(StatChangeBeforeDmgCalcAttr, source, this, move); - - const { - cancelled, - result, - damage: dmg, - } = this.getAttackDamage(source, move, false, false, false, false, isCritical, false); - - const typeBoost = source.findTag( - t => - t instanceof TypeBoostTag && t.boostedType === source.getMoveType(move), - ) as TypeBoostTag; - if (typeBoost?.oneUse) { - source.removeTag(typeBoost.tagType); - } - - if ( - cancelled || - result === HitResult.IMMUNE || - result === HitResult.NO_EFFECT - ) { - source.stopMultiHit(this); - - if (!cancelled) { - if (result === HitResult.IMMUNE) { - globalScene.queueMessage( - i18next.t("battle:hitResultImmune", { - pokemonName: getPokemonNameWithAffix(this), - }), - ); - } else { - globalScene.queueMessage( - i18next.t("battle:hitResultNoEffect", { - pokemonName: getPokemonNameWithAffix(this), - }), - ); - } - } - return result; - } - - // In case of fatal damage, this tag would have gotten cleared before we could lapse it. - const destinyTag = this.getTag(BattlerTagType.DESTINY_BOND); - const grudgeTag = this.getTag(BattlerTagType.GRUDGE); - - if (dmg) { - this.lapseTags(BattlerTagLapseType.HIT); - - const substitute = this.getTag(SubstituteTag); - const isBlockedBySubstitute = - !!substitute && move.hitsSubstitute(source, this); - if (isBlockedBySubstitute) { - substitute.hp -= dmg; - } - if (!this.isPlayer() && dmg >= this.hp) { - globalScene.applyModifiers(EnemyEndureChanceModifier, false, this); - } - - /** - * We explicitly require to ignore the faint phase here, as we want to show the messages - * about the critical hit and the super effective/not very effective messages before the faint phase. - */ - const damage = this.damageAndUpdate(isBlockedBySubstitute ? 0 : dmg, - { - result: result as DamageResult, - isCritical, - ignoreFaintPhase: true, - source - }); - - if (damage > 0) { - if (source.isPlayer()) { - globalScene.validateAchvs(DamageAchv, new NumberHolder(damage)); - if (damage > globalScene.gameData.gameStats.highestDamage) { - globalScene.gameData.gameStats.highestDamage = damage; - } - } - source.turnData.totalDamageDealt += damage; - source.turnData.singleHitDamageDealt = damage; - this.turnData.damageTaken += damage; - this.battleData.hitCount++; - - const attackResult = { - move: move.id, - result: result as DamageResult, - damage: damage, - critical: isCritical, - sourceId: source.id, - sourceBattlerIndex: source.getBattlerIndex(), - }; - this.turnData.attacksReceived.unshift(attackResult); - if (source.isPlayer() && !this.isPlayer()) { - globalScene.applyModifiers( - DamageMoneyRewardModifier, - true, - source, - new NumberHolder(damage), - ); - } - } - } - - if (isCritical) { - globalScene.queueMessage(i18next.t("battle:hitResultCriticalHit")); - } - - // want to include is.Fainted() in case multi hit move ends early, still want to render message - if (source.turnData.hitsLeft === 1 || this.isFainted()) { - switch (result) { - case HitResult.SUPER_EFFECTIVE: - globalScene.queueMessage(i18next.t("battle:hitResultSuperEffective")); - break; - case HitResult.NOT_VERY_EFFECTIVE: - globalScene.queueMessage( - i18next.t("battle:hitResultNotVeryEffective"), - ); - break; - case HitResult.ONE_HIT_KO: - globalScene.queueMessage(i18next.t("battle:hitResultOneHitKO")); - break; - } - } - - if (this.isFainted()) { - // set splice index here, so future scene queues happen before FaintedPhase - globalScene.setPhaseQueueSplice(); - globalScene.unshiftPhase( - new FaintPhase( - this.getBattlerIndex(), - false, - source, - ), - ); - - this.destroySubstitute(); - this.lapseTag(BattlerTagType.COMMANDED); - } - - return result; + return isCritical.value; + } /** @@ -4833,7 +4692,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Called by apply(), given the damage, adds a new DamagePhase and actually updates HP values, etc. + * Given the damage, adds a new DamagePhase and update HP values, etc. + * * Checks for 'Indirect' HitResults to account for Endure/Reviver Seed applying correctly * @param damage integer - passed to damage() * @param result an enum if it's super effective, not very, etc. @@ -5136,8 +4996,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Gets whether the given move is currently disabled for this Pokemon. * - * @param {Moves} moveId {@linkcode Moves} ID of the move to check - * @returns {boolean} `true` if the move is disabled for this Pokemon, otherwise `false` + * @param moveId - The {@linkcode Moves} ID of the move to check + * @returns `true` if the move is disabled for this Pokemon, otherwise `false` * * @see {@linkcode MoveRestrictionBattlerTag} */ @@ -5148,9 +5008,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Gets whether the given move is currently disabled for the user based on the player's target selection * - * @param {Moves} moveId {@linkcode Moves} ID of the move to check - * @param {Pokemon} user {@linkcode Pokemon} the move user - * @param {Pokemon} target {@linkcode Pokemon} the target of the move + * @param moveId - The {@linkcode Moves} ID of the move to check + * @param user - The move user + * @param target - The target of the move * * @returns {boolean} `true` if the move is disabled for this Pokemon due to the player's target selection * @@ -5180,10 +5040,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Gets the {@link MoveRestrictionBattlerTag} that is restricting a move, if it exists. * - * @param {Moves} moveId {@linkcode Moves} ID of the move to check - * @param {Pokemon} user {@linkcode Pokemon} the move user, optional and used when the target is a factor in the move's restricted status - * @param {Pokemon} target {@linkcode Pokemon} the target of the move, optional and used when the target is a factor in the move's restricted status - * @returns {MoveRestrictionBattlerTag | null} the first tag on this Pokemon that restricts the move, or `null` if the move is not restricted. + * @param moveId - {@linkcode Moves} ID of the move to check + * @param user - {@linkcode Pokemon} the move user, optional and used when the target is a factor in the move's restricted status + * @param target - {@linkcode Pokemon} the target of the move, optional and used when the target is a factor in the move's restricted status + * @returns The first tag on this Pokemon that restricts the move, or `null` if the move is not restricted. */ getRestrictingTag( moveId: Moves, @@ -5245,20 +5105,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.summonData.moveQueue; } - /** - * If this Pokemon is using a multi-hit move, cancels all subsequent strikes - * @param {Pokemon} target If specified, this only cancels subsequent strikes against the given target - */ - stopMultiHit(target?: Pokemon): void { - const effectPhase = globalScene.getCurrentPhase(); - if ( - effectPhase instanceof MoveEffectPhase && - effectPhase.getUserPokemon() === this - ) { - effectPhase.stopMultiHit(target); - } - } - changeForm(formChange: SpeciesFormChange): Promise { return new Promise(resolve => { this.formIndex = Math.max( @@ -5676,7 +5522,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * cancel the attack's subsequent hits. */ if (effect === StatusEffect.SLEEP || effect === StatusEffect.FREEZE) { - this.stopMultiHit(); + const currentPhase = globalScene.getCurrentPhase(); + if (currentPhase instanceof MoveEffectPhase && currentPhase.getUserPokemon() === this) { + this.turnData.hitCount = 1; + this.turnData.hitsLeft = 1; + } } if (asPhase) { @@ -7311,14 +7161,15 @@ export class EnemyPokemon extends Pokemon { ].includes(move.id); return ( doesNotFail && - p.getAttackDamage( - this, + p.getAttackDamage({ + source: this, move, - !p.battleData.abilityRevealed, - false, - !p.getAlly()?.battleData.abilityRevealed, - false, + ignoreAbility: !p.battleData.abilityRevealed, + ignoreSourceAbility: false, + ignoreAllyAbility: !p.getAlly()?.battleData.abilityRevealed, + ignoreSourceAllyAbility: false, isCritical, + } ).damage >= p.hp ); }) diff --git a/src/game-mode.ts b/src/game-mode.ts index dfe6b8cf123..ec7171b0024 100644 --- a/src/game-mode.ts +++ b/src/game-mode.ts @@ -13,6 +13,7 @@ import { Species } from "#enums/species"; import { Challenges } from "./enums/challenges"; import { globalScene } from "#app/global-scene"; import { getDailyStartingBiome } from "./data/daily-run"; +import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES, CHALLENGE_MODE_MYSTERY_ENCOUNTER_WAVES } from "./constants"; export enum GameModes { CLASSIC, @@ -36,10 +37,6 @@ interface GameModeConfig { hasMysteryEncounters?: boolean; } -// Describes min and max waves for MEs in specific game modes -export const CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180]; -export const CHALLENGE_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180]; - export class GameMode implements GameModeConfig { public modeId: GameModes; public isClassic: boolean; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 5a25cf6330d..4c99a609b11 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -35,19 +35,19 @@ import { BattlerTagType } from "#enums/battler-tag-type"; export class FaintPhase extends PokemonPhase { /** - * Whether or not enduring (for this phase's purposes, Reviver Seed) should be prevented + * Whether or not instant revive should be prevented */ - private preventEndure: boolean; + private preventInstantRevive: boolean; /** * The source Pokemon that dealt fatal damage */ private source?: Pokemon; - constructor(battlerIndex: BattlerIndex, preventEndure = false, source?: Pokemon) { + constructor(battlerIndex: BattlerIndex, preventInstantRevive = false, source?: Pokemon) { super(battlerIndex); - this.preventEndure = preventEndure; + this.preventInstantRevive = preventInstantRevive; this.source = source; } @@ -63,7 +63,7 @@ export class FaintPhase extends PokemonPhase { faintPokemon.resetSummonData(); - if (!this.preventEndure) { + if (!this.preventInstantRevive) { const instantReviveModifier = globalScene.applyModifier( PokemonInstantReviveModifier, this.player, diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index c29e3fe5cda..01085834ba5 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -13,7 +13,6 @@ import { PostDamageAbAttr, PostDefendAbAttr, ReflectStatusMoveAbAttr, - TypeImmunityAbAttr, } from "#app/data/abilities/ability"; import { ArenaTagSide, ConditionalProtectTag } from "#app/data/arena-tag"; import { MoveAnim } from "#app/data/battle-anims"; @@ -23,10 +22,10 @@ import { ProtectedTag, SemiInvulnerableTag, SubstituteTag, + TypeBoostTag, } from "#app/data/battler-tags"; import type { MoveAttr } from "#app/data/moves/move"; import { - AddArenaTrapTagAttr, applyFilteredMoveAttrs, applyMoveAttrs, AttackMove, @@ -40,8 +39,8 @@ import { NoEffectAttr, OneHitKOAttr, OverrideMoveEffectAttr, + StatChangeBeforeDmgCalcAttr, ToxicAccuracyAttr, - VariableTargetAttr, } from "#app/data/moves/move"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MoveFlags } from "#enums/MoveFlags"; @@ -49,13 +48,15 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { PokemonType } from "#enums/pokemon-type"; -import { PokemonMove } from "#app/field/pokemon"; +import { DamageResult, PokemonMove, type TurnMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { HitResult, MoveResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { ContactHeldItemTransferChanceModifier, + DamageMoneyRewardModifier, EnemyAttackStatusEffectChanceModifier, + EnemyEndureChanceModifier, FlinchChanceModifier, HitHealModifier, PokemonMultiHitModifier, @@ -64,36 +65,182 @@ import { PokemonPhase } from "#app/phases/pokemon-phase"; import { BooleanHolder, isNullOrUndefined, NumberHolder } from "#app/utils/common"; import type { nil } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; -import type { Moves } from "#enums/moves"; +import { Moves } from "#enums/moves"; import i18next from "i18next"; import type { Phase } from "#app/phase"; import { ShowAbilityPhase } from "./show-ability-phase"; import { MovePhase } from "./move-phase"; import { MoveEndPhase } from "./move-end-phase"; import { HideAbilityPhase } from "#app/phases/hide-ability-phase"; +import { TypeDamageMultiplier } from "#app/data/type"; +import { HitCheckResult } from "#enums/hit-check-result"; +import type Move from "#app/data/moves/move"; +import { isFieldTargeted } from "#app/data/moves/move-utils"; +import { FaintPhase } from "./faint-phase"; +import { DamageAchv } from "#app/system/achv"; + +type HitCheckEntry = [HitCheckResult, TypeDamageMultiplier]; export class MoveEffectPhase extends PokemonPhase { - public move: PokemonMove; + public move: Move; + private virtual = false; protected targets: BattlerIndex[]; protected reflected = false; + /** The result of the hit check against each target */ + private hitChecks: HitCheckEntry[]; + + /** The move history entry for the move */ + private moveHistoryEntry: TurnMove; + + /** Is this the first strike of a move? */ + private firstHit: boolean; + /** Is this the last strike of a move? */ + private lastHit: boolean; + + /** Phases queued during moves */ + private queuedPhases: Phase[] = []; + /** * @param reflected Indicates that the move was reflected by the user due to magic coat or magic bounce + * @param virtual Indicates that the move is a virtual move (i.e. called by metronome) */ - constructor(battlerIndex: BattlerIndex, targets: BattlerIndex[], move: PokemonMove, reflected = false) { + constructor(battlerIndex: BattlerIndex, targets: BattlerIndex[], move: Move, reflected = false, virtual = false) { super(battlerIndex); this.move = move; + this.virtual = virtual; + this.reflected = reflected; /** * In double battles, if the right Pokemon selects a spread move and the left Pokemon dies * with no party members available to switch in, then the right Pokemon takes the index * of the left Pokemon and gets hit unless this is checked. */ - if (targets.includes(battlerIndex) && this.move.getMove().moveTarget === MoveTarget.ALL_NEAR_OTHERS) { + if (targets.includes(battlerIndex) && this.move.moveTarget === MoveTarget.ALL_NEAR_OTHERS) { const i = targets.indexOf(battlerIndex); targets.splice(i, i + 1); } this.targets = targets; + + this.hitChecks = Array(this.targets.length).fill([HitCheckResult.PENDING, 0]); + } + + /** + * Compute targets and the results of hit checks of the invoked move against all targets, + * organized by battler index. + * + * **This is *not* a pure function**; it has the following side effects + * - `this.hitChecks` - The results of the hit checks against each target + * - `this.moveHistoryEntry` - Sets success or failure based on the hit check results + * - user.turnData.hitCount and user.turnData.hitsLeft - Both set to 1 if the + * move was unsuccessful against all targets + * + * @returns The targets of the invoked move + * @see {@linkcode hitCheck} + */ + private conductHitChecks(user: Pokemon, fieldMove: boolean): Pokemon[] { + /** All Pokemon targeted by this phase's invoked move */ + /** Whether any hit check ended in a success */ + let anySuccess = false; + /** Whether the attack missed all of its targets */ + let allMiss = true; + + let targets = this.getTargets(); + + // For field targeted moves, we only look for the first target that may magic bounce + + for (const [i, target] of targets.entries()) { + const hitCheck = this.hitCheck(target); + // If the move bounced and was a field targeted move, + // then immediately stop processing other targets + if (fieldMove && hitCheck[0] === HitCheckResult.REFLECTED) { + targets = [target]; + this.hitChecks = [hitCheck]; + break; + } + if (hitCheck[0] === HitCheckResult.HIT) { + anySuccess = true; + } else { + allMiss ||= hitCheck[0] === HitCheckResult.MISS; + } + this.hitChecks[i] = hitCheck; + } + + if (anySuccess) { + this.moveHistoryEntry.result = MoveResult.SUCCESS; + } else { + user.turnData.hitCount = 1; + user.turnData.hitsLeft = 1; + this.moveHistoryEntry.result = allMiss ? MoveResult.MISS : MoveResult.FAIL; + } + + return targets; + } + + /** + * Queue the phaes that should occur when the target reflects the move back to the user + * @param user - The {@linkcode Pokemon} using this phase's invoked move + * @param target - The {@linkcode Pokemon} that is reflecting the move + * + */ + private queueReflectedMove(user: Pokemon, target: Pokemon): void { + const newTargets = this.move.isMultiTarget() + ? getMoveTargets(target, this.move.id).targets + : [user.getBattlerIndex()]; + // TODO: ability displays should be handled by the ability + if (!target.getTag(BattlerTagType.MAGIC_COAT)) { + this.queuedPhases.push( + new ShowAbilityPhase(target.getBattlerIndex(), target.getPassiveAbility().hasAttr(ReflectStatusMoveAbAttr)), + ); + this.queuedPhases.push(new HideAbilityPhase()); + } + + this.queuedPhases.push( + new MovePhase(target, newTargets, new PokemonMove(this.move.id, 0, 0, true), true, true, true), + ); + } + + /** + * Apply the move to each of the resolved targets. + * @param targets - The resolved set of targets of the move + * @throws Error if there was an unexpected hit check result + */ + private applyToTargets(user: Pokemon, targets: Pokemon[]): void { + for (const [i, target] of targets.entries()) { + const [hitCheckResult, effectiveness] = this.hitChecks[i]; + switch (hitCheckResult) { + case HitCheckResult.HIT: + this.applyMoveEffects(target, effectiveness); + if (isFieldTargeted(this.move)) { + // Stop processing other targets if the move is a field move + return; + } + break; + case HitCheckResult.NO_EFFECT: + globalScene.queueMessage( + i18next.t(this.move.id === Moves.SHEER_COLD ? "battle:hitResultImmune" : "battle:hitResultNoEffect", { + pokemonName: getPokemonNameWithAffix(target), + }), + ); + case HitCheckResult.NO_EFFECT_NO_MESSAGE: + case HitCheckResult.PROTECTED: + case HitCheckResult.TARGET_NOT_ON_FIELD: + applyMoveAttrs(NoEffectAttr, user, target, this.move); + break; + case HitCheckResult.MISS: + globalScene.queueMessage( + i18next.t("battle:attackMissed", { pokemonNameWithAffix: getPokemonNameWithAffix(target) }), + ); + applyMoveAttrs(MissEffectAttr, user, target, this.move); + break; + case HitCheckResult.REFLECTED: + this.queueReflectedMove(user, target); + break; + case HitCheckResult.PENDING: + case HitCheckResult.ERROR: + throw new Error("Unexpected hit check result"); + } + } } public override start(): void { @@ -101,11 +248,10 @@ export class MoveEffectPhase extends PokemonPhase { /** The Pokemon using this phase's invoked move */ const user = this.getUserPokemon(); - /** All Pokemon targeted by this phase's invoked move */ - const targets = this.getTargets(); if (!user) { - return super.end(); + super.end(); + return; } /** If an enemy used this move, set this as last enemy that used move or ability */ @@ -115,23 +261,24 @@ export class MoveEffectPhase extends PokemonPhase { globalScene.currentBattle.lastPlayerInvolved = this.fieldIndex; } - const isDelayedAttack = this.move.getMove().hasAttr(DelayedAttackAttr); + const isDelayedAttack = this.move.hasAttr(DelayedAttackAttr); /** If the user was somehow removed from the field and it's not a delayed attack, end this phase */ if (!user.isOnField()) { if (!isDelayedAttack) { - return super.end(); - } else { - if (!user.scene) { - /** - * This happens if the Pokemon that used the delayed attack gets caught and released - * on the turn the attack would have triggered. Having access to the global scene - * in the future may solve this entirely, so for now we just cancel the hit - */ - return super.end(); - } - if (isNullOrUndefined(user.turnData)) { - user.resetTurnData(); - } + super.end(); + return; + } + if (!user.scene) { + /* + * This happens if the Pokemon that used the delayed attack gets caught and released + * on the turn the attack would have triggered. Having access to the global scene + * in the future may solve this entirely, so for now we just cancel the hit + */ + super.end(); + return; + } + if (isNullOrUndefined(user.turnData)) { + user.resetTurnData(); } } @@ -140,17 +287,17 @@ export class MoveEffectPhase extends PokemonPhase { * e.g. Charging moves (Fly, etc.) on their first turn of use. */ const overridden = new BooleanHolder(false); - /** The {@linkcode Move} object from {@linkcode allMoves} invoked by this phase */ - const move = this.move.getMove(); + const move = this.move; // Assume single target for override - applyMoveAttrs(OverrideMoveEffectAttr, user, this.getFirstTarget() ?? null, move, overridden, this.move.virtual); + applyMoveAttrs(OverrideMoveEffectAttr, user, this.getFirstTarget() ?? null, move, overridden, this.virtual); // If other effects were overriden, stop this phase before they can be applied if (overridden.value) { return this.end(); } + // Lapse `MOVE_EFFECT` effects (i.e. semi-invulnerability) when applicable user.lapseTags(BattlerTagLapseType.MOVE_EFFECT); // If the user is acting again (such as due to Instruct), reset hitsLeft/hitCount so that @@ -179,339 +326,75 @@ export class MoveEffectPhase extends PokemonPhase { user.turnData.hitsLeft = hitCount.value; } - /** + /* * Log to be entered into the user's move history once the move result is resolved. - * Note that `result` (a {@linkcode MoveResult}) logs whether the move was successfully + * Note that `result` logs whether the move was successfully * used in the sense of "Does it have an effect on the user?". */ - const moveHistoryEntry = { - move: this.move.moveId, + this.moveHistoryEntry = { + move: this.move.id, targets: this.targets, result: MoveResult.PENDING, - virtual: this.move.virtual, + virtual: this.virtual, }; - /** - * Stores results of hit checks of the invoked move against all targets, organized by battler index. - * @see {@linkcode hitCheck} - */ - const targetHitChecks = Object.fromEntries(targets.map(p => [p.getBattlerIndex(), this.hitCheck(p)])); - const hasActiveTargets = targets.some(t => t.isActive(true)); + const fieldMove = isFieldTargeted(move); - /** Check if the target is immune via ability to the attacking move, and NOT in semi invulnerable state */ - const isImmune = - targets[0]?.hasAbilityWithAttr(TypeImmunityAbAttr) && - targets[0]?.getAbility()?.getAttrs(TypeImmunityAbAttr)?.[0]?.getImmuneType() === user.getMoveType(move) && - !targets[0]?.getTag(SemiInvulnerableTag); + const targets = this.conductHitChecks(user, fieldMove); - const mayBounce = - move.hasFlag(MoveFlags.REFLECTABLE) && - !this.reflected && - targets.some(t => t.hasAbilityWithAttr(ReflectStatusMoveAbAttr) || !!t.getTag(BattlerTagType.MAGIC_COAT)); + this.firstHit = user.turnData.hitCount === user.turnData.hitsLeft; + this.lastHit = user.turnData.hitsLeft === 1 || !targets.some(t => t.isActive(true)); - /** - * If no targets are left for the move to hit and it is not a hazard move (FAIL), or the invoked move is non-reflectable, single-target - * (and not random target) and failed the hit check against its target (MISS), log the move - * as FAILed or MISSed (depending on the conditions above) and end this phase. - */ + // Play the animation if the move was successful against any of its targets or it has a POST_TARGET effect (like self destruct) if ( - (!hasActiveTargets && !move.hasAttr(AddArenaTrapTagAttr)) || - (!mayBounce && - !move.hasAttr(VariableTargetAttr) && - !move.isMultiTarget() && - !targetHitChecks[this.targets[0]] && - !targets[0].getTag(ProtectedTag) && - !isImmune) + this.moveHistoryEntry.result === MoveResult.SUCCESS || + move.getAttrs(MoveEffectAttr).some(attr => attr.trigger === MoveEffectTrigger.POST_TARGET) ) { - this.stopMultiHit(); - if (hasActiveTargets) { - globalScene.queueMessage( - i18next.t("battle:attackMissed", { - pokemonNameWithAffix: this.getFirstTarget() ? getPokemonNameWithAffix(this.getFirstTarget()!) : "", - }), - ); - moveHistoryEntry.result = MoveResult.MISS; - applyMoveAttrs(MissEffectAttr, user, null, this.move.getMove()); - } else { - globalScene.queueMessage(i18next.t("battle:attackFailed")); - moveHistoryEntry.result = MoveResult.FAIL; - } - user.pushMoveHistory(moveHistoryEntry); - return this.end(); + const firstTarget = this.getFirstTarget(); + new MoveAnim( + move.id as Moves, + user, + firstTarget?.getBattlerIndex() ?? BattlerIndex.ATTACKER, + // Field moves and some moves used in mystery encounters should be played even on an empty field + fieldMove || (globalScene.currentBattle?.mysteryEncounter?.hasBattleAnimationsWithoutTargets ?? false), + ).play(move.hitsSubstitute(user, firstTarget), () => this.postAnimCallback(user, targets)); + + return; + } + this.postAnimCallback(user, targets); + } + + /** + * Callback to be called after the move animation is played + */ + private postAnimCallback(user: Pokemon, targets: Pokemon[]) { + // Add to the move history entry + if (this.firstHit) { + user.pushMoveHistory(this.moveHistoryEntry); } - const playOnEmptyField = - (globalScene.currentBattle?.mysteryEncounter?.hasBattleAnimationsWithoutTargets ?? false) || - (!hasActiveTargets && move.hasAttr(AddArenaTrapTagAttr)); - // Move animation only needs one target. The attacker is used as a fallback. - new MoveAnim( - move.id as Moves, - user, - this.getFirstTarget()?.getBattlerIndex() ?? BattlerIndex.ATTACKER, - playOnEmptyField, - ).play(move.hitsSubstitute(user, this.getFirstTarget()!), () => { - /** Has the move successfully hit a target (for damage) yet? */ - let hasHit = false; - - // Prevent ENEMY_SIDE targeted moves from occurring twice in double battles - // and check which target will magic bounce. - // In the event that the move is a hazard move, there may be no target and the move should still succeed. - // In this case, the user is used as the "target" to prevent a crash. - // This should not affect normal execution of the move otherwise. - const trueTargets: Pokemon[] = - !hasActiveTargets && move.hasAttr(AddArenaTrapTagAttr) - ? [user] - : move.moveTarget !== MoveTarget.ENEMY_SIDE - ? targets - : (() => { - const magicCoatTargets = targets.filter( - t => t.getTag(BattlerTagType.MAGIC_COAT) || t.hasAbilityWithAttr(ReflectStatusMoveAbAttr), - ); - - // only magic coat effect cares about order - if (!mayBounce || magicCoatTargets.length === 0) { - return [targets[0]]; - } - return [magicCoatTargets[0]]; - })(); - - const queuedPhases: Phase[] = []; - for (const target of trueTargets) { - /** The {@linkcode ArenaTagSide} to which the target belongs */ - const targetSide = target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; - /** Has the invoked move been cancelled by conditional protection (e.g Quick Guard)? */ - const hasConditionalProtectApplied = new BooleanHolder(false); - /** Does the applied conditional protection bypass Protect-ignoring effects? */ - const bypassIgnoreProtect = new BooleanHolder(false); - /** If the move is not targeting a Pokemon on the user's side, try to apply conditional protection effects */ - if (!this.move.getMove().isAllyTarget()) { - globalScene.arena.applyTagsForSide( - ConditionalProtectTag, - targetSide, - false, - hasConditionalProtectApplied, - user, - target, - move.id, - bypassIgnoreProtect, - ); - } - - /** Is the target protected by Protect, etc. or a relevant conditional protection effect? */ - const isProtected = - ![MoveTarget.ENEMY_SIDE, MoveTarget.BOTH_SIDES].includes(this.move.getMove().moveTarget) && - (bypassIgnoreProtect.value || - !this.move.getMove().doesFlagEffectApply({ flag: MoveFlags.IGNORE_PROTECT, user, target })) && - (hasConditionalProtectApplied.value || - (!target.findTags(t => t instanceof DamageProtectedTag).length && - target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType))) || - (this.move.getMove().category !== MoveCategory.STATUS && - target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType)))); - - /** Is the target hidden by the effects of its Commander ability? */ - const isCommanding = - globalScene.currentBattle.double && - target.getAlly()?.getTag(BattlerTagType.COMMANDED)?.getSourcePokemon() === target; - - /** Is the target reflecting status moves from the magic coat move? */ - const isReflecting = !!target.getTag(BattlerTagType.MAGIC_COAT); - - /** Is the target's magic bounce ability not ignored and able to reflect this move? */ - const canMagicBounce = - !isReflecting && - !move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_ABILITIES, user, target }) && - target.hasAbilityWithAttr(ReflectStatusMoveAbAttr); - - const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); - - /** Is the target reflecting the effect, not protected, and not in an semi-invulnerable state?*/ - const willBounce = - !isProtected && - !this.reflected && - !isCommanding && - move.hasFlag(MoveFlags.REFLECTABLE) && - (isReflecting || canMagicBounce) && - !semiInvulnerableTag; - - // If the move will bounce, then queue the bounce and move on to the next target - if (!target.switchOutStatus && willBounce) { - const newTargets = move.isMultiTarget() ? getMoveTargets(target, move.id).targets : [user.getBattlerIndex()]; - if (!isReflecting) { - // TODO: Ability displays should be handled by the ability - queuedPhases.push( - new ShowAbilityPhase( - target.getBattlerIndex(), - target.getPassiveAbility().hasAttr(ReflectStatusMoveAbAttr), - ), - ); - queuedPhases.push(new HideAbilityPhase()); - } - - queuedPhases.push(new MovePhase(target, newTargets, new PokemonMove(move.id, 0, 0, true), true, true, true)); - continue; - } - - /** Is the pokemon immune due to an ablility, and also not in a semi invulnerable state? */ - const isImmune = - target.hasAbilityWithAttr(TypeImmunityAbAttr) && - target.getAbility()?.getAttrs(TypeImmunityAbAttr)?.[0]?.getImmuneType() === user.getMoveType(move) && - !semiInvulnerableTag; - - /** - * If the move missed a target, stop all future hits against that target - * and move on to the next target (if there is one). - */ - if ( - target.switchOutStatus || - isCommanding || - (!isImmune && - !isProtected && - !targetHitChecks[target.getBattlerIndex()] && - !move.hasAttr(AddArenaTrapTagAttr)) - ) { - this.stopMultiHit(target); - if (!target.switchOutStatus) { - globalScene.queueMessage( - i18next.t("battle:attackMissed", { - pokemonNameWithAffix: getPokemonNameWithAffix(target), - }), - ); - } - if (moveHistoryEntry.result === MoveResult.PENDING) { - moveHistoryEntry.result = MoveResult.MISS; - } - user.pushMoveHistory(moveHistoryEntry); - applyMoveAttrs(MissEffectAttr, user, null, move); - continue; - } - - /** Does this phase represent the invoked move's first strike? */ - const firstHit = user.turnData.hitsLeft === user.turnData.hitCount; - - // Only log the move's result on the first strike - if (firstHit) { - user.pushMoveHistory(moveHistoryEntry); - } - - /** - * Since all fail/miss checks have applied, the move is considered successfully applied. - * It's worth noting that if the move has no effect or is protected against, this assignment - * is overwritten and the move is logged as a FAIL. - */ - moveHistoryEntry.result = MoveResult.SUCCESS; - - /** - * Stores the result of applying the invoked move to the target. - * If the target is protected, the result is always `NO_EFFECT`. - * Otherwise, the hit result is based on type effectiveness, immunities, - * and other factors that may negate the attack or status application. - * - * Internally, the call to {@linkcode Pokemon.apply} is where damage is calculated - * (for attack moves) and the target's HP is updated. However, this isn't - * made visible to the user until the resulting {@linkcode DamagePhase} - * is invoked. - */ - const hitResult = !isProtected ? target.apply(user, move) : HitResult.NO_EFFECT; - - /** Does {@linkcode hitResult} indicate that damage was dealt to the target? */ - const dealsDamage = [ - HitResult.EFFECTIVE, - HitResult.SUPER_EFFECTIVE, - HitResult.NOT_VERY_EFFECTIVE, - HitResult.ONE_HIT_KO, - ].includes(hitResult); - - /** Is this target the first one hit by the move on its current strike? */ - const firstTarget = dealsDamage && !hasHit; - if (firstTarget) { - hasHit = true; - } - - /** - * If the move has no effect on the target (i.e. the target is protected or immune), - * change the logged move result to FAIL. - */ - if (hitResult === HitResult.NO_EFFECT) { - moveHistoryEntry.result = MoveResult.FAIL; - } - - /** Does this phase represent the invoked move's last strike? */ - const lastHit = user.turnData.hitsLeft === 1 || !this.getFirstTarget()?.isActive(); - - /** - * If the user can change forms by using the invoked move, - * it only changes forms after the move's last hit - * (see Relic Song's interaction with Parental Bond when used by Meloetta). - */ - if (lastHit) { - globalScene.triggerPokemonFormChange(user, SpeciesFormChangePostMoveTrigger); - /** - * Multi-Lens, Multi Hit move and Parental Bond check for PostDamageAbAttr - * other damage source are calculated in damageAndUpdate in pokemon.ts - */ - if (user.turnData.hitCount > 1) { - applyPostDamageAbAttrs(PostDamageAbAttr, target, 0, target.hasPassive(), false, [], user); - } - } - - applyFilteredMoveAttrs( - (attr: MoveAttr) => - attr instanceof MoveEffectAttr && - attr.trigger === MoveEffectTrigger.PRE_APPLY && - (!attr.firstHitOnly || firstHit) && - (!attr.lastHitOnly || lastHit) && - hitResult !== HitResult.NO_EFFECT, - user, - target, - move, - ); - - if (hitResult !== HitResult.FAIL) { - this.applySelfTargetEffects(user, target, firstHit, lastHit); - - if (hitResult !== HitResult.NO_EFFECT) { - this.applyPostApplyEffects(user, target, firstHit, lastHit); - this.applyHeldItemFlinchCheck(user, target, dealsDamage); - this.applySuccessfulAttackEffects(user, target, firstHit, lastHit, !!isProtected, hitResult, firstTarget); - } else { - applyMoveAttrs(NoEffectAttr, user, null, move); - } - } - } - - // Apply queued phases - if (queuedPhases.length) { - globalScene.appendToPhase(queuedPhases, MoveEndPhase); - } - // Apply the move's POST_TARGET effects on the move's last hit, after all targeted effects have resolved - if (user.turnData.hitsLeft === 1 || !this.getFirstTarget()?.isActive()) { - applyFilteredMoveAttrs( - (attr: MoveAttr) => attr instanceof MoveEffectAttr && attr.trigger === MoveEffectTrigger.POST_TARGET, - user, - null, - move, - ); - } - - /** - * Remove the target's substitute (if it exists and has expired) - * after all targeted effects have applied. - * This prevents blocked effects from applying until after this hit resolves. - */ - targets.forEach(target => { - const substitute = target.getTag(SubstituteTag); - if (substitute && substitute.hp <= 0) { - target.lapseTag(BattlerTagType.SUBSTITUTE); - } - }); - - const moveType = user.getMoveType(move, true); - if (move.category !== MoveCategory.STATUS && !user.stellarTypesBoosted.includes(moveType)) { - user.stellarTypesBoosted.push(moveType); - } - + try { + this.applyToTargets(user, targets); + } catch (e) { + console.warn(e.message || "Unexpected error in move effect phase"); this.end(); - }); + return; + } + + if (this.queuedPhases.length) { + globalScene.appendToPhase(this.queuedPhases, MoveEndPhase); + } + const moveType = user.getMoveType(this.move, true); + if (this.move.category !== MoveCategory.STATUS && !user.stellarTypesBoosted.includes(moveType)) { + user.stellarTypesBoosted.push(moveType); + } + + if (this.lastHit) { + this.triggerMoveEffects(MoveEffectTrigger.POST_TARGET, user, null); + } + + this.updateSubstitutes(); + this.end(); } public override end(): void { @@ -535,7 +418,6 @@ export class MoveEffectPhase extends PokemonPhase { globalScene.queueMessage(i18next.t("battle:attackHitsCount", { count: hitsTotal })); } globalScene.applyModifiers(HitHealModifier, this.player, user); - // Clear all cached move effectiveness values among targets this.getTargets().forEach(target => (target.turnData.moveEffectiveness = null)); } } @@ -543,82 +425,6 @@ export class MoveEffectPhase extends PokemonPhase { super.end(); } - /** - * Apply self-targeted effects that trigger `POST_APPLY` - * - * @param user - The {@linkcode Pokemon} using this phase's invoked move - * @param target - {@linkcode Pokemon} the current target of this phase's invoked move - * @param firstHit - `true` if this is the first hit in a multi-hit attack - * @param lastHit - `true` if this is the last hit in a multi-hit attack - * @returns a function intended to be passed into a `then()` call. - */ - protected applySelfTargetEffects(user: Pokemon, target: Pokemon, firstHit: boolean, lastHit: boolean): void { - applyFilteredMoveAttrs( - (attr: MoveAttr) => - attr instanceof MoveEffectAttr && - attr.trigger === MoveEffectTrigger.POST_APPLY && - attr.selfTarget && - (!attr.firstHitOnly || firstHit) && - (!attr.lastHitOnly || lastHit), - user, - target, - this.move.getMove(), - ); - } - - /** - * Applies non-self-targeted effects that trigger `POST_APPLY` - * (i.e. Smelling Salts curing Paralysis, and the forced switch from U-Turn, Dragon Tail, etc) - * @param user - The {@linkcode Pokemon} using this phase's invoked move - * @param target - {@linkcode Pokemon} the current target of this phase's invoked move - * @param firstHit - `true` if this is the first hit in a multi-hit attack - * @param lastHit - `true` if this is the last hit in a multi-hit attack - * @returns a function intended to be passed into a `then()` call. - */ - protected applyPostApplyEffects(user: Pokemon, target: Pokemon, firstHit: boolean, lastHit: boolean): void { - applyFilteredMoveAttrs( - (attr: MoveAttr) => - attr instanceof MoveEffectAttr && - attr.trigger === MoveEffectTrigger.POST_APPLY && - !attr.selfTarget && - (!attr.firstHitOnly || firstHit) && - (!attr.lastHitOnly || lastHit), - user, - target, - this.move.getMove(), - ); - } - - /** - * Applies effects that trigger on HIT - * (i.e. Final Gambit, Power-Up Punch, Drain Punch) - * @param user - The {@linkcode Pokemon} using this phase's invoked move - * @param target - {@linkcode Pokemon} the current target of this phase's invoked move - * @param firstHit - `true` if this is the first hit in a multi-hit attack - * @param lastHit - `true` if this is the last hit in a multi-hit attack - * @param firstTarget - `true` if {@linkcode target} is the first target hit by this strike of {@linkcode move} - * @returns a function intended to be passed into a `then()` call. - */ - protected applyOnHitEffects( - user: Pokemon, - target: Pokemon, - firstHit: boolean, - lastHit: boolean, - firstTarget: boolean, - ): void { - applyFilteredMoveAttrs( - (attr: MoveAttr) => - attr instanceof MoveEffectAttr && - attr.trigger === MoveEffectTrigger.HIT && - (!attr.firstHitOnly || firstHit) && - (!attr.lastHitOnly || lastHit) && - (!attr.firstTargetOnly || firstTarget), - user, - target, - this.move.getMove(), - ); - } - /** * Applies reactive effects that occur when a Pokémon is hit. * (i.e. Effect Spore, Disguise, Liquid Ooze, Beak Blast) @@ -627,51 +433,9 @@ export class MoveEffectPhase extends PokemonPhase { * @param hitResult - The {@linkcode HitResult} of the attempted move * @returns a `Promise` intended to be passed into a `then()` call. */ - protected applyOnGetHitAbEffects(user: Pokemon, target: Pokemon, hitResult: HitResult) { - const hitsSubstitute = this.move.getMove().hitsSubstitute(user, target); - if (!target.isFainted() || target.canApplyAbility()) { - applyPostDefendAbAttrs(PostDefendAbAttr, target, user, this.move.getMove(), hitResult); - - if (!hitsSubstitute) { - if (!user.isPlayer() && this.move.getMove() instanceof AttackMove) { - globalScene.applyShuffledModifiers(EnemyAttackStatusEffectChanceModifier, false, target); - } - } - } - if (!hitsSubstitute) { - target.lapseTags(BattlerTagLapseType.AFTER_HIT); - } - } - - /** - * Applies all effects and attributes that require a move to connect with a target, - * namely reactive effects like Weak Armor, on-hit effects like that of Power-Up Punch, and item stealing effects - * @param user - The {@linkcode Pokemon} using this phase's invoked move - * @param target - {@linkcode Pokemon} the current target of this phase's invoked move - * @param firstHit - `true` if this is the first hit in a multi-hit attack - * @param lastHit - `true` if this is the last hit in a multi-hit attack - * @param isProtected - `true` if the target is protected by effects such as Protect - * @param hitResult - The {@linkcode HitResult} of the attempted move - * @param firstTarget - `true` if {@linkcode target} is the first target hit by this strike of {@linkcode move} - * @returns a function intended to be passed into a `then()` call. - */ - protected applySuccessfulAttackEffects( - user: Pokemon, - target: Pokemon, - firstHit: boolean, - lastHit: boolean, - isProtected: boolean, - hitResult: HitResult, - firstTarget: boolean, - ): void { - if (!isProtected) { - this.applyOnHitEffects(user, target, firstHit, lastHit, firstTarget); - this.applyOnGetHitAbEffects(user, target, hitResult); - applyPostAttackAbAttrs(PostAttackAbAttr, user, target, this.move.getMove(), hitResult); - if (this.move.getMove() instanceof AttackMove && hitResult !== HitResult.STATUS) { - globalScene.applyModifiers(ContactHeldItemTransferChanceModifier, this.player, user, target); - } - } + protected applyOnGetHitAbEffects(user: Pokemon, target: Pokemon, hitResult: HitResult): void { + applyPostDefendAbAttrs(PostDefendAbAttr, target, user, this.move, hitResult); + target.lapseTags(BattlerTagLapseType.AFTER_HIT); } /** @@ -682,80 +446,162 @@ export class MoveEffectPhase extends PokemonPhase { * @returns a function intended to be passed into a `then()` call. */ protected applyHeldItemFlinchCheck(user: Pokemon, target: Pokemon, dealsDamage: boolean): void { - if (this.move.getMove().hasAttr(FlinchAttr)) { + if (this.move.hasAttr(FlinchAttr)) { return; } - if ( - dealsDamage && - !target.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && - !this.move.getMove().hitsSubstitute(user, target) - ) { + if (dealsDamage && !target.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && !this.move.hitsSubstitute(user, target)) { const flinched = new BooleanHolder(false); globalScene.applyModifiers(FlinchChanceModifier, user.isPlayer(), user, flinched); if (flinched.value) { - target.addTag(BattlerTagType.FLINCHED, undefined, this.move.moveId, user.id); + target.addTag(BattlerTagType.FLINCHED, undefined, this.move.id, user.id); } } } - /** - * Resolves whether this phase's invoked move hits the given target - * @param target - The {@linkcode Pokemon} targeted by the invoked move - * @returns `true` if the move hits the target + /** Return whether the target is protected by protect or a relevant conditional protection + * @param user - The {@linkcode Pokemon} using this phase's invoked move + * @param target - {@linkcode Pokemon} the target to check for protection + * @param move - The {@linkcode Move} being used */ - public hitCheck(target: Pokemon): boolean { - // Moves targeting the user and entry hazards can't miss - if ([MoveTarget.USER, MoveTarget.ENEMY_SIDE].includes(this.move.getMove().moveTarget)) { - return true; + private protectedCheck(user: Pokemon, target: Pokemon) { + /** The {@linkcode ArenaTagSide} to which the target belongs */ + const targetSide = target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; + /** Has the invoked move been cancelled by conditional protection (e.g Quick Guard)? */ + const hasConditionalProtectApplied = new BooleanHolder(false); + /** Does the applied conditional protection bypass Protect-ignoring effects? */ + const bypassIgnoreProtect = new BooleanHolder(false); + /** If the move is not targeting a Pokemon on the user's side, try to apply conditional protection effects */ + if (!this.move.isAllyTarget()) { + globalScene.arena.applyTagsForSide( + ConditionalProtectTag, + targetSide, + false, + hasConditionalProtectApplied, + user, + target, + this.move.id, + bypassIgnoreProtect, + ); } + return ( + ![MoveTarget.ENEMY_SIDE, MoveTarget.BOTH_SIDES].includes(this.move.moveTarget) && + (bypassIgnoreProtect.value || !this.move.doesFlagEffectApply({ flag: MoveFlags.IGNORE_PROTECT, user, target })) && + (hasConditionalProtectApplied.value || + (!target.findTags(t => t instanceof DamageProtectedTag).length && + target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType))) || + (this.move.category !== MoveCategory.STATUS && + target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType)))) + ); + } + + /** + * Conduct the hit check and type effectiveness for this move against the target + * + * Checks occur in the following order: + * 1. if the move is self-target + * 2. if the target is on the field + * 3. if the target is hidden by the effects of its commander ability + * 4. if the target is in an applicable semi-invulnerable state + * 5. if the target has an applicable protection effect + * 6. if the move is reflected by magic coat or magic bounce + * 7. type effectiveness calculation, including immunities from abilities and typing + * 9. if accuracy is checked, whether the roll passes the accuracy check + * @param target - The {@linkcode Pokemon} targeted by the invoked move + * @returns a {@linkcode HitCheckEntry} containing the attack's {@linkcode HitCheckResult} + * and {@linkcode TypeDamageMultiplier | effectiveness} against the target. + */ + public hitCheck(target: Pokemon): HitCheckEntry { const user = this.getUserPokemon(); + const move = this.move; if (!user) { - return false; + return [HitCheckResult.ERROR, 0]; } - // Hit check only calculated on first hit for multi-hit moves unless flag is set to check all hits. - // However, if an ability with the MaxMultiHitAbAttr, namely Skill Link, is present, act as a normal - // multi-hit move and proceed with all hits + // Moves targeting the user bypass all checks + if (move.moveTarget === MoveTarget.USER) { + return [HitCheckResult.HIT, 1]; + } + + const fieldTargeted = isFieldTargeted(move); + + if (!target.isActive(true) && !fieldTargeted) { + return [HitCheckResult.TARGET_NOT_ON_FIELD, 0]; + } + + // Commander causes moves used against the target to miss + if ( + !fieldTargeted && + globalScene.currentBattle.double && + target.getAlly()?.getTag(BattlerTagType.COMMANDED)?.getSourcePokemon() === target + ) { + return [HitCheckResult.MISS, 0]; + } + + /** Whether both accuracy and invulnerability checks can be skipped */ + const bypassAccAndInvuln = fieldTargeted || this.checkBypassAccAndInvuln(target); + const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); + + if (semiInvulnerableTag && !bypassAccAndInvuln && !this.checkBypassSemiInvuln(semiInvulnerableTag)) { + return [HitCheckResult.MISS, 0]; + } + + if (!fieldTargeted && this.protectedCheck(user, target)) { + return [HitCheckResult.PROTECTED, 0]; + } + + if (!this.reflected && move.doesFlagEffectApply({ flag: MoveFlags.REFLECTABLE, user, target })) { + return [HitCheckResult.REFLECTED, 0]; + } + + // After the magic bounce check, field targeted moves are always successful + if (fieldTargeted) { + return [HitCheckResult.HIT, 1]; + } + + const cancelNoEffectMessage = new BooleanHolder(false); + + /** + * The effectiveness of the move against the given target. + * Accounts for type and move immunities from defensive typing, abilities, and other effects. + */ + const effectiveness = target.getMoveEffectiveness(user, move, false, false, cancelNoEffectMessage); + if (effectiveness === 0) { + return [ + cancelNoEffectMessage.value ? HitCheckResult.NO_EFFECT_NO_MESSAGE : HitCheckResult.NO_EFFECT, + effectiveness, + ]; + } + + const moveAccuracy = move.calculateBattleAccuracy(user, target); + + // Strikes after the first in a multi-strike move are guaranteed to hit, + // unless the move is flagged to check all hits and the user does not have Skill Link. if (user.turnData.hitsLeft < user.turnData.hitCount) { - if (!this.move.getMove().hasFlag(MoveFlags.CHECK_ALL_HITS) || user.hasAbilityWithAttr(MaxMultiHitAbAttr)) { - return true; + if (!move.hasFlag(MoveFlags.CHECK_ALL_HITS) || user.hasAbilityWithAttr(MaxMultiHitAbAttr)) { + return [HitCheckResult.HIT, effectiveness]; } } - if (this.checkBypassAccAndInvuln(target)) { - return true; + const bypassAccuracy = + bypassAccAndInvuln || + target.getTag(BattlerTagType.ALWAYS_GET_HIT) || + (target.getTag(BattlerTagType.TELEKINESIS) && !this.move.hasAttr(OneHitKOAttr)); + + if (moveAccuracy === -1 || bypassAccuracy) { + return [HitCheckResult.HIT, effectiveness]; } - if (target.getTag(BattlerTagType.ALWAYS_GET_HIT)) { - return true; - } - - const semiInvulnerableTag = target.getTag(SemiInvulnerableTag); - if ( - target.getTag(BattlerTagType.TELEKINESIS) && - !semiInvulnerableTag && - !this.move.getMove().hasAttr(OneHitKOAttr) - ) { - return true; - } - - if (semiInvulnerableTag && !this.checkBypassSemiInvuln(semiInvulnerableTag)) { - return false; - } - - const moveAccuracy = this.move.getMove().calculateBattleAccuracy(user, target); - - if (moveAccuracy === -1) { - return true; - } - - const accuracyMultiplier = user.getAccuracyMultiplier(target, this.move.getMove()); + const accuracyMultiplier = user.getAccuracyMultiplier(target, this.move); const rand = user.randSeedInt(100); - return rand < moveAccuracy * accuracyMultiplier; + if (rand < moveAccuracy * accuracyMultiplier) { + return [HitCheckResult.HIT, effectiveness]; + } + + return [HitCheckResult.MISS, 0]; } /** @@ -767,6 +613,7 @@ export class MoveEffectPhase extends PokemonPhase { * - An ability like {@linkcode Abilities.NO_GUARD | No Guard} * - A poison type using {@linkcode Moves.TOXIC | Toxic} * - A move like {@linkcode Moves.LOCK_ON | Lock-On} or {@linkcode Moves.MIND_READER | Mind Reader}. + * - A field-targeted move like spikes * * Does *not* check against effects {@linkcode Moves.GLAIVE_RUSH | Glaive Rush} status (which * should not bypass semi-invulnerability), or interactions like Earthquake hitting against Dig, @@ -782,7 +629,7 @@ export class MoveEffectPhase extends PokemonPhase { if (user.hasAbilityWithAttr(AlwaysHitAbAttr) || target.hasAbilityWithAttr(AlwaysHitAbAttr)) { return true; } - if (this.move.getMove().hasAttr(ToxicAccuracyAttr) && user.isOfType(PokemonType.POISON)) { + if (this.move.hasAttr(ToxicAccuracyAttr) && user.isOfType(PokemonType.POISON)) { return true; } // TODO: Fix lock on / mind reader check. @@ -792,18 +639,21 @@ export class MoveEffectPhase extends PokemonPhase { ) { return true; } + if (isFieldTargeted(this.move)) { + return true; + } } /** * Check whether the move is able to ignore the given `semiInvulnerableTag` - * @param semiInvulnerableTag - The semiInvulnerbale tag to check against + * @param semiInvulnerableTag - The semiInvulnerable tag to check against * @returns `true` if the move can ignore the semi-invulnerable state */ public checkBypassSemiInvuln(semiInvulnerableTag: SemiInvulnerableTag | nil): boolean { if (!semiInvulnerableTag) { return false; } - const move = this.move.getMove(); + const move = this.move; return move.getAttrs(HitsTagAttr).some(hta => hta.tagType === semiInvulnerableTag.tagType); } @@ -862,6 +712,282 @@ export class MoveEffectPhase extends PokemonPhase { /** @returns A new `MoveEffectPhase` with the same properties as this phase */ protected getNewHitPhase(): MoveEffectPhase { - return new MoveEffectPhase(this.battlerIndex, this.targets, this.move); + return new MoveEffectPhase(this.battlerIndex, this.targets, this.move, this.reflected, this.virtual); + } + + /** Removes all substitutes that were broken by this phase's invoked move */ + protected updateSubstitutes(): void { + const targets = this.getTargets(); + for (const target of targets) { + const substitute = target.getTag(SubstituteTag); + if (substitute && substitute.hp <= 0) { + target.lapseTag(BattlerTagType.SUBSTITUTE); + } + } + } + + /** + * Triggers move effects of the given move effect trigger. + * @param triggerType The {@linkcode MoveEffectTrigger} being applied + * @param user The {@linkcode Pokemon} using the move + * @param target The {@linkcode Pokemon} targeted by the move + * @param firstTarget Whether the target is the first to be hit by the current strike + * @param selfTarget If defined, limits the effects triggered to either self-targeted + * effects (if set to `true`) or targeted effects (if set to `false`). + * @returns a `Promise` applying the relevant move effects. + */ + protected triggerMoveEffects( + triggerType: MoveEffectTrigger, + user: Pokemon, + target: Pokemon | null, + firstTarget?: boolean | null, + selfTarget?: boolean, + ): void { + return applyFilteredMoveAttrs( + (attr: MoveAttr) => + attr instanceof MoveEffectAttr && + attr.trigger === triggerType && + (isNullOrUndefined(selfTarget) || attr.selfTarget === selfTarget) && + (!attr.firstHitOnly || this.firstHit) && + (!attr.lastHitOnly || this.lastHit) && + (!attr.firstTargetOnly || (firstTarget ?? true)), + user, + target, + this.move, + ); + } + + /** + * Applies all move effects that trigger in the event of a successful hit: + * + * - {@linkcode MoveEffectTrigger.PRE_APPLY | PRE_APPLY} effects` + * - Applying damage to the target + * - {@linkcode MoveEffectTrigger.POST_APPLY | POST_APPLY} effects + * - Invoking {@linkcode applyOnTargetEffects} if the move does not hit a substitute + * - Triggering form changes and emergency exit / wimp out if this is the last hit + * + * @param target the {@linkcode Pokemon} hit by this phase's move. + * @param effectiveness the effectiveness of the move (as previously evaluated in {@linkcode hitCheck}) + */ + protected applyMoveEffects(target: Pokemon, effectiveness: TypeDamageMultiplier): void { + const user = this.getUserPokemon(); + + /** The first target hit by the move */ + const firstTarget = target === this.getTargets().find((_, i) => this.hitChecks[i][1] > 0); + + if (isNullOrUndefined(user)) { + return; + } + + this.triggerMoveEffects(MoveEffectTrigger.PRE_APPLY, user, target); + + const hitResult = this.applyMove(user, target, effectiveness); + + this.triggerMoveEffects(MoveEffectTrigger.POST_APPLY, user, target, firstTarget, true); + if (!this.move.hitsSubstitute(user, target)) { + this.applyOnTargetEffects(user, target, hitResult, firstTarget); + } + if (this.lastHit) { + globalScene.triggerPokemonFormChange(user, SpeciesFormChangePostMoveTrigger); + + // Multi-hit check for Wimp Out/Emergency Exit + if (user.turnData.hitCount > 1) { + applyPostDamageAbAttrs(PostDamageAbAttr, target, 0, target.hasPassive(), false, [], user); + } + } + } + + /** + * Sub-method of for {@linkcode applyMoveEffects} that applies damage to the target. + * + * @param user - The {@linkcode Pokemon} using this phase's invoked move + * @param target - The {@linkcode Pokemon} targeted by the move + * @param effectiveness - The effectiveness of the move against the target + */ + protected applyMoveDamage(user: Pokemon, target: Pokemon, effectiveness: TypeDamageMultiplier): HitResult { + const isCritical = target.getCriticalHitResult(user, this.move, false); + + /* + * Apply stat changes from {@linkcode move} and gives it to {@linkcode source} + * before damage calculation + */ + applyMoveAttrs(StatChangeBeforeDmgCalcAttr, user, target, this.move); + + const { result: result, damage: dmg } = target.getAttackDamage({ + source: user, + move: this.move, + ignoreAbility: false, + ignoreSourceAbility: false, + ignoreAllyAbility: false, + ignoreSourceAllyAbility: false, + simulated: false, + effectiveness, + isCritical, + }); + + const typeBoost = user.findTag( + t => t instanceof TypeBoostTag && t.boostedType === user.getMoveType(this.move), + ) as TypeBoostTag; + if (typeBoost?.oneUse) { + user.removeTag(typeBoost.tagType); + } + + const isOneHitKo = result === HitResult.ONE_HIT_KO; + + if (!dmg) { + return result; + } + + target.lapseTags(BattlerTagLapseType.HIT); + + const substitute = target.getTag(SubstituteTag); + const isBlockedBySubstitute = substitute && this.move.hitsSubstitute(user, target); + if (isBlockedBySubstitute) { + substitute.hp -= dmg; + } else if (!target.isPlayer() && dmg >= target.hp) { + globalScene.applyModifiers(EnemyEndureChanceModifier, false, target); + } + + const damage = isBlockedBySubstitute + ? 0 + : target.damageAndUpdate(dmg, { + result: result as DamageResult, + ignoreFaintPhase: true, + ignoreSegments: isOneHitKo, + isCritical, + source: user, + }); + + if (isCritical) { + globalScene.queueMessage(i18next.t("battle:criticalHit")); + } + + if (damage <= 0) { + return result; + } + + if (user.isPlayer()) { + globalScene.validateAchvs(DamageAchv, new NumberHolder(damage)); + + if (damage > globalScene.gameData.gameStats.highestDamage) { + globalScene.gameData.gameStats.highestDamage = damage; + } + } + + user.turnData.totalDamageDealt += damage; + user.turnData.singleHitDamageDealt = damage; + target.battleData.hitCount++; + target.turnData.damageTaken += damage; + + target.turnData.attacksReceived.unshift({ + move: this.move.id, + result: result as DamageResult, + damage: damage, + critical: isCritical, + sourceId: user.id, + sourceBattlerIndex: user.getBattlerIndex(), + }); + + if (user.isPlayer() && !target.isPlayer()) { + globalScene.applyModifiers(DamageMoneyRewardModifier, true, user, new NumberHolder(damage)); + } + + return result; + } + + /** + * Sub-method of {@linkcode applyMove} that handles the event of a target fainting. + * @param user - The {@linkcode Pokemon} using this phase's invoked move + * @param target - The {@linkcode Pokemon} that fainted + */ + protected onFaintTarget(user: Pokemon, target: Pokemon): void { + // set splice index here, so future scene queues happen before FaintedPhase + globalScene.setPhaseQueueSplice(); + + globalScene.unshiftPhase(new FaintPhase(target.getBattlerIndex(), false, user)); + + target.destroySubstitute(); + target.lapseTag(BattlerTagType.COMMANDED); + } + + /** + * Sub-method of {@linkcode applyMove} that queues the hit-result message + * on the final strike of the move against a target + * @param result - The {@linkcode HitResult} of the move + */ + protected queueHitResultMessage(result: HitResult) { + let msg: string | undefined; + switch (result) { + case HitResult.SUPER_EFFECTIVE: + msg = i18next.t("battle:hitResultSuperEffective"); + break; + case HitResult.NOT_VERY_EFFECTIVE: + msg = i18next.t("battle:hitResultNotVeryEffective"); + break; + case HitResult.ONE_HIT_KO: + msg = i18next.t("battle:hitResultOneHitKO"); + break; + } + if (msg) { + globalScene.queueMessage(msg); + } + } + + /** Apply the result of this phase's move to the given target + * @param user - The {@linkcode Pokemon} using this phase's invoked move + * @param target - The {@linkcode Pokemon} struck by the move + * @param effectiveness - The effectiveness of the move against the target + */ + protected applyMove(user: Pokemon, target: Pokemon, effectiveness: TypeDamageMultiplier): HitResult { + const moveCategory = user.getMoveCategory(target, this.move); + + if (moveCategory === MoveCategory.STATUS) { + return HitResult.STATUS; + } + + const result = this.applyMoveDamage(user, target, effectiveness); + + if (user.turnData.hitsLeft === 1 && target.isFainted()) { + this.queueHitResultMessage(result); + } + + if (target.isFainted()) { + this.onFaintTarget(user, target); + } + + return result; + } + + /** + * Applies all effects aimed at the move's target. + * To be used when the target is successfully and directly hit by the move. + * @param user - The {@linkcode Pokemon} using the move + * @param target - The {@linkcode Pokemon} targeted by the move + * @param hitResult - The {@linkcode HitResult} obtained from applying the move + * @param firstTarget - `true` if the target is the first Pokemon hit by the attack + */ + protected applyOnTargetEffects(user: Pokemon, target: Pokemon, hitResult: HitResult, firstTarget: boolean): void { + /** Does {@linkcode hitResult} indicate that damage was dealt to the target? */ + const dealsDamage = [ + HitResult.EFFECTIVE, + HitResult.SUPER_EFFECTIVE, + HitResult.NOT_VERY_EFFECTIVE, + HitResult.ONE_HIT_KO, + ].includes(hitResult); + + this.triggerMoveEffects(MoveEffectTrigger.POST_APPLY, user, target, firstTarget, false); + this.applyHeldItemFlinchCheck(user, target, dealsDamage); + this.applyOnGetHitAbEffects(user, target, hitResult); + applyPostAttackAbAttrs(PostAttackAbAttr, user, target, this.move, hitResult); + + // We assume only enemy Pokemon are able to have the EnemyAttackStatusEffectChanceModifier from tokens + if (!user.isPlayer() && this.move instanceof AttackMove) { + globalScene.applyShuffledModifiers(EnemyAttackStatusEffectChanceModifier, false, target); + } + + // Apply Grip Claw's chance to steal an item from the target + if (this.move instanceof AttackMove) { + globalScene.applyModifiers(ContactHeldItemTransferChanceModifier, this.player, user, target); + } } } diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 7d2848a5d70..b24d7b61ebb 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -404,9 +404,10 @@ export class MovePhase extends BattlePhase { * if the move fails. */ if (success) { - applyPreAttackAbAttrs(PokemonTypeChangeAbAttr, this.pokemon, null, this.move.getMove()); + const move = this.move.getMove(); + applyPreAttackAbAttrs(PokemonTypeChangeAbAttr, this.pokemon, null, move); globalScene.unshiftPhase( - new MoveEffectPhase(this.pokemon.getBattlerIndex(), this.targets, this.move, this.reflected), + new MoveEffectPhase(this.pokemon.getBattlerIndex(), this.targets, move, this.reflected, this.move.virtual), ); } else { if ([Moves.ROAR, Moves.WHIRLWIND, Moves.TRICK_OR_TREAT, Moves.FORESTS_CURSE].includes(this.move.moveId)) { diff --git a/test/abilities/friend_guard.test.ts b/test/abilities/friend_guard.test.ts index 302343c167b..43a378c47a2 100644 --- a/test/abilities/friend_guard.test.ts +++ b/test/abilities/friend_guard.test.ts @@ -50,7 +50,11 @@ describe("Moves - Friend Guard", () => { // Get the last return value from `getAttackDamage` const turn1Damage = spy.mock.results[spy.mock.results.length - 1].value.damage; // Making sure the test is controlled; turn 1 damage is equal to base damage (after rounding) - expect(turn1Damage).toBe(Math.floor(player1.getBaseDamage(enemy1, allMoves[Moves.TACKLE], MoveCategory.PHYSICAL))); + expect(turn1Damage).toBe( + Math.floor( + player1.getBaseDamage({ source: enemy1, move: allMoves[Moves.TACKLE], moveCategory: MoveCategory.PHYSICAL }), + ), + ); vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[Abilities.FRIEND_GUARD]); @@ -64,7 +68,10 @@ describe("Moves - Friend Guard", () => { const turn2Damage = spy.mock.results[spy.mock.results.length - 1].value.damage; // With the ally's Friend Guard, damage should have been reduced from base damage by 25% expect(turn2Damage).toBe( - Math.floor(player1.getBaseDamage(enemy1, allMoves[Moves.TACKLE], MoveCategory.PHYSICAL) * 0.75), + Math.floor( + player1.getBaseDamage({ source: enemy1, move: allMoves[Moves.TACKLE], moveCategory: MoveCategory.PHYSICAL }) * + 0.75, + ), ); }); diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts index 438ec498aa1..5db8b642197 100644 --- a/test/abilities/galvanize.test.ts +++ b/test/abilities/galvanize.test.ts @@ -4,7 +4,6 @@ import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -38,13 +37,13 @@ describe("Abilities - Galvanize", () => { }); it("should change Normal-type attacks to Electric type and boost their power", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveType"); const enemyPokemon = game.scene.getEnemyPokemon()!; - vi.spyOn(enemyPokemon, "apply"); + const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); const move = allMoves[Moves.TACKLE]; vi.spyOn(move, "calculateBattlePower"); @@ -54,21 +53,23 @@ describe("Abilities - Galvanize", () => { await game.phaseInterceptor.to("BerryPhase", false); expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(enemyPokemon.apply).toHaveReturnedWith(HitResult.EFFECTIVE); + expect(spy).toHaveReturnedWith(1); expect(move.calculateBattlePower).toHaveReturnedWith(48); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); + + spy.mockRestore(); }); it("should cause Normal-type attacks to activate Volt Absorb", async () => { game.override.enemyAbility(Abilities.VOLT_ABSORB); - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveType"); const enemyPokemon = game.scene.getEnemyPokemon()!; - vi.spyOn(enemyPokemon, "apply"); + const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); enemyPokemon.hp = Math.floor(enemyPokemon.getMaxHp() * 0.8); @@ -77,37 +78,37 @@ describe("Abilities - Galvanize", () => { await game.phaseInterceptor.to("BerryPhase", false); expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(enemyPokemon.apply).toHaveReturnedWith(HitResult.NO_EFFECT); + expect(spy).toHaveReturnedWith(0); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); }); it("should not change the type of variable-type moves", async () => { game.override.enemySpecies(Species.MIGHTYENA); - await game.startBattle([Species.ESPEON]); + await game.classicMode.startBattle([Species.ESPEON]); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveType"); const enemyPokemon = game.scene.getEnemyPokemon()!; - vi.spyOn(enemyPokemon, "apply"); + const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); game.move.select(Moves.REVELATION_DANCE); await game.phaseInterceptor.to("BerryPhase", false); expect(playerPokemon.getMoveType).not.toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(enemyPokemon.apply).toHaveReturnedWith(HitResult.NO_EFFECT); + expect(spy).toHaveReturnedWith(0); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); }); it("should affect all hits of a Normal-type multi-hit move", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveType"); const enemyPokemon = game.scene.getEnemyPokemon()!; - vi.spyOn(enemyPokemon, "apply"); + const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); game.move.select(Moves.FURY_SWIPES); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); @@ -125,6 +126,6 @@ describe("Abilities - Galvanize", () => { expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp); } - expect(enemyPokemon.apply).not.toHaveReturnedWith(HitResult.NO_EFFECT); + expect(spy).not.toHaveReturnedWith(0); }); }); diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index 10353f35391..48671e54020 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -61,11 +61,11 @@ describe("Abilities - Infiltrator", () => { const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - const preScreenDmg = enemy.getAttackDamage(player, allMoves[move]).damage; + const preScreenDmg = enemy.getAttackDamage({ source: player, move: allMoves[move] }).damage; game.scene.arena.addTag(tagType, 1, Moves.NONE, enemy.id, ArenaTagSide.ENEMY, true); - const postScreenDmg = enemy.getAttackDamage(player, allMoves[move]).damage; + const postScreenDmg = enemy.getAttackDamage({ source: player, move: allMoves[move] }).damage; expect(postScreenDmg).toBe(preScreenDmg); expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); diff --git a/test/abilities/no_guard.test.ts b/test/abilities/no_guard.test.ts index b34007bc700..a09e16388ee 100644 --- a/test/abilities/no_guard.test.ts +++ b/test/abilities/no_guard.test.ts @@ -4,6 +4,7 @@ import { MoveEndPhase } from "#app/phases/move-end-phase"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; +import { HitCheckResult } from "#enums/hit-check-result"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -28,6 +29,7 @@ describe("Abilities - No Guard", () => { .moveset(Moves.ZAP_CANNON) .ability(Abilities.NO_GUARD) .enemyLevel(200) + .enemySpecies(Species.SNORLAX) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); }); @@ -48,7 +50,7 @@ describe("Abilities - No Guard", () => { await game.phaseInterceptor.to(MoveEndPhase); - expect(moveEffectPhase.hitCheck).toHaveReturnedWith(true); + expect(moveEffectPhase.hitCheck).toHaveReturnedWith([HitCheckResult.HIT, 1]); }); it("should guarantee double battle with any one LURE", async () => { diff --git a/test/abilities/shield_dust.test.ts b/test/abilities/shield_dust.test.ts index 0b96640a29f..4ab58e8c2a6 100644 --- a/test/abilities/shield_dust.test.ts +++ b/test/abilities/shield_dust.test.ts @@ -52,7 +52,7 @@ describe("Abilities - Shield Dust", () => { // Shield Dust negates secondary effect const phase = game.scene.getCurrentPhase() as MoveEffectPhase; - const move = phase.move.getMove(); + const move = phase.move; expect(move.id).toBe(Moves.AIR_SLASH); const chance = new NumberHolder(move.chance); diff --git a/test/abilities/super_luck.test.ts b/test/abilities/super_luck.test.ts index 9e0b6485734..fbcbd02bdd2 100644 --- a/test/abilities/super_luck.test.ts +++ b/test/abilities/super_luck.test.ts @@ -25,7 +25,6 @@ describe("Abilities - Super Luck", () => { .moveset([Moves.TACKLE]) .ability(Abilities.SUPER_LUCK) .battleStyle("single") - .disableCrits() .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.SPLASH); diff --git a/test/abilities/tera_shell.test.ts b/test/abilities/tera_shell.test.ts index c387da30166..fdbcb14947d 100644 --- a/test/abilities/tera_shell.test.ts +++ b/test/abilities/tera_shell.test.ts @@ -2,7 +2,6 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -87,13 +86,15 @@ describe("Abilities - Tera Shell", () => { await game.classicMode.startBattle([Species.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "apply"); + const spy = vi.spyOn(playerPokemon, "getMoveEffectiveness"); game.move.select(Moves.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); - expect(playerPokemon.apply).toHaveLastReturnedWith(HitResult.EFFECTIVE); + expect(spy).toHaveLastReturnedWith(1); expect(playerPokemon.hp).toBe(playerPokemon.getMaxHp() - 40); + + spy.mockRestore(); }); it("should change the effectiveness of all strikes of a multi-strike move", async () => { @@ -102,7 +103,7 @@ describe("Abilities - Tera Shell", () => { await game.classicMode.startBattle([Species.SNORLAX]); const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "apply"); + const spy = vi.spyOn(playerPokemon, "getMoveEffectiveness"); game.move.select(Moves.SPLASH); @@ -110,8 +111,9 @@ describe("Abilities - Tera Shell", () => { await game.move.forceHit(); for (let i = 0; i < 2; i++) { await game.phaseInterceptor.to("MoveEffectPhase"); - expect(playerPokemon.apply).toHaveLastReturnedWith(HitResult.NOT_VERY_EFFECTIVE); + expect(spy).toHaveLastReturnedWith(0.5); } - expect(playerPokemon.apply).toHaveReturnedTimes(2); + expect(spy).toHaveReturnedTimes(2); + spy.mockRestore(); }); }); diff --git a/test/battle/damage_calculation.test.ts b/test/battle/damage_calculation.test.ts index e8b3b65bd29..26772cbc4f0 100644 --- a/test/battle/damage_calculation.test.ts +++ b/test/battle/damage_calculation.test.ts @@ -47,7 +47,9 @@ describe("Battle Mechanics - Damage Calculation", () => { // expected base damage = [(2*level/5 + 2) * power * playerATK / enemyDEF / 50] + 2 // = 31.8666... - expect(enemyPokemon.getAttackDamage(playerPokemon, allMoves[Moves.TACKLE]).damage).toBeCloseTo(31); + expect(enemyPokemon.getAttackDamage({ source: playerPokemon, move: allMoves[Moves.TACKLE] }).damage).toBeCloseTo( + 31, + ); }); it("Attacks deal 1 damage at minimum", async () => { @@ -91,7 +93,7 @@ describe("Battle Mechanics - Damage Calculation", () => { const magikarp = game.scene.getPlayerPokemon()!; const dragonite = game.scene.getEnemyPokemon()!; - expect(dragonite.getAttackDamage(magikarp, allMoves[Moves.DRAGON_RAGE]).damage).toBe(40); + expect(dragonite.getAttackDamage({ source: magikarp, move: allMoves[Moves.DRAGON_RAGE] }).damage).toBe(40); }); it("One-hit KO moves ignore damage multipliers", async () => { @@ -102,7 +104,7 @@ describe("Battle Mechanics - Damage Calculation", () => { const magikarp = game.scene.getPlayerPokemon()!; const aggron = game.scene.getEnemyPokemon()!; - expect(aggron.getAttackDamage(magikarp, allMoves[Moves.FISSURE]).damage).toBe(aggron.hp); + expect(aggron.getAttackDamage({ source: magikarp, move: allMoves[Moves.FISSURE] }).damage).toBe(aggron.hp); }); it("When the user fails to use Jump Kick with Wonder Guard ability, the damage should be 1.", async () => { diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index fca3dc5ef7e..d2df5511c0a 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -1,5 +1,5 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import type { PokemonTurnData, TurnMove, PokemonMove } from "#app/field/pokemon"; +import type { PokemonTurnData, TurnMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import type BattleScene from "#app/battle-scene"; @@ -186,12 +186,8 @@ describe("BattlerTag - SubstituteTag", () => { vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockReturnValue(true); vi.spyOn(mockPokemon.scene as BattleScene, "queueMessage").mockReturnValue(); - const pokemonMove = { - getMove: vi.fn().mockReturnValue(allMoves[Moves.TACKLE]) as PokemonMove["getMove"], - } as PokemonMove; - const moveEffectPhase = { - move: pokemonMove, + move: allMoves[Moves.TACKLE], getUserPokemon: vi.fn().mockReturnValue(undefined) as MoveEffectPhase["getUserPokemon"], } as MoveEffectPhase; diff --git a/test/items/dire_hit.test.ts b/test/items/dire_hit.test.ts index b409b2ac7cb..6e20bc723e5 100644 --- a/test/items/dire_hit.test.ts +++ b/test/items/dire_hit.test.ts @@ -36,8 +36,7 @@ describe("Items - Dire Hit", () => { .enemyMoveset(Moves.SPLASH) .moveset([Moves.POUND]) .startingHeldItems([{ name: "DIRE_HIT" }]) - .battleStyle("single") - .disableCrits(); + .battleStyle("single"); }, 20000); it("should raise CRIT stage by 1", async () => { diff --git a/test/items/leek.test.ts b/test/items/leek.test.ts index 7589b89bc15..9bde2c86339 100644 --- a/test/items/leek.test.ts +++ b/test/items/leek.test.ts @@ -28,7 +28,6 @@ describe("Items - Leek", () => { .enemyMoveset([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]) .startingHeldItems([{ name: "LEEK" }]) .moveset([Moves.TACKLE]) - .disableCrits() .battleStyle("single"); }); diff --git a/test/items/scope_lens.test.ts b/test/items/scope_lens.test.ts index 4d2fd63f87b..f67966ea3c9 100644 --- a/test/items/scope_lens.test.ts +++ b/test/items/scope_lens.test.ts @@ -27,8 +27,7 @@ describe("Items - Scope Lens", () => { .enemyMoveset(Moves.SPLASH) .moveset([Moves.POUND]) .startingHeldItems([{ name: "SCOPE_LENS" }]) - .battleStyle("single") - .disableCrits(); + .battleStyle("single"); }, 20000); it("should raise CRIT stage by 1", async () => { diff --git a/test/moves/dig.test.ts b/test/moves/dig.test.ts index a53456ec083..80d51a5c2d5 100644 --- a/test/moves/dig.test.ts +++ b/test/moves/dig.test.ts @@ -97,14 +97,20 @@ describe("Moves - Dig", () => { const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - const preDigEarthquakeDmg = playerPokemon.getAttackDamage(enemyPokemon, allMoves[Moves.EARTHQUAKE]).damage; + const preDigEarthquakeDmg = playerPokemon.getAttackDamage({ + source: enemyPokemon, + move: allMoves[Moves.EARTHQUAKE], + }).damage; game.move.select(Moves.DIG); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); - const postDigEarthquakeDmg = playerPokemon.getAttackDamage(enemyPokemon, allMoves[Moves.EARTHQUAKE]).damage; + const postDigEarthquakeDmg = playerPokemon.getAttackDamage({ + source: enemyPokemon, + move: allMoves[Moves.EARTHQUAKE], + }).damage; // these hopefully get avoid rounding errors :shrug: expect(postDigEarthquakeDmg).toBeGreaterThanOrEqual(2 * preDigEarthquakeDmg); expect(postDigEarthquakeDmg).toBeLessThan(2 * (preDigEarthquakeDmg + 1)); diff --git a/test/moves/dynamax_cannon.test.ts b/test/moves/dynamax_cannon.test.ts index 94f07ae500f..84def8a821f 100644 --- a/test/moves/dynamax_cannon.test.ts +++ b/test/moves/dynamax_cannon.test.ts @@ -50,7 +50,7 @@ describe("Moves - Dynamax Cannon", () => { game.move.select(dynamaxCannon.id); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(dynamaxCannon.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(dynamaxCannon.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(dynamaxCannon.calculateBattlePower).toHaveLastReturnedWith(100); }, 20000); @@ -62,7 +62,7 @@ describe("Moves - Dynamax Cannon", () => { game.move.select(dynamaxCannon.id); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(dynamaxCannon.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(dynamaxCannon.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(dynamaxCannon.calculateBattlePower).toHaveLastReturnedWith(100); }, 20000); @@ -75,7 +75,7 @@ describe("Moves - Dynamax Cannon", () => { await game.phaseInterceptor.to(MoveEffectPhase, false); const phase = game.scene.getCurrentPhase() as MoveEffectPhase; - expect(phase.move.moveId).toBe(dynamaxCannon.id); + expect(phase.move.id).toBe(dynamaxCannon.id); // Force level cap to be 100 vi.spyOn(game.scene, "getMaxExpLevel").mockReturnValue(100); await game.phaseInterceptor.to(DamageAnimPhase, false); @@ -90,7 +90,7 @@ describe("Moves - Dynamax Cannon", () => { await game.phaseInterceptor.to(MoveEffectPhase, false); const phase = game.scene.getCurrentPhase() as MoveEffectPhase; - expect(phase.move.moveId).toBe(dynamaxCannon.id); + expect(phase.move.id).toBe(dynamaxCannon.id); // Force level cap to be 100 vi.spyOn(game.scene, "getMaxExpLevel").mockReturnValue(100); await game.phaseInterceptor.to(DamageAnimPhase, false); @@ -105,7 +105,7 @@ describe("Moves - Dynamax Cannon", () => { await game.phaseInterceptor.to(MoveEffectPhase, false); const phase = game.scene.getCurrentPhase() as MoveEffectPhase; - expect(phase.move.moveId).toBe(dynamaxCannon.id); + expect(phase.move.id).toBe(dynamaxCannon.id); // Force level cap to be 100 vi.spyOn(game.scene, "getMaxExpLevel").mockReturnValue(100); await game.phaseInterceptor.to(DamageAnimPhase, false); @@ -120,7 +120,7 @@ describe("Moves - Dynamax Cannon", () => { await game.phaseInterceptor.to(MoveEffectPhase, false); const phase = game.scene.getCurrentPhase() as MoveEffectPhase; - expect(phase.move.moveId).toBe(dynamaxCannon.id); + expect(phase.move.id).toBe(dynamaxCannon.id); // Force level cap to be 100 vi.spyOn(game.scene, "getMaxExpLevel").mockReturnValue(100); await game.phaseInterceptor.to(DamageAnimPhase, false); @@ -135,7 +135,7 @@ describe("Moves - Dynamax Cannon", () => { await game.phaseInterceptor.to(MoveEffectPhase, false); const phase = game.scene.getCurrentPhase() as MoveEffectPhase; - expect(phase.move.moveId).toBe(dynamaxCannon.id); + expect(phase.move.id).toBe(dynamaxCannon.id); // Force level cap to be 100 vi.spyOn(game.scene, "getMaxExpLevel").mockReturnValue(100); await game.phaseInterceptor.to(DamageAnimPhase, false); @@ -150,7 +150,7 @@ describe("Moves - Dynamax Cannon", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(dynamaxCannon.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(dynamaxCannon.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(dynamaxCannon.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); diff --git a/test/moves/fusion_flare_bolt.test.ts b/test/moves/fusion_flare_bolt.test.ts index 697ac57e739..ce6bb62d1d0 100644 --- a/test/moves/fusion_flare_bolt.test.ts +++ b/test/moves/fusion_flare_bolt.test.ts @@ -57,12 +57,12 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(100); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); @@ -77,12 +77,12 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(100); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); @@ -97,7 +97,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(100); @@ -107,7 +107,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.phaseInterceptor.runFrom(MovePhase).to(MoveEndPhase); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); @@ -123,7 +123,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(100); @@ -132,7 +132,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.phaseInterceptor.runFrom(MovePhase).to(MoveEndPhase); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(100); }, 20000); @@ -147,12 +147,12 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(100); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); @@ -191,22 +191,22 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(100); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(200); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(200); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); @@ -245,22 +245,22 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(100); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(200); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionBolt.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionBolt.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionBolt.calculateBattlePower).toHaveLastReturnedWith(200); await game.phaseInterceptor.to(MoveEffectPhase, false); - expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.moveId).toBe(fusionFlare.id); + expect((game.scene.getCurrentPhase() as MoveEffectPhase).move.id).toBe(fusionFlare.id); await game.phaseInterceptor.to(DamageAnimPhase, false); expect(fusionFlare.calculateBattlePower).toHaveLastReturnedWith(200); }, 20000); diff --git a/test/moves/spectral_thief.test.ts b/test/moves/spectral_thief.test.ts index 2e52b118a74..2654ab1ad8d 100644 --- a/test/moves/spectral_thief.test.ts +++ b/test/moves/spectral_thief.test.ts @@ -71,7 +71,7 @@ describe("Moves - Spectral Thief", () => { const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; const moveToCheck = allMoves[Moves.SPECTRAL_THIEF]; - const dmgBefore = enemy.getAttackDamage(player, moveToCheck, false, false, false, false).damage; + const dmgBefore = enemy.getAttackDamage({ source: player, move: moveToCheck }).damage; enemy.setStatStage(Stat.ATK, 6); @@ -80,7 +80,7 @@ describe("Moves - Spectral Thief", () => { game.move.select(Moves.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); - expect(dmgBefore).toBeLessThan(enemy.getAttackDamage(player, moveToCheck, false, false, false, false).damage); + expect(dmgBefore).toBeLessThan(enemy.getAttackDamage({ source: player, move: moveToCheck }).damage); }); it("should steal stat stages as a negative value with Contrary.", async () => { diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index 5dc3a914a2e..8817f12b8cf 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -4,7 +4,6 @@ import { allMoves, TeraMoveCategoryAttr } from "#app/data/moves/move"; import type Move from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; -import { HitResult } from "#app/field/pokemon"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager"; @@ -49,9 +48,9 @@ describe("Moves - Tera Blast", () => { it("changes type to match user's tera type", async () => { game.override.enemySpecies(Species.FURRET); - await game.startBattle(); + await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - vi.spyOn(enemyPokemon, "apply"); + const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.teraType = PokemonType.FIGHTING; @@ -61,11 +60,11 @@ describe("Moves - Tera Blast", () => { await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); - expect(enemyPokemon.apply).toHaveReturnedWith(HitResult.SUPER_EFFECTIVE); + expect(spy).toHaveReturnedWith(2); }, 20000); it("increases power if user is Stellar tera type", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.teraType = PokemonType.STELLAR; @@ -79,25 +78,25 @@ describe("Moves - Tera Blast", () => { }, 20000); it("is super effective against terastallized targets if user is Stellar tera type", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.teraType = PokemonType.STELLAR; playerPokemon.isTerastallized = true; const enemyPokemon = game.scene.getEnemyPokemon()!; - vi.spyOn(enemyPokemon, "apply"); + const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); enemyPokemon.isTerastallized = true; game.move.select(Moves.TERA_BLAST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); - expect(enemyPokemon.apply).toHaveReturnedWith(HitResult.SUPER_EFFECTIVE); + expect(spy).toHaveReturnedWith(2); }); it("uses the higher ATK for damage calculation", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.stats[Stat.ATK] = 100; @@ -112,7 +111,7 @@ describe("Moves - Tera Blast", () => { }); it("uses the higher SPATK for damage calculation", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.stats[Stat.ATK] = 1; @@ -127,7 +126,7 @@ describe("Moves - Tera Blast", () => { it("should stay as a special move if ATK turns lower than SPATK mid-turn", async () => { game.override.enemyMoveset([Moves.CHARM]); - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.stats[Stat.ATK] = 51; @@ -145,7 +144,7 @@ describe("Moves - Tera Blast", () => { game.override .startingHeldItems([{ name: "SPECIES_STAT_BOOSTER", type: "THICK_CLUB" }]) .starterSpecies(Species.CUBONE); - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -163,7 +162,7 @@ describe("Moves - Tera Blast", () => { it("does not change its move category from stat changes due to abilities", async () => { game.override.ability(Abilities.HUGE_POWER); - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.stats[Stat.ATK] = 50; @@ -178,7 +177,7 @@ describe("Moves - Tera Blast", () => { }); it("causes stat drops if user is Stellar tera type", async () => { - await game.startBattle(); + await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.teraType = PokemonType.STELLAR; diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index edade109966..0f3d75c6268 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -18,29 +18,29 @@ import { vi } from "vitest"; */ export class MoveHelper extends GameManagerHelper { /** - * Intercepts {@linkcode MoveEffectPhase} and mocks the - * {@linkcode MoveEffectPhase.hitCheck | hitCheck}'s return value to `true`. - * Used to force a move to hit. + * Intercepts {@linkcode MoveEffectPhase} and mocks the phase's move's + * accuracy to -1, guaranteeing a hit. */ public async forceHit(): Promise { await this.game.phaseInterceptor.to(MoveEffectPhase, false); - vi.spyOn(this.game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true); + const moveEffectPhase = this.game.scene.getCurrentPhase() as MoveEffectPhase; + vi.spyOn(moveEffectPhase.move, "calculateBattleAccuracy").mockReturnValue(-1); } /** - * Intercepts {@linkcode MoveEffectPhase} and mocks the - * {@linkcode MoveEffectPhase.hitCheck | hitCheck}'s return value to `false`. - * Used to force a move to miss. + * Intercepts {@linkcode MoveEffectPhase} and mocks the phase's move's accuracy + * to 0, guaranteeing a miss. * @param firstTargetOnly - Whether the move should force miss on the first target only, in the case of multi-target moves. */ public async forceMiss(firstTargetOnly = false): Promise { await this.game.phaseInterceptor.to(MoveEffectPhase, false); - const hitCheck = vi.spyOn(this.game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck"); + const moveEffectPhase = this.game.scene.getCurrentPhase() as MoveEffectPhase; + const accuracy = vi.spyOn(moveEffectPhase.move, "calculateBattleAccuracy"); if (firstTargetOnly) { - hitCheck.mockReturnValueOnce(false); + accuracy.mockReturnValueOnce(0); } else { - hitCheck.mockReturnValue(false); + accuracy.mockReturnValue(0); } } From b848777880b8c05dc0f2849bf25e97f60135c04e Mon Sep 17 00:00:00 2001 From: Jimmybald1 <122436263+Jimmybald1@users.noreply.github.com> Date: Wed, 23 Apr 2025 19:54:43 +0200 Subject: [PATCH 049/102] [Bug][Misc] Moved `SelectBiomePhase` in front of `NewBattlePhase` (#5694) * Moved SelectBiomePhase in front of NewBattlePhase * disguise test now has to go to QuietFormChangePhase --------- Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com> --- src/battle-scene.ts | 19 +++++++++++-------- src/data/abilities/ability.ts | 6 ++++++ src/data/moves/move.ts | 6 ++++++ src/phases/attempt-run-phase.ts | 6 ++++++ src/phases/mystery-encounter-phases.ts | 5 +++++ src/phases/select-biome-phase.ts | 19 ++++++++++--------- src/phases/switch-biome-phase.ts | 4 ++++ src/phases/victory-phase.ts | 6 ++++++ test/abilities/disguise.test.ts | 2 +- 9 files changed, 55 insertions(+), 18 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index ecaffc5ed07..2ff5d718ede 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -151,7 +151,6 @@ import { NextEncounterPhase } from "#app/phases/next-encounter-phase"; import { PokemonAnimPhase } from "#app/phases/pokemon-anim-phase"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { ReturnPhase } from "#app/phases/return-phase"; -import { SelectBiomePhase } from "#app/phases/select-biome-phase"; import { ShowTrainerPhase } from "#app/phases/show-trainer-phase"; import { SummonPhase } from "#app/phases/summon-phase"; import { SwitchPhase } from "#app/phases/switch-phase"; @@ -1298,6 +1297,16 @@ export default class BattleScene extends SceneBase { return Math.max(doubleChance.value, 1); } + isNewBiome(currentBattle = this.currentBattle) { + const isWaveIndexMultipleOfTen = !(currentBattle.waveIndex % 10); + const isEndlessOrDaily = this.gameMode.hasShortBiomes || this.gameMode.isDaily; + const isEndlessFifthWave = this.gameMode.hasShortBiomes && currentBattle.waveIndex % 5 === 0; + const isWaveIndexMultipleOfFiftyMinusOne = currentBattle.waveIndex % 50 === 49; + const isNewBiome = + isWaveIndexMultipleOfTen || isEndlessFifthWave || (isEndlessOrDaily && isWaveIndexMultipleOfFiftyMinusOne); + return isNewBiome; + } + // TODO: ...this never actually returns `null`, right? newBattle( waveIndex?: number, @@ -1461,12 +1470,7 @@ export default class BattleScene extends SceneBase { } if (!waveIndex && lastBattle) { - const isWaveIndexMultipleOfTen = !(lastBattle.waveIndex % 10); - const isEndlessOrDaily = this.gameMode.hasShortBiomes || this.gameMode.isDaily; - const isEndlessFifthWave = this.gameMode.hasShortBiomes && lastBattle.waveIndex % 5 === 0; - const isWaveIndexMultipleOfFiftyMinusOne = lastBattle.waveIndex % 50 === 49; - const isNewBiome = - isWaveIndexMultipleOfTen || isEndlessFifthWave || (isEndlessOrDaily && isWaveIndexMultipleOfFiftyMinusOne); + const isNewBiome = this.isNewBiome(lastBattle); const resetArenaState = isNewBiome || [BattleType.TRAINER, BattleType.MYSTERY_ENCOUNTER].includes(this.currentBattle.battleType) || @@ -1515,7 +1519,6 @@ export default class BattleScene extends SceneBase { if (!this.gameMode.hasRandomBiomes && !isNewBiome) { this.pushPhase(new NextEncounterPhase()); } else { - this.pushPhase(new SelectBiomePhase()); this.pushPhase(new NewBiomeEncounterPhase()); const newMaxExpLevel = this.getMaxExpLevel(); diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 53d024ac655..d8b648ebe82 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -72,6 +72,7 @@ import type { AbAttrCondition, PokemonDefendCondition, PokemonStatStageChangeCon import type { BattlerIndex } from "#app/battle"; import type Move from "#app/data/moves/move"; import type { ArenaTrapTag, SuppressAbilitiesTag } from "#app/data/arena-tag"; +import { SelectBiomePhase } from "#app/phases/select-biome-phase"; export class BlockRecoilDamageAttr extends AbAttr { constructor() { @@ -5483,6 +5484,11 @@ class ForceSwitchOutHelper { if (switchOutTarget.hp) { globalScene.pushPhase(new BattleEndPhase(false)); + + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + globalScene.pushPhase(new SelectBiomePhase()); + } + globalScene.pushPhase(new NewBattlePhase()); } } diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 35d98f6f781..5d57bb6dc49 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -123,6 +123,7 @@ import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; import { TrainerVariant } from "#app/field/trainer"; +import { SelectBiomePhase } from "#app/phases/select-biome-phase"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean; @@ -6332,6 +6333,11 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { if (!allyPokemon?.isActive(true) && switchOutTarget.hp) { globalScene.pushPhase(new BattleEndPhase(false)); + + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + globalScene.pushPhase(new SelectBiomePhase()); + } + globalScene.pushPhase(new NewBattlePhase()); } } diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index eed5c3c522e..274d3c40576 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -14,6 +14,7 @@ import { BattleEndPhase } from "./battle-end-phase"; import { NewBattlePhase } from "./new-battle-phase"; import { PokemonPhase } from "./pokemon-phase"; import { globalScene } from "#app/global-scene"; +import { SelectBiomePhase } from "./select-biome-phase"; export class AttemptRunPhase extends PokemonPhase { /** For testing purposes: this is to force the pokemon to fail and escape */ @@ -59,6 +60,11 @@ export class AttemptRunPhase extends PokemonPhase { }); globalScene.pushPhase(new BattleEndPhase(false)); + + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + globalScene.pushPhase(new SelectBiomePhase()); + } + globalScene.pushPhase(new NewBattlePhase()); } else { playerPokemon.turnData.failedRunAway = true; diff --git a/src/phases/mystery-encounter-phases.ts b/src/phases/mystery-encounter-phases.ts index 100be47e4e9..011dd26db92 100644 --- a/src/phases/mystery-encounter-phases.ts +++ b/src/phases/mystery-encounter-phases.ts @@ -27,6 +27,7 @@ import { IvScannerModifier } from "../modifier/modifier"; import { Phase } from "../phase"; import { UiMode } from "#enums/ui-mode"; import { isNullOrUndefined, randSeedItem } from "#app/utils/common"; +import { SelectBiomePhase } from "./select-biome-phase"; /** * Will handle (in order): @@ -612,6 +613,10 @@ export class PostMysteryEncounterPhase extends Phase { */ continueEncounter() { const endPhase = () => { + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + globalScene.pushPhase(new SelectBiomePhase()); + } + globalScene.pushPhase(new NewBattlePhase()); this.end(); }; diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index 0ea2841a2d3..4811c4e6b8f 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -14,9 +14,10 @@ export class SelectBiomePhase extends BattlePhase { super.start(); const currentBiome = globalScene.arena.biomeType; + const nextWaveIndex = globalScene.currentBattle.waveIndex + 1; const setNextBiome = (nextBiome: Biome) => { - if (globalScene.currentBattle.waveIndex % 10 === 1) { + if (nextWaveIndex % 10 === 1) { globalScene.applyModifiers(MoneyInterestModifier, true); globalScene.unshiftPhase(new PartyHealPhase(false)); } @@ -25,13 +26,13 @@ export class SelectBiomePhase extends BattlePhase { }; if ( - (globalScene.gameMode.isClassic && globalScene.gameMode.isWaveFinal(globalScene.currentBattle.waveIndex + 9)) || - (globalScene.gameMode.isDaily && globalScene.gameMode.isWaveFinal(globalScene.currentBattle.waveIndex)) || - (globalScene.gameMode.hasShortBiomes && !(globalScene.currentBattle.waveIndex % 50)) + (globalScene.gameMode.isClassic && globalScene.gameMode.isWaveFinal(nextWaveIndex + 9)) || + (globalScene.gameMode.isDaily && globalScene.gameMode.isWaveFinal(nextWaveIndex)) || + (globalScene.gameMode.hasShortBiomes && !(nextWaveIndex % 50)) ) { setNextBiome(Biome.END); } else if (globalScene.gameMode.hasRandomBiomes) { - setNextBiome(this.generateNextBiome()); + setNextBiome(this.generateNextBiome(nextWaveIndex)); } else if (Array.isArray(biomeLinks[currentBiome])) { const biomes: Biome[] = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) @@ -59,14 +60,14 @@ export class SelectBiomePhase extends BattlePhase { } else if (biomeLinks.hasOwnProperty(currentBiome)) { setNextBiome(biomeLinks[currentBiome] as Biome); } else { - setNextBiome(this.generateNextBiome()); + setNextBiome(this.generateNextBiome(nextWaveIndex)); } } - generateNextBiome(): Biome { - if (!(globalScene.currentBattle.waveIndex % 50)) { + generateNextBiome(waveIndex: number): Biome { + if (!(waveIndex % 50)) { return Biome.END; } - return globalScene.generateRandomBiome(globalScene.currentBattle.waveIndex); + return globalScene.generateRandomBiome(waveIndex); } } diff --git a/src/phases/switch-biome-phase.ts b/src/phases/switch-biome-phase.ts index 2dd2a642f43..f708830318e 100644 --- a/src/phases/switch-biome-phase.ts +++ b/src/phases/switch-biome-phase.ts @@ -19,6 +19,10 @@ export class SwitchBiomePhase extends BattlePhase { return this.end(); } + // Before switching biomes, make sure to set the last encounter for other phases that need it too. + globalScene.lastEnemyTrainer = globalScene.currentBattle?.trainer ?? null; + globalScene.lastMysteryEncounter = globalScene.currentBattle?.mysteryEncounter; + globalScene.tweens.add({ targets: [globalScene.arenaEnemy, globalScene.lastEnemyTrainer], x: "+=300", diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index 17b29f654e2..6e1837a4749 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -15,6 +15,7 @@ import { TrainerVictoryPhase } from "./trainer-victory-phase"; import { handleMysteryEncounterVictory } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { globalScene } from "#app/global-scene"; import { timedEventManager } from "#app/global-event-manager"; +import { SelectBiomePhase } from "./select-biome-phase"; export class VictoryPhase extends PokemonPhase { /** If true, indicates that the phase is intended for EXP purposes only, and not to continue a battle to next phase */ @@ -111,6 +112,11 @@ export class VictoryPhase extends PokemonPhase { globalScene.pushPhase(new AddEnemyBuffModifierPhase()); } } + + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + globalScene.pushPhase(new SelectBiomePhase()); + } + globalScene.pushPhase(new NewBattlePhase()); } else { globalScene.currentBattle.battleType = BattleType.CLEAR; diff --git a/test/abilities/disguise.test.ts b/test/abilities/disguise.test.ts index aeaf8ea2363..0e62b8ad448 100644 --- a/test/abilities/disguise.test.ts +++ b/test/abilities/disguise.test.ts @@ -186,7 +186,7 @@ describe("Abilities - Disguise", () => { await game.toNextTurn(); game.move.select(Moves.SPLASH); await game.doKillOpponents(); - await game.phaseInterceptor.to("PartyHealPhase"); + await game.phaseInterceptor.to("QuietFormChangePhase"); expect(mimikyu1.formIndex).toBe(disguisedForm); }); From 389ad6ceb627ed11579e36009a4164ca7f037e52 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Wed, 23 Apr 2025 13:10:01 -0500 Subject: [PATCH 050/102] [Tests][UI/UX] Add automated tests for the pokedex (#5637) * Remove unneeded fields from src/ui/filter-text.ts * Add setOverlayMode to phaseInterceptor * initialize pokemon starters before running tests * Add getWrappedText to mockText * Add initial pokedex test * Add test for wrapping cursor in pokedex view * Make pokedex use getPassiveAbility instead of checking passive map Allows for tests to mock passives * Add test for filtering double ability combinations * Add test for filtering by types * Mark failing test as TODO * Apply suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> * Use ts-expect-error instead of ts-ignore in comments Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Add save for pokedex tests * Add test for filtering by cost reduction * Add test for filtering by shiny * Add tests for filtering by cost reductions * Fix typo in test name * Update test/ui/pokedex.test.ts Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> * Update Mode import in pokedex test * Replace reference to Mode with UiMode --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> --- src/ui/filter-text.ts | 15 +- src/ui/pokedex-ui-handler.ts | 20 +- test/testUtils/gameWrapper.ts | 6 + .../mocks/mocksContainer/mockText.ts | 9 + test/testUtils/phaseInterceptor.ts | 15 + test/testUtils/saves/data_pokedex_tests.prsv | 1 + test/testUtils/testFileInitialization.ts | 5 +- test/ui/pokedex.test.ts | 492 ++++++++++++++++++ 8 files changed, 545 insertions(+), 18 deletions(-) create mode 100644 test/testUtils/saves/data_pokedex_tests.prsv create mode 100644 test/ui/pokedex.test.ts diff --git a/src/ui/filter-text.ts b/src/ui/filter-text.ts index 8b13b76db31..7e27a806478 100644 --- a/src/ui/filter-text.ts +++ b/src/ui/filter-text.ts @@ -20,7 +20,6 @@ export class FilterText extends Phaser.GameObjects.Container { private window: Phaser.GameObjects.NineSlice; private labels: Phaser.GameObjects.Text[] = []; private selections: Phaser.GameObjects.Text[] = []; - private selectionStrings: string[] = []; private rows: FilterTextRow[] = []; public cursorObj: Phaser.GameObjects.Image; public numFilters = 0; @@ -112,8 +111,6 @@ export class FilterText extends Phaser.GameObjects.Container { this.selections.push(filterTypesSelection); this.add(filterTypesSelection); - this.selectionStrings.push(""); - this.calcFilterPositions(); this.numFilters++; @@ -122,7 +119,6 @@ export class FilterText extends Phaser.GameObjects.Container { resetSelection(index: number): void { this.selections[index].setText(this.defaultText); - this.selectionStrings[index] = ""; this.onChange(); } @@ -204,6 +200,17 @@ export class FilterText extends Phaser.GameObjects.Container { return this.selections[row].getWrappedText()[0]; } + /** + * Forcibly set the selection text for a specific filter row and then call the `onChange` function + * + * @param row - The filter row to set the text for + * @param value - The text to set for the filter row + */ + setValue(row: FilterTextRow, value: string) { + this.selections[row].setText(value); + this.onChange(); + } + /** * Find the nearest filter to the provided container on the y-axis * @param container the StarterContainer to compare position against diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index e9726031bf5..b1d0945de07 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -37,10 +37,9 @@ import { addWindow } from "./ui-theme"; import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import { FilterText, FilterTextRow } from "./filter-text"; import { allAbilities } from "#app/data/data-lists"; -import { starterPassiveAbilities } from "#app/data/balance/passives"; import { allMoves } from "#app/data/moves/move"; import { speciesTmMoves } from "#app/data/balance/tms"; -import { pokemonPrevolutions, pokemonStarters } from "#app/data/balance/pokemon-evolutions"; +import { pokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { Biome } from "#enums/biome"; import { globalScene } from "#app/global-scene"; @@ -174,7 +173,6 @@ export default class PokedexUiHandler extends MessageUiHandler { private scrollCursor: number; private oldCursor = -1; - private allSpecies: PokemonSpecies[] = []; private lastSpecies: PokemonSpecies; private speciesLoaded: Map = new Map(); private pokerusSpecies: PokemonSpecies[] = []; @@ -493,12 +491,11 @@ export default class PokedexUiHandler extends MessageUiHandler { for (const species of allSpecies) { this.speciesLoaded.set(species.speciesId, false); - this.allSpecies.push(species); } // Here code to declare 81 containers for (let i = 0; i < 81; i++) { - const pokemonContainer = new PokedexMonContainer(this.allSpecies[i]).setVisible(false); + const pokemonContainer = new PokedexMonContainer(allSpecies[i]).setVisible(false); const pos = calcStarterPosition(i); pokemonContainer.setPosition(pos.x, pos.y); this.iconAnimHandler.addOrUpdate(pokemonContainer.icon, PokemonIconAnimMode.NONE); @@ -1342,7 +1339,7 @@ export default class PokedexUiHandler extends MessageUiHandler { this.filteredPokemonData = []; - this.allSpecies.forEach(species => { + allSpecies.forEach(species => { const starterId = this.getStarterSpeciesId(species.speciesId); const currentDexAttr = this.getCurrentDexProps(species.speciesId); @@ -1412,12 +1409,11 @@ export default class PokedexUiHandler extends MessageUiHandler { // Ability filter const abilities = [species.ability1, species.ability2, species.abilityHidden].map(a => allAbilities[a].name); - const passiveId = starterPassiveAbilities.hasOwnProperty(species.speciesId) - ? species.speciesId - : starterPassiveAbilities.hasOwnProperty(starterId) - ? starterId - : pokemonPrevolutions[starterId]; - const passives = starterPassiveAbilities[passiveId]; + // get the passive ability for the species + const passives = [species.getPassiveAbility()]; + for (const form of species.forms) { + passives.push(form.getPassiveAbility()); + } const selectedAbility1 = this.filterText.getValue(FilterTextRow.ABILITY_1); const fitsFormAbility1 = species.forms.some(form => diff --git a/test/testUtils/gameWrapper.ts b/test/testUtils/gameWrapper.ts index 050e9f13257..9264b68d421 100644 --- a/test/testUtils/gameWrapper.ts +++ b/test/testUtils/gameWrapper.ts @@ -21,6 +21,8 @@ import KeyboardPlugin = Phaser.Input.Keyboard.KeyboardPlugin; import GamepadPlugin = Phaser.Input.Gamepad.GamepadPlugin; import EventEmitter = Phaser.Events.EventEmitter; import UpdateList = Phaser.GameObjects.UpdateList; +import { PokedexMonContainer } from "#app/ui/pokedex-mon-container"; +import MockContainer from "./mocks/mocksContainer/mockContainer"; // biome-ignore lint/style/noNamespaceImport: Necessary in order to mock the var import * as bypassLoginModule from "#app/global-vars/bypass-login"; @@ -61,6 +63,10 @@ export default class GameWrapper { } }; BattleScene.prototype.addPokemonIcon = () => new Phaser.GameObjects.Container(this.scene); + + // Pokedex container is not actually mocking container, but the sprites they contain are mocked. + // We need to mock the remove function to not throw an error when removing a sprite. + PokedexMonContainer.prototype.remove = MockContainer.prototype.remove; } setScene(scene: BattleScene) { diff --git a/test/testUtils/mocks/mocksContainer/mockText.ts b/test/testUtils/mocks/mocksContainer/mockText.ts index 552f8ff3ff8..1f3f0ad792f 100644 --- a/test/testUtils/mocks/mocksContainer/mockText.ts +++ b/test/testUtils/mocks/mocksContainer/mockText.ts @@ -308,5 +308,14 @@ export default class MockText implements MockGameObject { return this.list; } + /** + * Runs the word wrap algorithm on the text, then returns an array of the lines + */ + getWrappedText() { + // Returns the wrapped text. + // return this.phaserText.getWrappedText(); + return this.runWordWrap(this.text).split("\n"); + } + on(_event: string | symbol, _fn: Function, _context?: any) {} } diff --git a/test/testUtils/phaseInterceptor.ts b/test/testUtils/phaseInterceptor.ts index 3d56c513c00..b1d76ecd4a6 100644 --- a/test/testUtils/phaseInterceptor.ts +++ b/test/testUtils/phaseInterceptor.ts @@ -205,6 +205,7 @@ export default class PhaseInterceptor { private phaseFrom; private inProgress; private originalSetMode; + private originalSetOverlayMode; private originalSuperEnd; /** @@ -442,6 +443,7 @@ export default class PhaseInterceptor { */ initPhases() { this.originalSetMode = UI.prototype.setMode; + this.originalSetOverlayMode = UI.prototype.setOverlayMode; this.originalSuperEnd = Phase.prototype.end; UI.prototype.setMode = (mode, ...args) => this.setMode.call(this, mode, ...args); Phase.prototype.end = () => this.superEndPhase.call(this); @@ -508,6 +510,18 @@ export default class PhaseInterceptor { return ret; } + /** + * mock to set overlay mode + * @param mode - The {@linkcode Mode} to set. + * @param args - Additional arguments to pass to the original method. + */ + setOverlayMode(mode: UiMode, ...args: unknown[]): Promise { + const instance = this.scene.ui; + console.log("setOverlayMode", `${UiMode[mode]} (=${mode})`, args); + const ret = this.originalSetOverlayMode.apply(instance, [mode, ...args]); + return ret; + } + /** * Method to start the prompt handler. */ @@ -572,6 +586,7 @@ export default class PhaseInterceptor { phase.prototype.start = this.phases[phase.name].start; } UI.prototype.setMode = this.originalSetMode; + UI.prototype.setOverlayMode = this.originalSetOverlayMode; Phase.prototype.end = this.originalSuperEnd; clearInterval(this.promptInterval); clearInterval(this.interval); diff --git a/test/testUtils/saves/data_pokedex_tests.prsv b/test/testUtils/saves/data_pokedex_tests.prsv new file mode 100644 index 00000000000..c55241760c4 --- /dev/null +++ b/test/testUtils/saves/data_pokedex_tests.prsv @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/test/testUtils/testFileInitialization.ts b/test/testUtils/testFileInitialization.ts index 414e34e024b..15635289e6f 100644 --- a/test/testUtils/testFileInitialization.ts +++ b/test/testUtils/testFileInitialization.ts @@ -3,7 +3,7 @@ import { initLoggedInUser } from "#app/account"; import { initAbilities } from "#app/data/abilities/ability"; import { initBiomes } from "#app/data/balance/biomes"; import { initEggMoves } from "#app/data/balance/egg-moves"; -import { initPokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; +import { initPokemonPrevolutions, initPokemonStarters } from "#app/data/balance/pokemon-evolutions"; import { initMoves } from "#app/data/moves/move"; import { initMysteryEncounters } from "#app/data/mystery-encounters/mystery-encounters"; import { initPokemonForms } from "#app/data/pokemon-forms"; @@ -85,7 +85,6 @@ export function initTestFile() { HTMLCanvasElement.prototype.getContext = () => mockContext; // Initialize all of these things if and only if they have not been initialized yet - // initSpecies(); if (!wasInitialized) { wasInitialized = true; initI18n(); @@ -101,6 +100,8 @@ export function initTestFile() { initAbilities(); initLoggedInUser(); initMysteryEncounters(); + // init the pokemon starters for the pokedex + initPokemonStarters(); } manageListeners(); diff --git a/test/ui/pokedex.test.ts b/test/ui/pokedex.test.ts new file mode 100644 index 00000000000..41fb5e47f8c --- /dev/null +++ b/test/ui/pokedex.test.ts @@ -0,0 +1,492 @@ +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, type MockInstance, vi } from "vitest"; +import PokedexUiHandler from "#app/ui/pokedex-ui-handler"; +import { FilterTextRow } from "#app/ui/filter-text"; +import { allAbilities } from "#app/data/data-lists"; +import { Abilities } from "#enums/abilities"; +import { Species } from "#enums/species"; +import { allSpecies, getPokemonSpecies, type PokemonForm } from "#app/data/pokemon-species"; +import { Button } from "#enums/buttons"; +import { DropDownColumn } from "#app/ui/filter-bar"; +import type PokemonSpecies from "#app/data/pokemon-species"; +import { PokemonType } from "#enums/pokemon-type"; +import { UiMode } from "#enums/ui-mode"; + +/* +Information for the `data_pokedex_tests.psrv`: + +Caterpie - Shiny 0 +Rattata - Shiny 1 +Ekans - Shiny 2 + +Chikorita has enough candies to unlock passive +Cyndaquil has first cost reduction unlocked, enough candies to buy the second +Totodile has first cost reduction unlocked, not enough candies to buy the second +Treecko has both cost reduction unlocked +Torchic has enough candies to do anything +Mudkip has passive unlocked +Turtwig has enough candies to purchase an egg +*/ + +/** + * Return all permutations of elements from an array + */ +function permutations(array: T[], length: number): T[][] { + if (length === 0) { + return [[]]; + } + return array.flatMap((item, index) => + permutations([...array.slice(0, index), ...array.slice(index + 1)], length - 1).map(perm => [item, ...perm]), + ); +} + +describe("UI - Pokedex", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + const mocks: MockInstance[] = []; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + while (mocks.length > 0) { + mocks.pop()?.mockRestore(); + } + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + }); + + /** + * Run the game to open the pokedex UI. + * @returns The handler for the pokedex UI. + */ + async function runToOpenPokedex(): Promise { + // Open the pokedex UI. + await game.runToTitle(); + + await game.phaseInterceptor.setOverlayMode(UiMode.POKEDEX); + + // Get the handler for the current UI. + const handler = game.scene.ui.getHandler(); + expect(handler).toBeInstanceOf(PokedexUiHandler); + + return handler as PokedexUiHandler; + } + + /** + * Compute a set of pokemon that have a specific ability in allAbilities + * @param ability - The ability to filter for + */ + function getSpeciesWithAbility(ability: Abilities): Set { + const speciesSet = new Set(); + for (const pkmn of allSpecies) { + if ( + [pkmn.ability1, pkmn.ability2, pkmn.getPassiveAbility(), pkmn.abilityHidden].includes(ability) || + pkmn.forms.some(form => + [form.ability1, form.ability2, form.abilityHidden, form.getPassiveAbility()].includes(ability), + ) + ) { + speciesSet.add(pkmn.speciesId); + } + } + return speciesSet; + } + + /** + * Compute a set of pokemon that have one of the specified type(s) + * + * Includes all forms of the pokemon + * @param types - The types to filter for + */ + function getSpeciesWithType(...types: PokemonType[]): Set { + const speciesSet = new Set(); + const tySet = new Set(types); + + // get the pokemon and its forms + outer: for (const pkmn of allSpecies) { + // @ts-expect-error We know that type2 might be null. + if (tySet.has(pkmn.type1) || tySet.has(pkmn.type2)) { + speciesSet.add(pkmn.speciesId); + continue; + } + for (const form of pkmn.forms) { + // @ts-expect-error We know that type2 might be null. + if (tySet.has(form.type1) || tySet.has(form.type2)) { + speciesSet.add(pkmn.speciesId); + continue outer; + } + } + } + return speciesSet; + } + + /** + * Create mocks for the abilities of a species. + * This is used to set the abilities of a species to a specific value. + * All abilities are optional. Not providing one will set it to NONE. + * + * This will override the ability of the pokemon species only, unless set forms is true + * + * @param species - The species to set the abilities for + * @param ability - The ability to set for the first ability + * @param ability2 - The ability to set for the second ability + * @param hidden - The ability to set for the hidden ability + * @param passive - The ability to set for the passive ability + * @param setForms - Whether to also overwrite the abilities for each of the species' forms (defaults to `true`) + */ + function createAbilityMocks( + species: Species, + { + ability = Abilities.NONE, + ability2 = Abilities.NONE, + hidden = Abilities.NONE, + passive = Abilities.NONE, + setForms = true, + }: { + ability?: Abilities; + ability2?: Abilities; + hidden?: Abilities; + passive?: Abilities; + setForms?: boolean; + }, + ) { + const pokemon = getPokemonSpecies(species); + const checks: [PokemonSpecies | PokemonForm] = [pokemon]; + if (setForms) { + checks.push(...pokemon.forms); + } + for (const p of checks) { + mocks.push(vi.spyOn(p, "ability1", "get").mockReturnValue(ability)); + mocks.push(vi.spyOn(p, "ability2", "get").mockReturnValue(ability2)); + mocks.push(vi.spyOn(p, "abilityHidden", "get").mockReturnValue(hidden)); + mocks.push(vi.spyOn(p, "getPassiveAbility").mockReturnValue(passive)); + } + } + + /*************************** + * Tests for Filters * + ***************************/ + + it("should filter to show only the pokemon with an ability when filtering by ability", async () => { + // await game.importData("test/testUtils/saves/everything.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + // Get name of overgrow + const overgrow = allAbilities[Abilities.OVERGROW].name; + + // @ts-expect-error `filterText` is private + pokedexHandler.filterText.setValue(FilterTextRow.ABILITY_1, overgrow); + + // filter all species to be the pokemon that have overgrow + const overgrowSpecies = getSpeciesWithAbility(Abilities.OVERGROW); + // @ts-expect-error - `filteredPokemonData` is private + const filteredSpecies = new Set(pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId)); + + expect(filteredSpecies).toEqual(overgrowSpecies); + }); + + it("should filter to show only pokemon with ability and passive when filtering by 2 abilities", async () => { + // Setup mocks for the ability and passive combinations + const whitelist: Species[] = []; + const blacklist: Species[] = []; + + const filter_ab1 = Abilities.OVERGROW; + const filter_ab2 = Abilities.ADAPTABILITY; + const ab1_instance = allAbilities[filter_ab1]; + const ab2_instance = allAbilities[filter_ab2]; + + // Create a species with passive set and each "ability" field + const baseObj = { + ability: Abilities.BALL_FETCH, + ability2: Abilities.NONE, + hidden: Abilities.BLAZE, + passive: Abilities.TORRENT, + }; + + // Mock pokemon to have the exhaustive combination of the two selected abilities + const attrs: (keyof typeof baseObj)[] = ["ability", "ability2", "hidden", "passive"]; + for (const [idx, value] of permutations(attrs, 2).entries()) { + createAbilityMocks(Species.BULBASAUR + idx, { + ...baseObj, + [value[0]]: filter_ab1, + [value[1]]: filter_ab2, + }); + if (value.includes("passive")) { + whitelist.push(Species.BULBASAUR + idx); + } else { + blacklist.push(Species.BULBASAUR + idx); + } + } + + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error `filterText` is private + pokedexHandler.filterText.setValue(FilterTextRow.ABILITY_1, ab1_instance.name); + // @ts-expect-error `filterText` is private + pokedexHandler.filterText.setValue(FilterTextRow.ABILITY_2, ab2_instance.name); + + let whiteListCount = 0; + // @ts-expect-error `filteredPokemonData` is private + for (const species of pokedexHandler.filteredPokemonData) { + expect(blacklist, "entry must have one of the abilities as a passive").not.toContain(species.species.speciesId); + + const rawAbility = [species.species.ability1, species.species.ability2, species.species.abilityHidden]; + const rawPassive = species.species.getPassiveAbility(); + + const c1 = rawPassive === ab1_instance.id && rawAbility.includes(ab2_instance.id); + const c2 = c1 || (rawPassive === ab2_instance.id && rawAbility.includes(ab1_instance.id)); + + expect(c2, "each filtered entry should have the ability and passive combination").toBe(true); + if (whitelist.includes(species.species.speciesId)) { + whiteListCount++; + } + } + + expect(whiteListCount).toBe(whitelist.length); + }); + + it("should filter to show only the pokemon with a type when filtering by a single type", async () => { + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error - `filterBar` is private + pokedexHandler.filterBar.getFilter(DropDownColumn.TYPES).toggleOptionState(PokemonType.NORMAL + 1); + + const expectedPokemon = getSpeciesWithType(PokemonType.NORMAL); + // @ts-expect-error - `filteredPokemonData` is private + const filteredPokemon = new Set(pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId)); + + expect(filteredPokemon).toEqual(expectedPokemon); + }); + + // Todo: Pokemon with a mega that adds a type do not show up in the filter, e.g. pinsir. + it.todo("should show only the pokemon with one of the types when filtering by multiple types", async () => { + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error - `filterBar` is private + pokedexHandler.filterBar.getFilter(DropDownColumn.TYPES).toggleOptionState(PokemonType.NORMAL + 1); + // @ts-expect-error - `filterBar` is private + pokedexHandler.filterBar.getFilter(DropDownColumn.TYPES).toggleOptionState(PokemonType.FLYING + 1); + + const expectedPokemon = getSpeciesWithType(PokemonType.NORMAL, PokemonType.FLYING); + // @ts-expect-error - `filteredPokemonData` is private + const filteredPokemon = new Set(pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId)); + + expect(filteredPokemon).toEqual(expectedPokemon); + }); + + it("filtering for unlockable cost reduction only shows species with sufficient candies", async () => { + // load the save file + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); + + // Cycling 4 times to get to the "can unlock" for cost reduction + for (let i = 0; i < 4; i++) { + // index 1 is the cost reduction + filter.toggleOptionState(1); + } + + const expectedPokemon = new Set([ + Species.CHIKORITA, + Species.CYNDAQUIL, + Species.TORCHIC, + Species.TURTWIG, + Species.EKANS, + Species.MUDKIP, + ]); + expect( + // @ts-expect-error - `filteredPokemonData` is private + pokedexHandler.filteredPokemonData.every(pokemon => + expectedPokemon.has(pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId)), + ), + ).toBe(true); + }); + + it("filtering by passive unlocked only shows species that have their passive", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); + + filter.toggleOptionState(0); // cycle to Passive: Yes + + expect( + // @ts-expect-error - `filteredPokemonData` is private + pokedexHandler.filteredPokemonData.every( + pokemon => pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId) === Species.MUDKIP, + ), + ).toBe(true); + }); + + it("filtering for pokemon that can unlock passive shows only species with sufficient candies", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); + + // Cycling 4 times to get to the "can unlock" for passive + const expectedPokemon = new Set([ + Species.EKANS, + Species.CHIKORITA, + Species.CYNDAQUIL, + Species.TORCHIC, + Species.TURTWIG, + ]); + + // cycling twice to get to the "can unlock" for passive + filter.toggleOptionState(0); + filter.toggleOptionState(0); + + expect( + // @ts-expect-error - `filteredPokemonData` is private + pokedexHandler.filteredPokemonData.every(pokemon => + expectedPokemon.has(pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId)), + ), + ).toBe(true); + }); + + it("filtering for pokemon that have any cost reduction shows only the species that have unlocked a cost reduction", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + const expectedPokemon = new Set([Species.TREECKO, Species.CYNDAQUIL, Species.TOTODILE]); + + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); + // Cycle 1 time for cost reduction + filter.toggleOptionState(1); + + expect( + // @ts-expect-error - `filteredPokemonData` is private + pokedexHandler.filteredPokemonData.every(pokemon => + expectedPokemon.has(pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId)), + ), + ).toBe(true); + }); + + it("filtering for pokemon that have a single cost reduction shows only the species that have unlocked a single cost reduction", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + const expectedPokemon = new Set([Species.CYNDAQUIL, Species.TOTODILE]); + + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); + // Cycle 2 times for one cost reduction + filter.toggleOptionState(1); + filter.toggleOptionState(1); + + expect( + // @ts-expect-error - `filteredPokemonData` is private + pokedexHandler.filteredPokemonData.every(pokemon => + expectedPokemon.has(pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId)), + ), + ).toBe(true); + }); + + it("filtering for pokemon that have two cost reductions sorts only shows the species that have unlocked both cost reductions", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); + // Cycle 3 time for two cost reductions + filter.toggleOptionState(1); + filter.toggleOptionState(1); + filter.toggleOptionState(1); + + expect( + // @ts-expect-error - `filteredPokemonData` is private + pokedexHandler.filteredPokemonData.every( + pokemon => pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId) === Species.TREECKO, + ), + ).toBe(true); + }); + + it("filtering by shiny status shows the caught pokemon with the selected shiny tier", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); + const pokedexHandler = await runToOpenPokedex(); + // @ts-expect-error - `filterBar` is private + const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.CAUGHT); + filter.toggleOptionState(3); + + // @ts-expect-error - `filteredPokemonData` is private + let filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); + + // Red shiny + expect(filteredPokemon.length).toBe(1); + expect(filteredPokemon[0], "tier 1 shiny").toBe(Species.CATERPIE); + + // tier 2 shiny + filter.toggleOptionState(3); + filter.toggleOptionState(2); + + // @ts-expect-error - `filteredPokemonData` is private + filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); + expect(filteredPokemon.length).toBe(1); + expect(filteredPokemon[0], "tier 2 shiny").toBe(Species.RATTATA); + + filter.toggleOptionState(2); + filter.toggleOptionState(1); + // @ts-expect-error - `filteredPokemonData` is private + filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); + expect(filteredPokemon.length).toBe(1); + expect(filteredPokemon[0], "tier 3 shiny").toBe(Species.EKANS); + + // filter by no shiny + filter.toggleOptionState(1); + filter.toggleOptionState(4); + + // @ts-expect-error - `filteredPokemonData` is private + filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); + expect(filteredPokemon.length).toBe(27); + expect(filteredPokemon, "not shiny").not.toContain(Species.CATERPIE); + expect(filteredPokemon, "not shiny").not.toContain(Species.RATTATA); + expect(filteredPokemon, "not shiny").not.toContain(Species.EKANS); + }); + + /**************************** + * Tests for UI Input * + ****************************/ + + // TODO: fix cursor wrapping + it.todo( + "should wrap the cursor to the top when moving to an empty entry when there are more than 81 pokemon", + async () => { + const pokedexHandler = await runToOpenPokedex(); + + // Filter by gen 2 so we can pan a specific amount. + // @ts-expect-error `filterBar` is private + pokedexHandler.filterBar.getFilter(DropDownColumn.GEN).options[2].toggleOptionState(); + pokedexHandler.updateStarters(); + // @ts-expect-error - `filteredPokemonData` is private + expect(pokedexHandler.filteredPokemonData.length, "pokemon in gen2").toBe(100); + + // Let's try to pan to the right to see what the pokemon it points to is. + + // pan to the right once and down 11 times + pokedexHandler.processInput(Button.RIGHT); + // Nab the pokemon that is selected for comparison later. + + // @ts-expect-error - `lastSpecies` is private + const selectedPokemon = pokedexHandler.lastSpecies.speciesId; + for (let i = 0; i < 11; i++) { + pokedexHandler.processInput(Button.DOWN); + } + + // @ts-expect-error `lastSpecies` is private + expect(selectedPokemon).toEqual(pokedexHandler.lastSpecies.speciesId); + }, + ); +}); From b49c994d2d6eb09cbce708b29462c6e46848e695 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Wed, 23 Apr 2025 15:48:04 -0400 Subject: [PATCH 051/102] [Balance][Refactor] Move fixed boss waves enum to file, adjust GL templates (#5689) * Move fixed boss waves enum to file, adjust GL templates * Move post return to default case * Address comment --------- Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> --- src/battle.ts | 24 +------- src/data/challenge.ts | 3 +- src/data/trainers/TrainerPartyTemplate.ts | 73 +++++++++++++++++------ src/enums/fixed-boss-waves.ts | 22 +++++++ src/phases/victory-phase.ts | 2 +- 5 files changed, 80 insertions(+), 44 deletions(-) create mode 100644 src/enums/fixed-boss-waves.ts diff --git a/src/battle.ts b/src/battle.ts index 6630d53bd67..07e520d6bc0 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -31,29 +31,7 @@ import type { CustomModifierSettings } from "#app/modifier/modifier-type"; import { ModifierTier } from "#app/modifier/modifier-tier"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { BattleType } from "#enums/battle-type"; - -export enum ClassicFixedBossWaves { - TOWN_YOUNGSTER = 5, - RIVAL_1 = 8, - RIVAL_2 = 25, - EVIL_GRUNT_1 = 35, - RIVAL_3 = 55, - EVIL_GRUNT_2 = 62, - EVIL_GRUNT_3 = 64, - EVIL_ADMIN_1 = 66, - RIVAL_4 = 95, - EVIL_GRUNT_4 = 112, - EVIL_ADMIN_2 = 114, - EVIL_BOSS_1 = 115, - RIVAL_5 = 145, - EVIL_BOSS_2 = 165, - ELITE_FOUR_1 = 182, - ELITE_FOUR_2 = 184, - ELITE_FOUR_3 = 186, - ELITE_FOUR_4 = 188, - CHAMPION = 190, - RIVAL_6 = 195, -} +import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves"; export enum BattlerIndex { ATTACKER = -1, diff --git a/src/data/challenge.ts b/src/data/challenge.ts index f786152ca3d..7388f397c7e 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -8,7 +8,8 @@ import { speciesStarterCosts } from "#app/data/balance/starters"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import type { FixedBattleConfig } from "#app/battle"; -import { ClassicFixedBossWaves, getRandomTrainerFunc } from "#app/battle"; +import { getRandomTrainerFunc } from "#app/battle"; +import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves"; import { BattleType } from "#enums/battle-type"; import Trainer, { TrainerVariant } from "#app/field/trainer"; import { PokemonType } from "#enums/pokemon-type"; diff --git a/src/data/trainers/TrainerPartyTemplate.ts b/src/data/trainers/TrainerPartyTemplate.ts index 5d02ffdc6af..e4c8ddf4c58 100644 --- a/src/data/trainers/TrainerPartyTemplate.ts +++ b/src/data/trainers/TrainerPartyTemplate.ts @@ -1,6 +1,8 @@ import { startingWave } from "#app/starting-wave"; import { globalScene } from "#app/global-scene"; import { PartyMemberStrength } from "#enums/party-member-strength"; +import { GameModes } from "#app/game-mode"; +import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves"; export class TrainerPartyTemplate { public size: number; @@ -165,6 +167,11 @@ export const trainerPartyTemplates = { new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), ), GYM_LEADER_5: new TrainerPartyCompoundTemplate( + new TrainerPartyTemplate(4, PartyMemberStrength.AVERAGE), + new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), + new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), + ), + GYM_LEADER_6: new TrainerPartyCompoundTemplate( new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), @@ -222,19 +229,18 @@ export const trainerPartyTemplates = { */ export function getEvilGruntPartyTemplate(): TrainerPartyTemplate { const waveIndex = globalScene.currentBattle?.waveIndex; - if (waveIndex < 40) { - return trainerPartyTemplates.TWO_AVG; + switch (waveIndex) { + case ClassicFixedBossWaves.EVIL_GRUNT_1: + return trainerPartyTemplates.TWO_AVG; + case ClassicFixedBossWaves.EVIL_GRUNT_2: + return trainerPartyTemplates.THREE_AVG; + case ClassicFixedBossWaves.EVIL_GRUNT_3: + return trainerPartyTemplates.TWO_AVG_ONE_STRONG; + case ClassicFixedBossWaves.EVIL_ADMIN_1: + return trainerPartyTemplates.GYM_LEADER_4; // 3avg 1 strong 1 stronger + default: + return trainerPartyTemplates.GYM_LEADER_6; // 3 avg 2 strong 1 stronger } - if (waveIndex < 63) { - return trainerPartyTemplates.THREE_AVG; - } - if (waveIndex < 65) { - return trainerPartyTemplates.TWO_AVG_ONE_STRONG; - } - if (waveIndex < 112) { - return trainerPartyTemplates.GYM_LEADER_4; // 3avg 1 strong 1 stronger - } - return trainerPartyTemplates.GYM_LEADER_5; // 3 avg 2 strong 1 stronger } export function getWavePartyTemplate(...templates: TrainerPartyTemplate[]) { @@ -245,11 +251,40 @@ export function getWavePartyTemplate(...templates: TrainerPartyTemplate[]) { } export function getGymLeaderPartyTemplate() { - return getWavePartyTemplate( - trainerPartyTemplates.GYM_LEADER_1, - trainerPartyTemplates.GYM_LEADER_2, - trainerPartyTemplates.GYM_LEADER_3, - trainerPartyTemplates.GYM_LEADER_4, - trainerPartyTemplates.GYM_LEADER_5, - ); + const { currentBattle, gameMode } = globalScene; + switch (gameMode.modeId) { + case GameModes.DAILY: + if (currentBattle?.waveIndex <= 20) { + return trainerPartyTemplates.GYM_LEADER_2 + } + return trainerPartyTemplates.GYM_LEADER_3; + case GameModes.CHALLENGE: // In the future, there may be a ChallengeType to call here. For now, use classic's. + case GameModes.CLASSIC: + if (currentBattle?.waveIndex <= 20) { + return trainerPartyTemplates.GYM_LEADER_1; // 1 avg 1 strong + } + else if (currentBattle?.waveIndex <= 30) { + return trainerPartyTemplates.GYM_LEADER_2; // 1 avg 1 strong 1 stronger + } + else if (currentBattle?.waveIndex <= 60) { // 50 and 60 + return trainerPartyTemplates.GYM_LEADER_3; // 2 avg 1 strong 1 stronger + } + else if (currentBattle?.waveIndex <= 80) { + return trainerPartyTemplates.GYM_LEADER_4; // 3 avg 1 strong 1 stronger + } + else if (currentBattle?.waveIndex <= 90) { + return trainerPartyTemplates.GYM_LEADER_5; // 4 avg 1 strong 1 stronger + } + // 110+ + return trainerPartyTemplates.GYM_LEADER_6; // 3 avg 2 strong 1 stronger + default: + return getWavePartyTemplate( + trainerPartyTemplates.GYM_LEADER_1, + trainerPartyTemplates.GYM_LEADER_2, + trainerPartyTemplates.GYM_LEADER_3, + trainerPartyTemplates.GYM_LEADER_4, + trainerPartyTemplates.GYM_LEADER_5, + trainerPartyTemplates.GYM_LEADER_6, + ); + } } diff --git a/src/enums/fixed-boss-waves.ts b/src/enums/fixed-boss-waves.ts new file mode 100644 index 00000000000..623d9035472 --- /dev/null +++ b/src/enums/fixed-boss-waves.ts @@ -0,0 +1,22 @@ +export enum ClassicFixedBossWaves { + TOWN_YOUNGSTER = 5, + RIVAL_1 = 8, + RIVAL_2 = 25, + EVIL_GRUNT_1 = 35, + RIVAL_3 = 55, + EVIL_GRUNT_2 = 62, + EVIL_GRUNT_3 = 64, + EVIL_ADMIN_1 = 66, + RIVAL_4 = 95, + EVIL_GRUNT_4 = 112, + EVIL_ADMIN_2 = 114, + EVIL_BOSS_1 = 115, + RIVAL_5 = 145, + EVIL_BOSS_2 = 165, + ELITE_FOUR_1 = 182, + ELITE_FOUR_2 = 184, + ELITE_FOUR_3 = 186, + ELITE_FOUR_4 = 188, + CHAMPION = 190, + RIVAL_6 = 195 +} diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index 6e1837a4749..1204877fec2 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -1,5 +1,5 @@ import type { BattlerIndex } from "#app/battle"; -import { ClassicFixedBossWaves } from "#app/battle"; +import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves"; import { BattleType } from "#enums/battle-type"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; From c7265543bdd7d5ee53af596d40ca05c36d48a931 Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Wed, 23 Apr 2025 16:15:45 -0500 Subject: [PATCH 052/102] [Balance] Update Transistor to Gen IX version (#5700) Update ability.ts --- src/data/abilities/ability.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index d8b648ebe82..b018a87a08d 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -7227,7 +7227,7 @@ export function initAbilities() { new Ability(Abilities.CURIOUS_MEDICINE, 8) .attr(PostSummonClearAllyStatStagesAbAttr), new Ability(Abilities.TRANSISTOR, 8) - .attr(MoveTypePowerBoostAbAttr, PokemonType.ELECTRIC), + .attr(MoveTypePowerBoostAbAttr, PokemonType.ELECTRIC, 1.3), new Ability(Abilities.DRAGONS_MAW, 8) .attr(MoveTypePowerBoostAbAttr, PokemonType.DRAGON), new Ability(Abilities.CHILLING_NEIGH, 8) @@ -7412,4 +7412,4 @@ export function initAbilities() { .unreplaceable() // TODO is this true? .attr(ConfusionOnStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) ); -} \ No newline at end of file +} From 5de567a3db84d791641c39ac0bbbfbb7a19320b6 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Wed, 23 Apr 2025 17:18:03 -0400 Subject: [PATCH 053/102] [Balance] Wave 90 gym leader has 5 mons (#5699) 5 mons on wave 90 --- src/data/trainers/TrainerPartyTemplate.ts | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/data/trainers/TrainerPartyTemplate.ts b/src/data/trainers/TrainerPartyTemplate.ts index e4c8ddf4c58..1952bcc179e 100644 --- a/src/data/trainers/TrainerPartyTemplate.ts +++ b/src/data/trainers/TrainerPartyTemplate.ts @@ -167,11 +167,6 @@ export const trainerPartyTemplates = { new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), ), GYM_LEADER_5: new TrainerPartyCompoundTemplate( - new TrainerPartyTemplate(4, PartyMemberStrength.AVERAGE), - new TrainerPartyTemplate(1, PartyMemberStrength.STRONG), - new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), - ), - GYM_LEADER_6: new TrainerPartyCompoundTemplate( new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG), new TrainerPartyTemplate(1, PartyMemberStrength.STRONGER), @@ -239,7 +234,7 @@ export function getEvilGruntPartyTemplate(): TrainerPartyTemplate { case ClassicFixedBossWaves.EVIL_ADMIN_1: return trainerPartyTemplates.GYM_LEADER_4; // 3avg 1 strong 1 stronger default: - return trainerPartyTemplates.GYM_LEADER_6; // 3 avg 2 strong 1 stronger + return trainerPartyTemplates.GYM_LEADER_5; // 3 avg 2 strong 1 stronger } } @@ -269,14 +264,11 @@ export function getGymLeaderPartyTemplate() { else if (currentBattle?.waveIndex <= 60) { // 50 and 60 return trainerPartyTemplates.GYM_LEADER_3; // 2 avg 1 strong 1 stronger } - else if (currentBattle?.waveIndex <= 80) { + else if (currentBattle?.waveIndex <= 90) { // 80 and 90 return trainerPartyTemplates.GYM_LEADER_4; // 3 avg 1 strong 1 stronger } - else if (currentBattle?.waveIndex <= 90) { - return trainerPartyTemplates.GYM_LEADER_5; // 4 avg 1 strong 1 stronger - } // 110+ - return trainerPartyTemplates.GYM_LEADER_6; // 3 avg 2 strong 1 stronger + return trainerPartyTemplates.GYM_LEADER_5; // 3 avg 2 strong 1 stronger default: return getWavePartyTemplate( trainerPartyTemplates.GYM_LEADER_1, @@ -284,7 +276,6 @@ export function getGymLeaderPartyTemplate() { trainerPartyTemplates.GYM_LEADER_3, trainerPartyTemplates.GYM_LEADER_4, trainerPartyTemplates.GYM_LEADER_5, - trainerPartyTemplates.GYM_LEADER_6, ); } } From 75400a39ed16e2f86e9c82b930827a3590cf6b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?In=C3=AAs=20Sim=C3=B5es?= Date: Wed, 23 Apr 2025 22:29:44 +0100 Subject: [PATCH 054/102] [Bug] [UI/UX] Status moves now play a No Effect Message Against Immune Type Pokemon (#5533) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix #5085 Moves dont play a No Effect Message Against Immune Type When using non-volatile status move like: Will-O-Wisp, Thunder Wave, Toxic, or Poison Gas against a Pokémon whose type is immune to that Status condition, no "It doesn't affect" message plays. My proposed fixes: In move.ts: Removed a redudant if statement in StatusEffectAttr class In pokemon.ts: Renamed the "messageIsImmune" function to "queueImmuneMessage" --- src/data/moves/move.ts | 9 +-------- src/field/pokemon.ts | 45 ++++++++++++++++++++++++++++++++---------- 2 files changed, 36 insertions(+), 18 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 5d57bb6dc49..903b2726676 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -2459,14 +2459,7 @@ export class StatusEffectAttr extends MoveEffectAttr { const statusCheck = moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance; if (statusCheck) { const pokemon = this.selfTarget ? user : target; - if (pokemon.status && !this.overrideStatus) { - return false; - } - - if (user !== target && target.isSafeguarded(user)) { - if (move.category === MoveCategory.STATUS) { - globalScene.queueMessage(i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(target) })); - } + if (user !== target && move.category === MoveCategory.STATUS && !target.canSetStatus(this.effect, false, false, user, true)) { return false; } if (((!pokemon.status || this.overrideStatus) || (pokemon.status.effect === this.effect && moveChance < 0)) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index d565a590792..2de8cc150c9 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -248,6 +248,7 @@ import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { SwitchType } from "#enums/switch-type"; import { SpeciesFormKey } from "#enums/species-form-key"; +import {getStatusEffectOverlapText } from "#app/data/status-effect"; import { BASE_HIDDEN_ABILITY_CHANCE, BASE_SHINY_CHANCE, @@ -5364,6 +5365,18 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); } + queueImmuneMessage(quiet: boolean, effect?: StatusEffect): void { + if (!effect || quiet) { + return; + } + const message = effect && this.status?.effect === effect + ? getStatusEffectOverlapText(effect ?? StatusEffect.NONE, getPokemonNameWithAffix(this)) + : i18next.t("abilityTriggers:moveImmunity", { + pokemonNameWithAffix: getPokemonNameWithAffix(this), + }); + globalScene.queueMessage(message); + } + /** * Checks if a status effect can be applied to the Pokemon. * @@ -5382,6 +5395,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ): boolean { if (effect !== StatusEffect.FAINT) { if (overrideStatus ? this.status?.effect === effect : this.status) { + this.queueImmuneMessage(quiet, effect); return false; } if ( @@ -5389,18 +5403,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { !ignoreField && globalScene.arena.terrain?.terrainType === TerrainType.MISTY ) { + this.queueImmuneMessage(quiet, effect); return false; } } - if ( - sourcePokemon && - sourcePokemon !== this && - this.isSafeguarded(sourcePokemon) - ) { - return false; - } - const types = this.getTypes(true, true); switch (effect) { @@ -5429,17 +5436,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } - return true; + return true; }); if (this.isOfType(PokemonType.POISON) || this.isOfType(PokemonType.STEEL)) { if (poisonImmunity.includes(true)) { + this.queueImmuneMessage(quiet, effect); return false; } } break; case StatusEffect.PARALYSIS: if (this.isOfType(PokemonType.ELECTRIC)) { + this.queueImmuneMessage(quiet, effect); return false; } break; @@ -5448,6 +5457,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.isGrounded() && globalScene.arena.terrain?.terrainType === TerrainType.ELECTRIC ) { + this.queueImmuneMessage(quiet, effect); return false; } break; @@ -5460,11 +5470,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { globalScene.arena.weather.weatherType, )) ) { + this.queueImmuneMessage(quiet, effect); return false; } break; case StatusEffect.BURN: if (this.isOfType(PokemonType.FIRE)) { + this.queueImmuneMessage(quiet, effect); return false; } break; @@ -5499,6 +5511,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } + if ( + sourcePokemon && + sourcePokemon !== this && + this.isSafeguarded(sourcePokemon) + ) { + if(!quiet){ + globalScene.queueMessage( + i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(this) + })); + } + return false; + } + return true; } @@ -5510,7 +5535,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sourceText: string | null = null, overrideStatus?: boolean ): boolean { - if (!this.canSetStatus(effect, asPhase, overrideStatus, sourcePokemon)) { + if (!this.canSetStatus(effect, false, overrideStatus, sourcePokemon)) { return false; } if (this.isFainted() && effect !== StatusEffect.FAINT) { From 6ea5b4fa9da940e31564097f849eee9eae2f5d64 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Wed, 23 Apr 2025 17:22:25 -0700 Subject: [PATCH 055/102] [Bug] Fix doubles trainers not initializing properly (#5702) * [Bug] Fix doubles trainers not initializing properly * Add missing override in Whirlwind test --- src/battle-scene.ts | 4 ++-- test/moves/whirlwind.test.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 2ff5d718ede..8fe6c85263d 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1394,9 +1394,9 @@ export default class BattleScene extends SceneBase { if (double === undefined && newWaveIndex > 1) { if (newBattleType === BattleType.WILD && !this.gameMode.isWaveFinal(newWaveIndex)) { newDouble = !randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField)); + } else if (newBattleType === BattleType.TRAINER) { + newDouble = newTrainer?.variant === TrainerVariant.DOUBLE; } - } else if (double === undefined && newBattleType === BattleType.TRAINER) { - newDouble = newTrainer?.variant === TrainerVariant.DOUBLE; } else if (!battleConfig) { newDouble = !!double; } diff --git a/test/moves/whirlwind.test.ts b/test/moves/whirlwind.test.ts index b0ca1783f2f..6b5133ec7b1 100644 --- a/test/moves/whirlwind.test.ts +++ b/test/moves/whirlwind.test.ts @@ -163,6 +163,7 @@ describe("Moves - Whirlwind", () => { it("should not pull in the other trainer's pokemon in a partner trainer battle", async () => { game.override + .startingWave(2) .battleType(BattleType.TRAINER) .randomTrainer({ trainerType: TrainerType.BREEDER, From 793d89fa2491ee4c734983b2b91b445c35777350 Mon Sep 17 00:00:00 2001 From: damocleas Date: Thu, 24 Apr 2025 16:04:17 -0400 Subject: [PATCH 056/102] [i18n] Update locales submodule Update locales submodule --- public/locales | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales b/public/locales index e98f0eb9c20..18c1963ef30 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit e98f0eb9c2022bc78b53f0444424c636498e725a +Subproject commit 18c1963ef309612a5a7fef76f9879709a7202189 From 6dc2a7fddc523b73bdb1af6c38be2ded47f1f689 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 24 Apr 2025 15:30:00 -0500 Subject: [PATCH 057/102] [Dev] Update phaser to 3.88 and fix graphical bug (#5704) --- package-lock.json | 18 +++++++++--------- package.json | 4 ++-- src/main.ts | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 622eac908de..07fed79969e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,8 +18,8 @@ "i18next-korean-postposition-processor": "^1.0.0", "json-stable-stringify": "^1.2.0", "jszip": "^3.10.1", - "phaser": "^3.70.0", - "phaser3-rex-plugins": "^1.80.14" + "phaser": "^3.88.2", + "phaser3-rex-plugins": "^1.80.15" }, "devDependencies": { "@biomejs/biome": "1.9.4", @@ -48,7 +48,7 @@ "vitest-canvas-mock": "^0.3.3" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" } }, "node_modules/@ampproject/remapping": { @@ -6227,18 +6227,18 @@ } }, "node_modules/phaser": { - "version": "3.80.1", - "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.80.1.tgz", - "integrity": "sha512-VQGAWoDOkEpAWYkI+PUADv5Ql+SM0xpLuAMBJHz9tBcOLqjJ2wd8bUhxJgOqclQlLTg97NmMd9MhS75w16x1Cw==", + "version": "3.88.2", + "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.88.2.tgz", + "integrity": "sha512-UBgd2sAFuRJbF2xKaQ5jpMWB8oETncChLnymLGHcrnT53vaqiGrQWbUKUDBawKLm24sghjKo4Bf+/xfv8espZQ==", "license": "MIT", "dependencies": { "eventemitter3": "^5.0.1" } }, "node_modules/phaser3-rex-plugins": { - "version": "1.80.14", - "resolved": "https://registry.npmjs.org/phaser3-rex-plugins/-/phaser3-rex-plugins-1.80.14.tgz", - "integrity": "sha512-eHi3VgryO9umNu6D1yQU5IS6tH4TyC2Y6RgJ495nNp37X2fdYnmYpBfgFg+YaumvtaoOvCkUVyi/YqWNPf2X2A==", + "version": "1.80.15", + "resolved": "https://registry.npmjs.org/phaser3-rex-plugins/-/phaser3-rex-plugins-1.80.15.tgz", + "integrity": "sha512-Ur973N1W5st6XEYBcJko8eTcEbdDHMM+m7VqvT3j/EJeJwYyJ3bVb33JJDsFgefk3A2iAz2itP/UY7CzxJOJVA==", "license": "MIT", "dependencies": { "dagre": "^0.8.5", diff --git a/package.json b/package.json index ffe4c06bea0..4758e6c5182 100644 --- a/package.json +++ b/package.json @@ -63,8 +63,8 @@ "i18next-korean-postposition-processor": "^1.0.0", "json-stable-stringify": "^1.2.0", "jszip": "^3.10.1", - "phaser": "^3.70.0", - "phaser3-rex-plugins": "^1.80.14" + "phaser": "^3.88.2", + "phaser3-rex-plugins": "^1.80.15" }, "engines": { "node": ">=22.0.0" diff --git a/src/main.ts b/src/main.ts index 3d3965cad08..7db663d14c7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -93,7 +93,7 @@ const startGame = async (manifest?: any) => { dom: { createContainer: true, }, - pixelArt: true, + antialias: false, pipeline: [InvertPostFX] as unknown as Phaser.Types.Core.PipelineConfig, scene: [LoadingScene, BattleScene], version: version, From 30e74eaaa8e6faa64e85023205849aae9a9b42dd Mon Sep 17 00:00:00 2001 From: zaccie Date: Sat, 26 Apr 2025 08:33:59 +1200 Subject: [PATCH 058/102] [Bug] Fix boss level location (#5688) --- src/ui/battle-info.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 4f9e59c8c89..99a91a9330e 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -557,11 +557,11 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.ownedIcon, this.championRibbon, this.statusIndicator, - this.levelContainer, this.statValuesContainer, ].map(e => (e.x += 48 * (boss ? -1 : 1))); this.hpBar.x += 38 * (boss ? -1 : 1); this.hpBar.y += 2 * (this.boss ? -1 : 1); + this.levelContainer.x += 2 * (boss ? -1 : 1); this.hpBar.setTexture(`overlay_hp${boss ? "_boss" : ""}`); this.box.setTexture(this.getTextureName()); this.statsBox.setTexture(`${this.getTextureName()}_stats`); From 38d75897bb000343d9285f342507fb24cbbabac3 Mon Sep 17 00:00:00 2001 From: Xavion3 Date: Sat, 26 Apr 2025 11:28:52 +1000 Subject: [PATCH 059/102] [Balance] Remove Dynamax Cannon being a discouraged move for AI (#5708) Remove dynamax cannon from being discouraged on Eternatus Phase 2 --- src/data/moves/move.ts | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 903b2726676..bc047762fb6 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -7665,20 +7665,6 @@ export class AverageStatsAttr extends MoveEffectAttr { } } -export class DiscourageFrequentUseAttr extends MoveAttr { - getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { - const lastMoves = user.getLastXMoves(4); - console.log(lastMoves); - for (let m = 0; m < lastMoves.length; m++) { - if (lastMoves[m].move === move.id) { - return (4 - (m + 1)) * -10; - } - } - - return 0; - } -} - export class MoneyAttr extends MoveEffectAttr { constructor() { super(true, {firstHitOnly: true }); @@ -10517,8 +10503,7 @@ export function initMoves() { } else { return 1; } - }) - .attr(DiscourageFrequentUseAttr), + }), new AttackMove(Moves.SNIPE_SHOT, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, -1, 0, 8) .attr(HighCritAttr) From 42f291eab3d35475a25c9b4eb32e019eef57e69f Mon Sep 17 00:00:00 2001 From: AndrewErting <55897803+AndrewErting@users.noreply.github.com> Date: Fri, 25 Apr 2025 18:34:57 -0700 Subject: [PATCH 060/102] [Bug] [UI/UX] Make `,` `.` `/` and `\` Bindable Keys (#5707) Added , . / and \ to the key atlas, json mapping, and cfg_keyboard_qwerty.ts --- public/images/inputs/keyboard.json | 30 +++++++++++++++++++- public/images/inputs/keyboard.png | Bin 1282 -> 1641 bytes src/configs/inputs/cfg_keyboard_qwerty.ts | 32 +++++++++++++++++----- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/public/images/inputs/keyboard.json b/public/images/inputs/keyboard.json index c9b3c79fbfb..1e8e415b72f 100644 --- a/public/images/inputs/keyboard.json +++ b/public/images/inputs/keyboard.json @@ -516,8 +516,36 @@ "trimmed": true, "spriteSourceSize": { "x": 0, "y": 0, "w": 28, "h": 11 }, "sourceSize": { "w": 28, "h": 11 } + }, + "BACK_SLASH.png": { + "frame": { "x": 147, "y": 66, "w": 12, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 12, "h": 11 }, + "sourceSize": { "w": 12, "h": 11 } + }, + "FORWARD_SLASH.png": { + "frame": { "x": 144, "y": 55, "w": 12, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 12, "h": 11 }, + "sourceSize": { "w": 12, "h": 11 } + }, + "COMMA.png": { + "frame": { "x": 144, "y": 44, "w": 12, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 12, "h": 11 }, + "sourceSize": { "w": 12, "h": 11 } + }, + "PERIOD.png": { + "frame": { "x": 143, "y": 22, "w": 11, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 11, "h": 11 }, + "sourceSize": { "w": 11, "h": 11 } } - }, + }, "meta": { "app": "https://www.aseprite.org/", "version": "1.3.7-dev", diff --git a/public/images/inputs/keyboard.png b/public/images/inputs/keyboard.png index e4d849be0fb26b2ba1a8e790abee68e9bbedadbe..0c33e5790069e7caad424933bdbf831f3d673246 100644 GIT binary patch literal 1641 zcmV-v2A27WP)002!01^@s6Ar)_N000IsNkl<949&yl1|Iy5~c>70AdQK`D_fbdLne1hU?bpvg+sl7HXV2x%;fy~sHuUrE?Wdp4zkm8-ZCl5-Tr={` z$mP!Aj6WkbT!6Q#-JHLD|M7oA|L(nh|NAY^DBq(W+b1Sh=5Hj&{aAXhG4qAad(V!! z7D&#$*l+=Uc>ia2fR7d4Dw4fUK2GSCYcC&qQF@ac$%Xve$~($2x~Y178O2BEy_HWf zKdrgB#SRx>uj5PsK2Abw(7hG4l@nP3kzB~?-pY&QczkUX8z~ZWl^U&pk@@M3QC5Je z74Xq!`&@wDb&(bD{`I|F>?$-`0Y~G>u7JJx?5d6QJ^Iej>Niz@n-g;9FrU+U1$dv2 zecN^9ihR~Vav;fy~cHeG--+WnxP zA(uOcGrl`ET!5RyZ8>(gTL+&dmpg|uzB@KmfYqw08%0A_#XKv=Q^iumSs_LU!#Pl# z8uP3iPZdiMXN4FvhRdS3)-F4OsP;BrTZ395UIzKKwndcauonZ_!eZw}g5g>l(ah#B zgLy`KNqf{F8jnF}>^QS{F^VapXi$Y0dt5t2K_Uf+tbiHh7R73rc)f8dkl&~fGiZ!0 z!0fd{5TAVo>Q^iumSs?~ZL0l+Kjd@m%r;4SBvqB8I03A3+ zjd@m%r;4SBvqB7-f)qBYb|{8ZV3#xb&-T5t5416z#V%*`pY3~PpCO)OFj7Pn#-by1 z8-&e2Qk*db$f)6>sLko)=-X(%B$^OZwS{1)(a!y-FOmGc+@t+O2AiRRtlmbm%SV9$ zd-JzffZe@8Mis|ms3`yJ$qXZ^G~_~|niMo|7PXztM^=F73K+#U2!29P9h*Pu8^u)_ zWarG|@)?mQi7F1kM=ZAK54PK9lb@Sp8_WuGA( z$zqqY`p@>gvQM`Fv)JXV{irH$ev_Kdp6mn4|Gfly0nGpHb^M;w$Xa1*pJZt6-?n z9j>-_UvO7{BK>d8k7WhS;4cP4x$zM45X;sDci1Bjjhq=@(VtKOs!|7YCx1zD? zI3zxzzGD=2k@%VMD*7M#7JNmdRQ4YGZ~#P4rX~o26`X3oD+aG4Uy^ZRYiqJXU2x_F%akEiW z?}9K&HAEQ0^q+~(_Qyp^TB<*Ud^oQ!h3XV2%3Xj_X&`$+9Ox?Zpv=q@P@^bKG2V0m zI#E<>l1C^FJ?|{qfA%~zmpy~VSk>YTv`34RvM36f;E{3)QL05ySLVT#>i#ef%0&B* z7GM@NMo=9r&n&c5_J^XnLQ7?TD5@*8RQ89Wy23}*4o7u`j>`Tp)m)*YvR@9xIaO6| z)aO>Iu_$iFe6FUNOQATHBt+5ISygJIo&MP>wJ2Gdf#M+1(vd1MS3x;hZR8L{=lskl zK(;@<`Jqr8gI*XE7e!?*v^E1JUIlH^Bt)UAV(eLT6j716Rc-7Ubnf|dqD{5Ru25Xr z7m6$ULUD!S%DzxswL)=)jzsp)WQ)#$1j`jV(w&EPcH6zZzKk7&9!VZ%xq1Pzs41%A z$~@4K!HC(ok(+>dn5VJ;N7qiOiet_?8y)?nP^~d&Dr?VRtk%5j6-wkxHdTL_m??$a zY!rkPRK`A|LSs?lS!^Q;K_+GtyB3NQpNDpK+sB(QYX@PuLPxsu(4Ns&ZTAYx6*|(L nhxUxNYP(lhuJBN`BeC2+T!Qh!VedA{00000NkvXXu0mjfDQqXi literal 1282 zcmV+d1^xPoP)Px#7*I@9MF0Q*4htw67ceI!J|iGPGB8FzJ7v<|<$92jQ2+n{2y{|TQvm<}|NsC0 z|JBM=G5`Psgh@m}RA_4wZ(|CNP>|1;=s10KEPT1 zbW-WL2M>99*K|5^IldqDK4SgsdY%aJpAv0>%n#+U>izUA(&3bneUz0=S^K`Sr`})* z@@;X5FS$fHus<}JNSp;%BhRTDxh#8IyOH`!5x2EH9wEGrc3Ua9tt4)Xx57DCMB2(q zgoVQQ*0v{gk8ewd#CHV;cn5AU-&=5wDl5I*AE|Aa-{3KgJxgtw+?;?3t&!y3keddm!JV2|l3}>ZBUZ)e-sDADd|L`T zk~c~tCXG$&WdWpmS^DW1N$R$;L`VmY*2)bgds`|E6+s-2SUq7`6fA%V)UNedp(b`J zVo5~;ij+{xI{d|jkH>^T%}PeO6t*Vs!^dO7pk^hbTnbxRZuj??FsNC{D3`+4XPvrq-@oObxpPh{3s@m07X$?1Sz)~4CfI&w=9 z@fvQO3^>y#6w(n=bCY1x-rsv!S(TN!MI$KGWW!Iu{S=}aI>U~CTap90gQ6y2T)L7X z3PVA}akwlokysAYxWy6=G=23bL8{m%53y}Ib7CfEpGGQz{UEME#NbOi)ZXbOgRIP6{9ay= z<%|%rwO`sapc@80(i%0CwgU_)5K97OqK6oU2o`=dH zcWL57FGRC@2eZvMkGEU>#>9Y;do+EenZqUV^ebkaQj9A7KMv>OW!(q(1owc#wbx zb(>HJklai|P}=L07n9(_ImIR6)Xf=MKT zQZ(Hle8Mv?CLn01gq=MA(TPp4mponM2y%?WC$a@_0uBP8qI1HsayDfh8Fr#Un}1WH zffK@N4rmA;IiUbd1eAPeAgtQUJ3BJ~TFd!^&mH>@K6ln*@R=}IX*~g-`{vQG!15*^ z{67HX>(UnRp>Y$BL$O?!g$Z}+R+gD?#I)0Ma)!^s@K-{ZOjgZ8ERBA&EQCgmfg@O@ zRZ%y5f_GY$0ZSd8ya|V58(5Nh0jb}XmkVNP^k;D3Qk1Qxnk?WmYU0r-ma={vAotDv sb)oePeCABBo`KJt3DzgV=XLPsA7BZsSvU_`Q~&?~07*qoM6N<$f_(8;_W%F@ diff --git a/src/configs/inputs/cfg_keyboard_qwerty.ts b/src/configs/inputs/cfg_keyboard_qwerty.ts index 2ad04ab418d..4f0353971e0 100644 --- a/src/configs/inputs/cfg_keyboard_qwerty.ts +++ b/src/configs/inputs/cfg_keyboard_qwerty.ts @@ -31,6 +31,7 @@ const cfg_keyboard_qwerty = { KEY_X: Phaser.Input.Keyboard.KeyCodes.X, KEY_Y: Phaser.Input.Keyboard.KeyCodes.Y, KEY_Z: Phaser.Input.Keyboard.KeyCodes.Z, + KEY_0: Phaser.Input.Keyboard.KeyCodes.ZERO, KEY_1: Phaser.Input.Keyboard.KeyCodes.ONE, KEY_2: Phaser.Input.Keyboard.KeyCodes.TWO, @@ -41,11 +42,7 @@ const cfg_keyboard_qwerty = { KEY_7: Phaser.Input.Keyboard.KeyCodes.SEVEN, KEY_8: Phaser.Input.Keyboard.KeyCodes.EIGHT, KEY_9: Phaser.Input.Keyboard.KeyCodes.NINE, - KEY_CTRL: Phaser.Input.Keyboard.KeyCodes.CTRL, - KEY_DEL: Phaser.Input.Keyboard.KeyCodes.DELETE, - KEY_END: Phaser.Input.Keyboard.KeyCodes.END, - KEY_ENTER: Phaser.Input.Keyboard.KeyCodes.ENTER, - KEY_ESC: Phaser.Input.Keyboard.KeyCodes.ESC, + KEY_F1: Phaser.Input.Keyboard.KeyCodes.F1, KEY_F2: Phaser.Input.Keyboard.KeyCodes.F2, KEY_F3: Phaser.Input.Keyboard.KeyCodes.F3, @@ -58,24 +55,41 @@ const cfg_keyboard_qwerty = { KEY_F10: Phaser.Input.Keyboard.KeyCodes.F10, KEY_F11: Phaser.Input.Keyboard.KeyCodes.F11, KEY_F12: Phaser.Input.Keyboard.KeyCodes.F12, - KEY_HOME: Phaser.Input.Keyboard.KeyCodes.HOME, - KEY_INSERT: Phaser.Input.Keyboard.KeyCodes.INSERT, + KEY_PAGE_DOWN: Phaser.Input.Keyboard.KeyCodes.PAGE_DOWN, KEY_PAGE_UP: Phaser.Input.Keyboard.KeyCodes.PAGE_UP, + + KEY_CTRL: Phaser.Input.Keyboard.KeyCodes.CTRL, + KEY_DEL: Phaser.Input.Keyboard.KeyCodes.DELETE, + KEY_END: Phaser.Input.Keyboard.KeyCodes.END, + KEY_ENTER: Phaser.Input.Keyboard.KeyCodes.ENTER, + KEY_ESC: Phaser.Input.Keyboard.KeyCodes.ESC, + KEY_HOME: Phaser.Input.Keyboard.KeyCodes.HOME, + KEY_INSERT: Phaser.Input.Keyboard.KeyCodes.INSERT, + KEY_PLUS: Phaser.Input.Keyboard.KeyCodes.NUMPAD_ADD, // Assuming numpad plus KEY_MINUS: Phaser.Input.Keyboard.KeyCodes.NUMPAD_SUBTRACT, // Assuming numpad minus KEY_QUOTATION: Phaser.Input.Keyboard.KeyCodes.QUOTES, KEY_SHIFT: Phaser.Input.Keyboard.KeyCodes.SHIFT, + KEY_SPACE: Phaser.Input.Keyboard.KeyCodes.SPACE, KEY_TAB: Phaser.Input.Keyboard.KeyCodes.TAB, KEY_TILDE: Phaser.Input.Keyboard.KeyCodes.BACKTICK, + KEY_ARROW_UP: Phaser.Input.Keyboard.KeyCodes.UP, KEY_ARROW_DOWN: Phaser.Input.Keyboard.KeyCodes.DOWN, KEY_ARROW_LEFT: Phaser.Input.Keyboard.KeyCodes.LEFT, KEY_ARROW_RIGHT: Phaser.Input.Keyboard.KeyCodes.RIGHT, + KEY_LEFT_BRACKET: Phaser.Input.Keyboard.KeyCodes.OPEN_BRACKET, KEY_RIGHT_BRACKET: Phaser.Input.Keyboard.KeyCodes.CLOSED_BRACKET, + KEY_SEMICOLON: Phaser.Input.Keyboard.KeyCodes.SEMICOLON, + KEY_COMMA: Phaser.Input.Keyboard.KeyCodes.COMMA, + KEY_PERIOD: Phaser.Input.Keyboard.KeyCodes.PERIOD, + KEY_BACK_SLASH: Phaser.Input.Keyboard.KeyCodes.BACK_SLASH, + KEY_FORWARD_SLASH: Phaser.Input.Keyboard.KeyCodes.FORWARD_SLASH, + KEY_BACKSPACE: Phaser.Input.Keyboard.KeyCodes.BACKSPACE, KEY_ALT: Phaser.Input.Keyboard.KeyCodes.ALT, }, @@ -160,6 +174,10 @@ const cfg_keyboard_qwerty = { KEY_RIGHT_BRACKET: "RIGHT_BRACKET.png", KEY_SEMICOLON: "SEMICOLON.png", + KEY_COMMA: "COMMA.png", + KEY_PERIOD: "PERIOD.png", + KEY_BACK_SLASH: "BACK_SLASH.png", + KEY_FORWARD_SLASH: "FORWARD_SLASH.png", KEY_BACKSPACE: "BACK.png", KEY_ALT: "ALT.png", From a288de700d083ab1c3ac17df9a2f8776c14a1234 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 26 Apr 2025 00:14:08 -0500 Subject: [PATCH 061/102] [Docs][Dev] Update linting docs (#5709) --- docs/linting.md | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/docs/linting.md b/docs/linting.md index 39b30b7a1c0..ff512740a80 100644 --- a/docs/linting.md +++ b/docs/linting.md @@ -1,40 +1,34 @@ -# ESLint +# Biome + ## Key Features 1. **Automation**: - - A pre-commit hook has been added to automatically run ESLint on the added or modified files, ensuring code quality before commits. + - A pre-commit hook has been added to automatically run Biome on the added or modified files, ensuring code quality before commits. 2. **Manual Usage**: - - If you prefer not to use the pre-commit hook, you can manually run ESLint to automatically fix issues using the command: + - If you prefer not to use the pre-commit hook, you can manually run biome to automatically fix issues using the command: + ```sh - npx eslint --fix . or npm run eslint + npx @biomejs/biome --write ``` + - Running this command will lint all files in the repository. 3. **GitHub Action**: - - A GitHub Action has been added to automatically run ESLint on every push and pull request, ensuring code quality in the CI/CD pipeline. + - A GitHub Action has been added to automatically run Biome on every push and pull request, ensuring code quality in the CI/CD pipeline. -## Summary of ESLint Rules +If you are getting linting errors from biome and want to see which files they are coming from, you can find that out by running biome in a way that is configured to only show the errors for that specific rule: ``npx @biomejs/biome lint --only=category/ruleName`` -1. **General Rules**: - - **Equality**: Use `===` and `!==` instead of `==` and `!=` (`eqeqeq`). - - **Indentation**: Enforce 2-space indentation (`indent`). - - **Quotes**: Use doublequotes for strings (`quotes`). - - **Variable Declarations**: - - Disallow `var`; use `let` or `const` (`no-var`). - - Prefer `const` for variables that are never reassigned (`prefer-const`). - - **Unused Variables**: Allow unused function parameters but enforce error for other unused variables (`@typescript-eslint/no-unused-vars`). - - **End of Line**: Ensure at least one newline at the end of files (`eol-last`). - - **Curly Braces**: Enforce the use of curly braces for all control statements (`curly`). - - **Brace Style**: Use one true brace style (`1tbs`) for TypeScript-specific syntax (`@typescript-eslint/brace-style`). +## Summary of Biome Rules -2. **TypeScript-Specific Rules**: - - **Semicolons**: - - Enforce semicolons for TypeScript-specific syntax (`@typescript-eslint/semi`). - - Disallow unnecessary semicolons (`@typescript-eslint/no-extra-semi`). +We use the [recommended ruleset](https://biomejs.dev/linter/rules/) for Biome, with some customizations to better suit our project's needs. -## Benefits +For a complete list of rules and their configurations, refer to the `biome.jsonc` file in the project root. -- **Consistency**: Ensures consistent coding style across the project. -- **Code Quality**: Helps catch potential errors and improve overall code quality. -- **Readability**: Makes the codebase easier to read and maintain. \ No newline at end of file +Some things to consider: + +- We have disabled rules that prioritize style over performance, such as `useTemplate` +- Some rules are currently marked as warnings (`warn`) to allow for gradual refactoring without blocking development. Do not write new code that triggers these warnings. +- The linter is configured to ignore specific files and folders, such as large or complex files that are pending refactors, to improve performance and focus on actionable areas. + +Formatting is also handled by Biome. You should not have to worry about manually formatting your code. From 0a48726e70469ecf091aaa0be29a705e42601f17 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Sat, 26 Apr 2025 07:24:11 +0200 Subject: [PATCH 062/102] =?UTF-8?q?[UI/UX]=20Move=20Pok=C3=A9mon=20sprite?= =?UTF-8?q?=20below=20name=20and=20other=20text=20in=20dex=20pages=20(#569?= =?UTF-8?q?8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moved sprite below name --- src/ui/pokedex-page-ui-handler.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index d0b85544494..4888e14b24f 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -292,6 +292,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { starterSelectBg.setOrigin(0, 0); this.starterSelectContainer.add(starterSelectBg); + this.pokemonSprite = globalScene.add.sprite(53, 63, "pkmn__sub"); + this.pokemonSprite.setPipeline(globalScene.spritePipeline, { + tone: [0.0, 0.0, 0.0, 0.0], + ignoreTimeTint: true, + }); + this.starterSelectContainer.add(this.pokemonSprite); + this.shinyOverlay = globalScene.add.image(6, 6, "summary_overlay_shiny"); this.shinyOverlay.setOrigin(0, 0); this.shinyOverlay.setVisible(false); @@ -343,13 +350,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.starterSelectContainer.add(starterBoxContainer); - this.pokemonSprite = globalScene.add.sprite(53, 63, "pkmn__sub"); - this.pokemonSprite.setPipeline(globalScene.spritePipeline, { - tone: [0.0, 0.0, 0.0, 0.0], - ignoreTimeTint: true, - }); - this.starterSelectContainer.add(this.pokemonSprite); - this.type1Icon = globalScene.add.sprite(8, 98, getLocalizedSpriteKey("types")); this.type1Icon.setScale(0.5); this.type1Icon.setOrigin(0, 0); From a036f865f05822576652d624dd6f0ea7cc12b4a9 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 26 Apr 2025 01:17:42 -0500 Subject: [PATCH 063/102] [Bug] Fix improper critical hit key in move effect phase (#5713) --- src/phases/move-effect-phase.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 01085834ba5..4b4e62db71b 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -859,7 +859,7 @@ export class MoveEffectPhase extends PokemonPhase { }); if (isCritical) { - globalScene.queueMessage(i18next.t("battle:criticalHit")); + globalScene.queueMessage(i18next.t("battle:hitResultCriticalHit")); } if (damage <= 0) { From 423bab1057945e10f1871a3fa9d6907ecbb8e0b7 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Sat, 26 Apr 2025 19:17:54 +0200 Subject: [PATCH 064/102] =?UTF-8?q?[UI/UX]=20Move=20Pok=C3=A9mon=20sprite?= =?UTF-8?q?=20below=20name=20and=20other=20text=20in=20starter=20select=20?= =?UTF-8?q?(#5714)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moving the sprite down --- src/ui/starter-select-ui-handler.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 1902c691715..7c345f1735e 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -596,6 +596,13 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.iconAnimHandler = new PokemonIconAnimHandler(); this.iconAnimHandler.setup(); + this.pokemonSprite = globalScene.add.sprite(53, 63, "pkmn__sub"); + this.pokemonSprite.setPipeline(globalScene.spritePipeline, { + tone: [0.0, 0.0, 0.0, 0.0], + ignoreTimeTint: true, + }); + this.starterSelectContainer.add(this.pokemonSprite); + this.pokemonNumberText = addTextObject(17, 1, "0000", TextStyle.SUMMARY); this.pokemonNumberText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonNumberText); @@ -825,13 +832,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return icon; }); - this.pokemonSprite = globalScene.add.sprite(53, 63, "pkmn__sub"); - this.pokemonSprite.setPipeline(globalScene.spritePipeline, { - tone: [0.0, 0.0, 0.0, 0.0], - ignoreTimeTint: true, - }); - this.starterSelectContainer.add(this.pokemonSprite); - this.type1Icon = globalScene.add.sprite(8, 98, getLocalizedSpriteKey("types")); this.type1Icon.setScale(0.5); this.type1Icon.setOrigin(0, 0); From ab7d010a17f46bab0a0c9d72ce4d29fdaf8752ef Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Sat, 26 Apr 2025 13:32:49 -0700 Subject: [PATCH 065/102] [Bug] Fix message for `StatusEffectImmunityAbAttr` (#5701) Use class var for getTriggerMessage --- src/data/abilities/ability.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index b018a87a08d..9a6094f4649 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -3172,6 +3172,7 @@ export class PreSetStatusAbAttr extends AbAttr { */ export class PreSetStatusEffectImmunityAbAttr extends PreSetStatusAbAttr { protected immuneEffects: StatusEffect[]; + private lastEffect: StatusEffect; /** * @param immuneEffects - The status effects to which the Pokémon is immune. @@ -3197,6 +3198,7 @@ export class PreSetStatusEffectImmunityAbAttr extends PreSetStatusAbAttr { */ override applyPreSetStatus(pokemon: Pokemon, passive: boolean, simulated: boolean, effect: StatusEffect, cancelled: BooleanHolder, args: any[]): void { cancelled.value = true; + this.lastEffect = effect; } getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string { @@ -3204,7 +3206,7 @@ export class PreSetStatusEffectImmunityAbAttr extends PreSetStatusAbAttr { i18next.t("abilityTriggers:statusEffectImmunityWithName", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName, - statusEffectName: getStatusEffectDescriptor(args[0] as StatusEffect) + statusEffectName: getStatusEffectDescriptor(this.lastEffect) }) : i18next.t("abilityTriggers:statusEffectImmunity", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), From 6460d46a5d01bf48df82af5c4f5e8fa29d60b57d Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sat, 26 Apr 2025 15:01:46 -0700 Subject: [PATCH 066/102] [Bug] API / Save data hotfix (#5716) * Loading data now checks statusCode not error string * Bump version to 1.8.5 --------- Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> --- package.json | 2 +- src/plugins/api/pokerogue-system-savedata-api.ts | 9 ++++++--- src/system/game-data.ts | 16 ++++++++++------ 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 4758e6c5182..341bca80c2e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "pokemon-rogue-battle", "private": true, - "version": "1.8.4", + "version": "1.8.5", "type": "module", "scripts": { "start": "vite", diff --git a/src/plugins/api/pokerogue-system-savedata-api.ts b/src/plugins/api/pokerogue-system-savedata-api.ts index 659584776c4..d6fbb39ae0a 100644 --- a/src/plugins/api/pokerogue-system-savedata-api.ts +++ b/src/plugins/api/pokerogue-system-savedata-api.ts @@ -15,14 +15,17 @@ export class PokerogueSystemSavedataApi extends ApiBase { /** * Get a system savedata. * @param params The {@linkcode GetSystemSavedataRequest} to send - * @returns The system savedata as `string` or `null` on error + * @returns The system savedata as `string` or either the status code or `null` on error */ - public async get(params: GetSystemSavedataRequest) { + public async get(params: GetSystemSavedataRequest): Promise { try { const urlSearchParams = this.toUrlSearchParams(params); const response = await this.doGet(`/savedata/system/get?${urlSearchParams}`); const rawSavedata = await response.text(); - + if (!response.ok) { + console.warn("Could not get system savedata!", response.status, rawSavedata); + return response.status; + } return rawSavedata; } catch (err) { console.warn("Could not get system savedata!", err); diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 8b7987556ee..8573c774054 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -462,8 +462,13 @@ export class GameData { if (!bypassLogin) { pokerogueApi.savedata.system.get({ clientSessionId }).then(saveDataOrErr => { - if (!saveDataOrErr || saveDataOrErr.length === 0 || saveDataOrErr[0] !== "{") { - if (saveDataOrErr?.startsWith("sql: no rows in result set")) { + if ( + typeof saveDataOrErr === "number" || + !saveDataOrErr || + saveDataOrErr.length === 0 || + saveDataOrErr[0] !== "{" + ) { + if (saveDataOrErr === 404) { globalScene.queueMessage( "Save data could not be found. If this is a new account, you can safely ignore this message.", null, @@ -471,7 +476,7 @@ export class GameData { ); return resolve(true); } - if (saveDataOrErr?.includes("Too many connections")) { + if (typeof saveDataOrErr === "string" && saveDataOrErr?.includes("Too many connections")) { globalScene.queueMessage( "Too many people are trying to connect and the server is overloaded. Please try again later.", null, @@ -479,7 +484,6 @@ export class GameData { ); return resolve(false); } - console.error(saveDataOrErr); return resolve(false); } @@ -1500,7 +1504,7 @@ export class GameData { link.remove(); }; if (!bypassLogin && dataType < GameDataType.SETTINGS) { - let promise: Promise = Promise.resolve(null); + let promise: Promise = Promise.resolve(null); if (dataType === GameDataType.SYSTEM) { promise = pokerogueApi.savedata.system.get({ clientSessionId }); @@ -1512,7 +1516,7 @@ export class GameData { } promise.then(response => { - if (!response?.length || response[0] !== "{") { + if (typeof response === "number" || !response?.length || response[0] !== "{") { console.error(response); resolve(false); return; From 89a9d55d3c4cd540f8a80aca8e72c541f62ad23d Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sat, 26 Apr 2025 23:22:56 -0700 Subject: [PATCH 067/102] [Dev] Add enemy pokemon level to encounter logging (#5718) --- .../mystery-encounters/utils/encounter-phase-utils.ts | 1 + src/phases/encounter-phase.ts | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 65051b937f8..67904fc856c 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -424,6 +424,7 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): console.log( `Pokemon: ${getPokemonNameWithAffix(enemyPokemon)}`, `| Species ID: ${enemyPokemon.species.speciesId}`, + `| Level: ${enemyPokemon.level}`, `| Nature: ${getNatureName(enemyPokemon.nature, true, true, true)}`, ); console.log(`Stats (IVs): ${stats}`); diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 6fd11c416a2..20ed69119f9 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -2,7 +2,12 @@ import { BattlerIndex } from "#app/battle"; import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; -import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/abilities/ability"; +import { + applyAbAttrs, + SyncEncounterNatureAbAttr, + applyPreSummonAbAttrs, + PreSummonAbAttr, +} from "#app/data/abilities/ability"; import { initEncounterAnims, loadEncounterAnimAssets } from "#app/data/battle-anims"; import { getCharVariantFromDialogue } from "#app/data/dialogue"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; @@ -196,6 +201,7 @@ export class EncounterPhase extends BattlePhase { console.log( `Pokemon: ${getPokemonNameWithAffix(enemyPokemon)}`, `| Species ID: ${enemyPokemon.species.speciesId}`, + `| Level: ${enemyPokemon.level}`, `| Nature: ${getNatureName(enemyPokemon.nature, true, true, true)}`, ); console.log(`Stats (IVs): ${stats}`); From a7479c8eb68d64080f5e4dd3e4bed1bc9fd6fc92 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sun, 27 Apr 2025 12:27:34 -0700 Subject: [PATCH 068/102] [Balance] Trainer pokemon now have minimum IVs of `wave/10` (#5719) --- src/field/pokemon.ts | 19 ++++++++++++------- test/field/pokemon.test.ts | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 2de8cc150c9..f6810ad38e1 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -12,7 +12,6 @@ import BattleInfo, { import type Move from "#app/data/moves/move"; import { HighCritAttr, - StatChangeBeforeDmgCalcAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, @@ -70,10 +69,8 @@ import { EFFECTIVE_STATS, } from "#enums/stat"; import { - DamageMoneyRewardModifier, EnemyDamageBoosterModifier, EnemyDamageReducerModifier, - EnemyEndureChanceModifier, EnemyFusionChanceModifier, HiddenAbilityRateBoosterModifier, BaseStatModifier, @@ -119,7 +116,6 @@ import { TypeImmuneTag, getBattlerTag, SemiInvulnerableTag, - TypeBoostTag, MoveRestrictionBattlerTag, ExposedTag, DragonCheerTag, @@ -188,7 +184,7 @@ import { PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr, applyAllyStatMultiplierAbAttrs, AllyStatMultiplierAbAttr, - MoveAbilityBypassAbAttr + MoveAbilityBypassAbAttr, } from "#app/data/abilities/ability"; import { allAbilities } from "#app/data/data-lists"; import type PokemonData from "#app/system/pokemon-data"; @@ -202,7 +198,7 @@ import { EVOLVE_MOVE, RELEARN_MOVE, } from "#app/data/balance/pokemon-level-moves"; -import { DamageAchv, achvs } from "#app/system/achv"; +import { achvs } from "#app/system/achv"; import type { StarterDataEntry, StarterMoveset } from "#app/system/game-data"; import { DexAttr } from "#app/system/game-data"; import { @@ -248,7 +244,7 @@ import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { SwitchType } from "#enums/switch-type"; import { SpeciesFormKey } from "#enums/species-form-key"; -import {getStatusEffectOverlapText } from "#app/data/status-effect"; +import { getStatusEffectOverlapText } from "#app/data/status-effect"; import { BASE_HIDDEN_ABILITY_CHANCE, BASE_SHINY_CHANCE, @@ -7030,6 +7026,15 @@ export class EnemyPokemon extends Pokemon { } speciesId = prevolution; } + + if (this.hasTrainer() && globalScene.currentBattle) { + const { waveIndex } = globalScene.currentBattle; + const ivs: number[] = []; + while (ivs.length < 6) { + ivs.push(this.randSeedIntRange(Math.floor(waveIndex / 10), 31)); + } + this.ivs = ivs; + } } this.aiType = diff --git a/test/field/pokemon.test.ts b/test/field/pokemon.test.ts index 85128a31f7f..f763ab2c401 100644 --- a/test/field/pokemon.test.ts +++ b/test/field/pokemon.test.ts @@ -209,4 +209,19 @@ describe("Spec - Pokemon", () => { expect(types[1]).toBe(PokemonType.DARK); }); }); + + it.each([5, 25, 55, 95, 145, 195])( + "should set minimum IVs for enemy trainer pokemon based on wave (%i)", + async wave => { + game.override.startingWave(wave); + await game.classicMode.startBattle([Species.FEEBAS]); + const { waveIndex } = game.scene.currentBattle; + + for (const pokemon of game.scene.getEnemyParty()) { + for (const index in pokemon.ivs) { + expect(pokemon.ivs[index]).toBeGreaterThanOrEqual(Math.floor(waveIndex / 10)); + } + } + }, + ); }); From 69df76dd883eab5f2c5bbdfac2092d32005c89c2 Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Mon, 28 Apr 2025 15:40:58 -0500 Subject: [PATCH 069/102] [Balance] Elite 4 tweaks (#5706) * Update trainer-config.ts * Update signature-species.ts * Update trainer-config.ts * Fix Notes --------- Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Co-authored-by: damocleas --- src/data/balance/signature-species.ts | 84 +- src/data/trainers/trainer-config.ts | 1083 ++++++++++++++++--------- 2 files changed, 734 insertions(+), 433 deletions(-) diff --git a/src/data/balance/signature-species.ts b/src/data/balance/signature-species.ts index e2fecaa12ff..fb8f33d4435 100644 --- a/src/data/balance/signature-species.ts +++ b/src/data/balance/signature-species.ts @@ -4,12 +4,19 @@ export type SignatureSpecies = { [key in string]: (Species | Species[])[]; }; -/* +/** * The signature species for each Gym Leader, Elite Four member, and Champion. * The key is the trainer type, and the value is an array of Species or Species arrays. * This is in a separate const so it can be accessed from other places and not just the trainerConfigs + * + * @remarks + * The `Proxy` object allows us to define a handler that will intercept + * the property access and return an empty array if the property does not exist in the object. + * + * This means that accessing `signatureSpecies` will not throw an error if the property does not exist, + * but instead default to an empty array. */ -export const signatureSpecies: SignatureSpecies = { +export const signatureSpecies: SignatureSpecies = new Proxy({ // Gym Leaders- Kanto BROCK: [Species.ONIX, Species.GEODUDE, [Species.OMANYTE, Species.KABUTO], Species.AERODACTYL], MISTY: [Species.STARYU, Species.PSYDUCK, Species.WOOPER, Species.LAPRAS], @@ -92,71 +99,8 @@ export const signatureSpecies: SignatureSpecies = { RYME: [Species.TOXEL, Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU], // Tera Ghost Toxel TULIP: [Species.FLABEBE, Species.FLITTLE, Species.RALTS, Species.GIRAFARIG], // Tera Psychic Flabebe GRUSHA: [Species.SWABLU, Species.CETODDLE, Species.SNOM, Species.CUBCHOO], // Tera Ice Swablu - - // Elite Four- Kanto - LORELEI: [ - Species.JYNX, - [Species.SLOWBRO, Species.GALAR_SLOWBRO], - Species.LAPRAS, - [Species.CLOYSTER, Species.ALOLA_SANDSLASH], - ], - BRUNO: [Species.MACHAMP, Species.HITMONCHAN, Species.HITMONLEE, [Species.GOLEM, Species.ALOLA_GOLEM]], - AGATHA: [Species.GENGAR, [Species.ARBOK, Species.WEEZING], Species.CROBAT, Species.ALOLA_MAROWAK], - LANCE: [Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR], - // Elite Four- Johto (Bruno included) - WILL: [Species.XATU, Species.JYNX, [Species.SLOWBRO, Species.SLOWKING], Species.EXEGGUTOR], - KOGA: [[Species.MUK, Species.WEEZING], [Species.VENOMOTH, Species.ARIADOS], Species.CROBAT, Species.TENTACRUEL], - KAREN: [Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE], - // Elite Four- Hoenn - SIDNEY: [ - [Species.SHIFTRY, Species.CACTURNE], - [Species.SHARPEDO, Species.CRAWDAUNT], - Species.ABSOL, - Species.MIGHTYENA, - ], - PHOEBE: [Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, [Species.DRIFBLIM, Species.MISMAGIUS]], - GLACIA: [Species.GLALIE, Species.WALREIN, Species.FROSLASS, Species.ABOMASNOW], - DRAKE: [Species.ALTARIA, Species.SALAMENCE, Species.FLYGON, Species.KINGDRA], - // Elite Four- Sinnoh - AARON: [[Species.SCIZOR, Species.KLEAVOR], Species.HERACROSS, [Species.VESPIQUEN, Species.YANMEGA], Species.DRAPION], - BERTHA: [Species.WHISCASH, Species.HIPPOWDON, Species.GLISCOR, Species.RHYPERIOR], - FLINT: [ - [Species.RAPIDASH, Species.FLAREON], - Species.MAGMORTAR, - [Species.STEELIX, Species.LOPUNNY], - Species.INFERNAPE, - ], // Tera Fire Steelix or Lopunny - LUCIAN: [Species.MR_MIME, Species.GALLADE, Species.BRONZONG, [Species.ALAKAZAM, Species.ESPEON]], - // Elite Four- Unova - SHAUNTAL: [Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.JELLICENT], - MARSHAL: [Species.CONKELDURR, Species.MIENSHAO, Species.THROH, Species.SAWK], - GRIMSLEY: [Species.LIEPARD, Species.KINGAMBIT, Species.SCRAFTY, Species.KROOKODILE], - CAITLIN: [Species.MUSHARNA, Species.GOTHITELLE, Species.SIGILYPH, Species.REUNICLUS], - // Elite Four- Kalos - MALVA: [Species.PYROAR, Species.TORKOAL, Species.CHANDELURE, Species.TALONFLAME], - SIEBOLD: [Species.CLAWITZER, Species.GYARADOS, Species.BARBARACLE, Species.STARMIE], - WIKSTROM: [Species.KLEFKI, Species.PROBOPASS, Species.SCIZOR, Species.AEGISLASH], - DRASNA: [Species.DRAGALGE, Species.DRUDDIGON, Species.ALTARIA, Species.NOIVERN], - // Elite Four- Alola - HALA: [Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, [Species.POLIWRATH, Species.ANNIHILAPE]], - MOLAYNE: [Species.KLEFKI, Species.MAGNEZONE, Species.METAGROSS, Species.ALOLA_DUGTRIO], - OLIVIA: [Species.RELICANTH, Species.CARBINK, Species.ALOLA_GOLEM, Species.LYCANROC], - ACEROLA: [[Species.BANETTE, Species.DRIFBLIM], Species.MIMIKYU, Species.DHELMISE, Species.PALOSSAND], - KAHILI: [[Species.BRAVIARY, Species.MANDIBUZZ], Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON], - // Elite Four- Galar - MARNIE_ELITE: [Species.MORPEKO, Species.LIEPARD, [Species.TOXICROAK, Species.SCRAFTY], Species.GRIMMSNARL], - NESSA_ELITE: [Species.GOLISOPOD, [Species.QUAGSIRE, Species.PELIPPER], Species.TOXAPEX, Species.DREDNAW], - BEA_ELITE: [Species.HAWLUCHA, [Species.GRAPPLOCT, Species.SIRFETCHD], Species.FALINKS, Species.MACHAMP], - ALLISTER_ELITE: [Species.DUSKNOIR, [Species.POLTEAGEIST, Species.RUNERIGUS], Species.CURSOLA, Species.GENGAR], - RAIHAN_ELITE: [Species.GOODRA, [Species.TORKOAL, Species.TURTONATOR], Species.FLYGON, Species.ARCHALUDON], - // Elite Four- Paldea - RIKA: [Species.CLODSIRE, [Species.DUGTRIO, Species.DONPHAN], Species.CAMERUPT, Species.WHISCASH], // Tera Ground Clodsire - POPPY: [Species.TINKATON, Species.BRONZONG, Species.CORVIKNIGHT, Species.COPPERAJAH], // Tera Steel Tinkaton - LARRY_ELITE: [Species.FLAMIGO, Species.STARAPTOR, [Species.ALTARIA, Species.TROPIUS], Species.ORICORIO], // Tera Flying Flamigo; random Oricorio - HASSEL: [Species.BAXCALIBUR, [Species.FLAPPLE, Species.APPLETUN], Species.DRAGALGE, Species.NOIVERN], // Tera Dragon Baxcalibur - // Elite Four- BBL - CRISPIN: [Species.BLAZIKEN, Species.MAGMORTAR, [Species.CAMERUPT, Species.TALONFLAME], Species.ROTOM], // Tera Fire Blaziken; Heat Rotom - AMARYS: [Species.METAGROSS, Species.SCIZOR, Species.EMPOLEON, Species.SKARMORY], // Tera Steel Metagross - LACEY: [Species.EXCADRILL, Species.PRIMARINA, [Species.WHIMSICOTT, Species.ALCREMIE], Species.GRANBULL], // Tera Fairy Excadrill - DRAYTON: [Species.ARCHALUDON, Species.DRAGONITE, Species.HAXORUS, Species.SCEPTILE], // Tera Dragon Archaludon -}; +}, { + get(target, prop: string) { + return target[prop as keyof SignatureSpecies] ?? []; + } +}); diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index a2e62e6761b..50acf84efa6 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -707,11 +707,11 @@ export class TrainerConfig { /** * Initializes the trainer configuration for an Elite Four member. - * @param {Species | Species[]} signatureSpecies The signature species for the Elite Four member. - * @param isMale Whether the Elite Four Member is Male or Female (for localization of the title). - * @param specialtyType {PokemonType} The specialty type for the Elite Four member. - * @param teraSlot Optional, sets the party member in this slot to Terastallize. - * @returns {TrainerConfig} The updated TrainerConfig instance. + * @param signatureSpecies - The signature species for the Elite Four member. + * @param isMale - Whether the Elite Four Member is Male or Female (for localization of the title). + * @param specialtyType - The specialty type for the Elite Four member. + * @param teraSlot - Optional, sets the party member in this slot to Terastallize. + * @returns The updated TrainerConfig instance. **/ initForEliteFour( signatureSpecies: (Species | Species[])[], @@ -2853,146 +2853,688 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_paldea_gym"), [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)) - .initForEliteFour(signatureSpecies["LORELEI"], false, PokemonType.ICE) + .initForEliteFour(signatureSpecies["LORELEI"], false, PokemonType.ICE, 2) .setBattleBgm("battle_kanto_gym") - .setMixedBattleBgm("battle_kanto_gym"), + .setMixedBattleBgm("battle_kanto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DEWGONG], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 0; // Thick Fat + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SLOWBRO, Species.GALAR_SLOWBRO], TrainerSlot.TRAINER, true, p => { // Tera Ice Slowbro/G-Slowbro + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.ICE_BEAM)) { // Check if Ice Beam is in the moveset, if not, replace the third move with Ice Beam. + p.moveset[2] = new PokemonMove(Moves.ICE_BEAM); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.JYNX])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CLOYSTER, Species.ALOLA_SANDSLASH])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.BRUNO]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["BRUNO"], true, PokemonType.FIGHTING) + .initForEliteFour(signatureSpecies["BRUNO"], true, PokemonType.FIGHTING, 2) .setBattleBgm("battle_kanto_gym") - .setMixedBattleBgm("battle_kanto_gym"), + .setMixedBattleBgm("battle_kanto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HITMONLEE, Species.HITMONCHAN, Species.HITMONTOP])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.STEELIX], TrainerSlot.TRAINER, true, p => { // Tera Fighting Steelix + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BODY_PRESS)) { // Check if Body Press is in the moveset, if not, replace the third move with Body Press. + p.moveset[2] = new PokemonMove(Moves.BODY_PRESS); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.POLIWRATH])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ANNIHILAPE])) + .setPartyMemberFunc( + 5, + getRandomPartyMemberFunc([Species.MACHAMP], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.AGATHA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["AGATHA"], false, PokemonType.GHOST) + .initForEliteFour(signatureSpecies["AGATHA"], false, PokemonType.GHOST, 2) .setBattleBgm("battle_kanto_gym") - .setMixedBattleBgm("battle_kanto_gym"), + .setMixedBattleBgm("battle_kanto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MISMAGIUS])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ARBOK, Species.WEEZING], TrainerSlot.TRAINER, true, p => { // Tera Ghost Arbok/Weezing + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_MAROWAK])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CURSOLA])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.LANCE]: new TrainerConfig(++t) .setName("Lance") - .initForEliteFour(signatureSpecies["LANCE"], true, PokemonType.DRAGON) + .initForEliteFour(signatureSpecies["LANCE"], true, PokemonType.DRAGON, 2) .setBattleBgm("battle_kanto_gym") - .setMixedBattleBgm("battle_kanto_gym"), + .setMixedBattleBgm("battle_kanto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KINGDRA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GYARADOS, Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { // Tera Dragon Gyarados/Aerodactyl + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_EXEGGUTOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SALAMENCE])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.WILL]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["WILL"], true, PokemonType.PSYCHIC) + .initForEliteFour(signatureSpecies["WILL"], true, PokemonType.PSYCHIC, 2) .setBattleBgm("battle_johto_gym") - .setMixedBattleBgm("battle_johto_gym"), + .setMixedBattleBgm("battle_johto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.JYNX])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SLOWKING, Species.GALAR_SLOWKING])) // Tera Psychic Slowking/G-Slowking + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EXEGGUTOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WYRDEER, Species.FARIGIRAF])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.XATU], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.KOGA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["KOGA"], true, PokemonType.POISON) + .initForEliteFour(signatureSpecies["KOGA"], true, PokemonType.POISON, 2) .setBattleBgm("battle_johto_gym") - .setMixedBattleBgm("battle_johto_gym"), + .setMixedBattleBgm("battle_johto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENOMOTH], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 1; // Tinted Lens + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.WEEZING])) // Tera Poison Muk/Weezing + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TENTACRUEL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SNEASLER, Species.OVERQWIL])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CROBAT], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.KAREN]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["KAREN"], false, PokemonType.DARK) + .initForEliteFour(signatureSpecies["KAREN"], false, PokemonType.DARK, 2) .setBattleBgm("battle_johto_gym") - .setMixedBattleBgm("battle_johto_gym"), + .setMixedBattleBgm("battle_johto_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.UMBREON])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { // Tera Dark Gengar + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DARK_PULSE)) { // Check if Dark Pulse is in the moveset, if not, replace the third move with Dark Pulse. + p.moveset[2] = new PokemonMove(Moves.DARK_PULSE); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HONCHKROW])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WEAVILE])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.SIDNEY]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["SIDNEY"], true, PokemonType.DARK) - .setMixedBattleBgm("battle_hoenn_elite"), + .initForEliteFour(signatureSpecies["SIDNEY"], true, PokemonType.DARK, 2) + .setMixedBattleBgm("battle_hoenn_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIGHTYENA], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 0; // Intimidate + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.OBSTAGOON])) // Tera Dark Obstagoon + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SHIFTRY, Species.CACTURNE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SHARPEDO, Species.CRAWDAUNT])) + .setPartyMemberFunc( + 5, + getRandomPartyMemberFunc([Species.ABSOL], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.PHOEBE]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["PHOEBE"], false, PokemonType.GHOST) - .setMixedBattleBgm("battle_hoenn_elite"), + .initForEliteFour(signatureSpecies["PHOEBE"], false, PokemonType.GHOST, 2) + .setMixedBattleBgm("battle_hoenn_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SABLEYE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BANETTE])) // Tera Ghost Banette + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRIFBLIM, Species.MISMAGIUS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ORICORIO, Species.ALOLA_MAROWAK], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.formIndex = p.species.speciesId === Species.ORICORIO ? 3 : 0; // Oricorio-Sensu + }), + ) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DUSKNOIR], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.GLACIA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["GLACIA"], false, PokemonType.ICE) - .setMixedBattleBgm("battle_hoenn_elite"), + .initForEliteFour(signatureSpecies["GLACIA"], false, PokemonType.ICE, 2) + .setMixedBattleBgm("battle_hoenn_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ABOMASNOW], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 0; // Snow Warning + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GLALIE])) // Tera Ice Glalie + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FROSLASS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ALOLA_NINETALES])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.WALREIN], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.DRAKE]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["DRAKE"], true, PokemonType.DRAGON) - .setMixedBattleBgm("battle_hoenn_elite"), + .initForEliteFour(signatureSpecies["DRAKE"], true, PokemonType.DRAGON, 2) + .setMixedBattleBgm("battle_hoenn_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALTARIA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DHELMISE], TrainerSlot.TRAINER, true, p => { // Tera Dragon Dhelmise + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLYGON])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGDRA])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.AARON]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["AARON"], true, PokemonType.BUG) + .initForEliteFour(signatureSpecies["AARON"], true, PokemonType.BUG, 5) .setBattleBgm("battle_sinnoh_gym") - .setMixedBattleBgm("battle_sinnoh_gym"), + .setMixedBattleBgm("battle_sinnoh_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.YANMEGA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HERACROSS])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.VESPIQUEN])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SCIZOR, Species.KLEAVOR])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DRAPION], TrainerSlot.TRAINER, true, p => { // Tera Bug Drapion + p.setBoss(true, 2); + p.abilityIndex = 1; // Sniper + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.X_SCISSOR)) { // Check if X-Scissor is in the moveset, if not, replace the third move with X-Scissor. + p.moveset[2] = new PokemonMove(Moves.X_SCISSOR); + } + }), + ), [TrainerType.BERTHA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["BERTHA"], false, PokemonType.GROUND) + .initForEliteFour(signatureSpecies["BERTHA"], false, PokemonType.GROUND, 2) .setBattleBgm("battle_sinnoh_gym") - .setMixedBattleBgm("battle_sinnoh_gym"), + .setMixedBattleBgm("battle_sinnoh_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.WHISCASH])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HIPPOWDON], TrainerSlot.TRAINER, true, p => { // Tera Ground Hippowdon + p.abilityIndex = 0; // Sand Stream + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GLISCOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAMOSWINE, Species.URSALUNA])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.RHYPERIOR], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.abilityIndex = 1; // Solid Rock + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.FLINT]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["FLINT"], true, PokemonType.FIRE, 3) + .initForEliteFour(signatureSpecies["FLINT"], true, PokemonType.FIRE, 2) .setBattleBgm("battle_sinnoh_gym") - .setMixedBattleBgm("battle_sinnoh_gym"), + .setMixedBattleBgm("battle_sinnoh_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RAPIDASH])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.STEELIX, Species.LOPUNNY], TrainerSlot.TRAINER, true, p => { // Tera Fire Steelix/Lopunny + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.INFERNAPE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ARCANINE, Species.HISUI_ARCANINE])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MAGMORTAR], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.LUCIAN]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["LUCIAN"], true, PokemonType.PSYCHIC) + .initForEliteFour(signatureSpecies["LUCIAN"], true, PokemonType.PSYCHIC, 2) .setBattleBgm("battle_sinnoh_gym") - .setMixedBattleBgm("battle_sinnoh_gym"), + .setMixedBattleBgm("battle_sinnoh_gym") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ESPEON, Species.ALAKAZAM])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.FARIGIRAF])) // Tera Psychic Farigiraf + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRONZONG])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MR_RIME, Species.HISUI_BRAVIARY])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.abilityIndex = 1; // Sharpness + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.SHAUNTAL]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["SHAUNTAL"], false, PokemonType.GHOST) - .setMixedBattleBgm("battle_unova_elite"), + .initForEliteFour(signatureSpecies["SHAUNTAL"], false, PokemonType.GHOST, 2) + .setMixedBattleBgm("battle_unova_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GOLURK])) // Tera Ghost Golurk + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.JELLICENT])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MISMAGIUS, Species.FROSLASS ])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CHANDELURE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.MARSHAL]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["MARSHAL"], true, PokemonType.FIGHTING) - .setMixedBattleBgm("battle_unova_elite"), + .initForEliteFour(signatureSpecies["MARSHAL"], true, PokemonType.FIGHTING, 2) + .setMixedBattleBgm("battle_unova_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.THROH, Species.SAWK])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIENSHAO])) // Tera Fighting Mienshao + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EMBOAR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BRELOOM, Species.TOXICROAK])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CONKELDURR], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.GRIMSLEY]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["GRIMSLEY"], true, PokemonType.DARK) - .setMixedBattleBgm("battle_unova_elite"), + .initForEliteFour(signatureSpecies["GRIMSLEY"], true, PokemonType.DARK, 2) + .setMixedBattleBgm("battle_unova_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LIEPARD])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.KROOKODILE])) // Tera Dark Krookodile + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCRAFTY])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ZOROARK, Species.HISUI_SAMUROTT])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.CAITLIN]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["CAITLIN"], false, PokemonType.PSYCHIC) - .setMixedBattleBgm("battle_unova_elite"), + .initForEliteFour(signatureSpecies["CAITLIN"], false, PokemonType.PSYCHIC, 2) + .setMixedBattleBgm("battle_unova_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MUSHARNA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.REUNICLUS])) // Tera Psychic Reuniclus + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 1; // Sharpness + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SIGILYPH, Species.HISUI_BRAVIARY])) + .setPartyMemberFunc( + 5, + getRandomPartyMemberFunc([Species.GOTHITELLE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.MALVA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["MALVA"], false, PokemonType.FIRE) - .setMixedBattleBgm("battle_kalos_elite"), + .initForEliteFour(signatureSpecies["MALVA"], false, PokemonType.FIRE, 2) + .setMixedBattleBgm("battle_kalos_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PYROAR], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.gender = Gender.FEMALE; + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HOUNDOOM])) // Tera Fire Houndoom + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 1; // Drought + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CHANDELURE, Species.DELPHOX])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.SIEBOLD]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["SIEBOLD"], true, PokemonType.WATER) - .setMixedBattleBgm("battle_kalos_elite"), + .initForEliteFour(signatureSpecies["SIEBOLD"], true, PokemonType.WATER, 2) + .setMixedBattleBgm("battle_kalos_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.CLAWITZER])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GYARADOS])) // Tera Water Gyarados + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.STARMIE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BLASTOISE, Species.DONDOZO])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.BARBARACLE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.abilityIndex = 1; // Tough Claws + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.WIKSTROM]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["WIKSTROM"], true, PokemonType.STEEL) - .setMixedBattleBgm("battle_kalos_elite"), + .initForEliteFour(signatureSpecies["WIKSTROM"], true, PokemonType.STEEL, 2) + .setMixedBattleBgm("battle_kalos_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KLEFKI])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.CERULEDGE], TrainerSlot.TRAINER, true, p => { // Tera Steel Ceruledge + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.IRON_HEAD)) { // Check if Iron Head is in the moveset, if not, replace the third move with Iron Head. + p.moveset[2] = new PokemonMove(Moves.IRON_HEAD); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCIZOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CORVIKNIGHT])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.AEGISLASH], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.DRASNA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["DRASNA"], false, PokemonType.DRAGON) - .setMixedBattleBgm("battle_kalos_elite"), + .initForEliteFour(signatureSpecies["DRASNA"], false, PokemonType.DRAGON, 2) + .setMixedBattleBgm("battle_kalos_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRAGALGE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GARCHOMP])) // Tera Dragon Garchomp + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALTARIA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.DRUDDIGON])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.NOIVERN], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.HALA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["HALA"], true, PokemonType.FIGHTING) - .setMixedBattleBgm("battle_alola_elite"), + .initForEliteFour(signatureSpecies["HALA"], true, PokemonType.FIGHTING, 2) + .setMixedBattleBgm("battle_alola_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HARIYAMA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.INCINEROAR], TrainerSlot.TRAINER, true, p => { // Tera Fighting Incineroar + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.CROSS_CHOP)) { // Check if Cross Chop is in the moveset, if not, replace the third move with Cross Chop. + p.moveset[2] = new PokemonMove(Moves.CROSS_CHOP); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BEWEAR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.POLIWRATH, Species.ANNIHILAPE])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CRABOMINABLE], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.MOLAYNE]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["MOLAYNE"], true, PokemonType.STEEL) - .setMixedBattleBgm("battle_alola_elite"), + .initForEliteFour(signatureSpecies["MOLAYNE"], true, PokemonType.STEEL, 2) + .setMixedBattleBgm("battle_alola_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KLEFKI])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ALOLA_SANDSLASH])) // Tera Steel A-Sandslash + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MAGNEZONE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.METAGROSS, Species.KINGAMBIT])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.ALOLA_DUGTRIO], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.OLIVIA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["OLIVIA"], false, PokemonType.ROCK) - .setMixedBattleBgm("battle_alola_elite"), + .initForEliteFour(signatureSpecies["OLIVIA"], false, PokemonType.ROCK, 2) + .setMixedBattleBgm("battle_alola_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GIGALITH], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 1; // Sand Stream + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PROBOPASS])) // Tera Rock Probopass + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_GOLEM])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.RELICANTH, Species.CARBINK])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.formIndex = 1; + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.ACEROLA]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["ACEROLA"], false, PokemonType.GHOST) - .setMixedBattleBgm("battle_alola_elite"), + .initForEliteFour(signatureSpecies["ACEROLA"], false, PokemonType.GHOST, 2) + .setMixedBattleBgm("battle_alola_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRIFBLIM])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIMIKYU])) // Tera Ghost Mimikyu + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DHELMISE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FROSLASS])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.PALOSSAND], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.KAHILI]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["KAHILI"], false, PokemonType.FLYING) - .setMixedBattleBgm("battle_alola_elite"), + .initForEliteFour(signatureSpecies["KAHILI"], false, PokemonType.FLYING, 2) + .setMixedBattleBgm("battle_alola_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HAWLUCHA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DECIDUEYE], TrainerSlot.TRAINER, true, p => { // Tera Flying Decidueye + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BRAVE_BIRD)) { // Check if Brave Bird is in the moveset, if not, replace the third move with Brave Bird. + p.moveset[2] = new PokemonMove(Moves.BRAVE_BIRD); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRAVIARY, Species.MANDIBUZZ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ORICORIO])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.TOUCANNON], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t) .setName("Marnie") - .initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, PokemonType.DARK) - .setMixedBattleBgm("battle_galar_elite"), + .initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, PokemonType.DARK, 2) + .setMixedBattleBgm("battle_galar_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LIEPARD])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TOXICROAK], TrainerSlot.TRAINER, true, p => { // Tera Dark Toxicroak + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUCKER_PUNCH)) { + // Check if Sucker Punch is in the moveset, if not, replace the third move with Sucker Punch. + p.moveset[2] = new PokemonMove(Moves.SUCKER_PUNCH); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCRAFTY, Species.PANGORO])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MORPEKO])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.NESSA_ELITE]: new TrainerConfig(++t) .setName("Nessa") - .initForEliteFour(signatureSpecies["NESSA_ELITE"], false, PokemonType.WATER) - .setMixedBattleBgm("battle_galar_elite"), + .initForEliteFour(signatureSpecies["NESSA_ELITE"], false, PokemonType.WATER, 2) + .setMixedBattleBgm("battle_galar_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOLISOPOD])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EISCUE], TrainerSlot.TRAINER, true, p => { // Tera Water Eiscue + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.LIQUIDATION)) { // Check if Liquidation is in the moveset, if not, replace the third move with Liquidation. + p.moveset[2] = new PokemonMove(Moves.LIQUIDATION); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = 1; // Drizzle + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TOXAPEX])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DREDNAW], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.BEA_ELITE]: new TrainerConfig(++t) .setName("Bea") - .initForEliteFour(signatureSpecies["BEA_ELITE"], false, PokemonType.FIGHTING) - .setMixedBattleBgm("battle_galar_elite"), + .initForEliteFour(signatureSpecies["BEA_ELITE"], false, PokemonType.FIGHTING, 2) + .setMixedBattleBgm("battle_galar_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HAWLUCHA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SIRFETCHD])) // Tera Fighting Sirfetch'd + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GRAPPLOCT, Species.FALINKS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HITMONTOP])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MACHAMP], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t) .setName("Allister") - .initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, PokemonType.GHOST) - .setMixedBattleBgm("battle_galar_elite"), + .initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, PokemonType.GHOST, 2) + .setMixedBattleBgm("battle_galar_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DUSKNOIR])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RUNERIGUS])) // Tera Ghost Runerigus + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.POLTEAGEIST, Species.SINISTCHA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CURSOLA])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t) .setName("Raihan") - .initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, PokemonType.DRAGON) - .setMixedBattleBgm("battle_galar_elite"), + .initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, PokemonType.DRAGON, 2) + .setMixedBattleBgm("battle_galar_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.FLYGON])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { // Tera Dragon Torkoal + p.abilityIndex = 1; // Drought + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOODRA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TURTONATOR])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.RIKA]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["RIKA"], false, PokemonType.GROUND, 5) - .setMixedBattleBgm("battle_paldea_elite"), + .setMixedBattleBgm("battle_paldea_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DUGTRIO])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DONPHAN])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SWAMPERT, Species.TORTERRA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CAMERUPT])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CLODSIRE], TrainerSlot.TRAINER, true, p => { // Tera Ground Clodsire + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.POPPY]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["POPPY"], false, PokemonType.STEEL, 5) - .setMixedBattleBgm("battle_paldea_elite"), + .setMixedBattleBgm("battle_paldea_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COPPERAJAH])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MAGNEZONE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRONZONG, Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = p.species.speciesId === Species.BRONZONG ? 0 : 1; // Levitate Bronzong, Unnerve Corviknight + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.STEELIX])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.TINKATON], TrainerSlot.TRAINER, true, p => { // Tera Steel Tinkaton + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.LARRY_ELITE]: new TrainerConfig(++t) .setName("Larry") .initForEliteFour(signatureSpecies["LARRY_ELITE"], true, PokemonType.FLYING, 5) - .setMixedBattleBgm("battle_paldea_elite"), + .setMixedBattleBgm("battle_paldea_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALTARIA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BOMBIRDIER])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TROPIUS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.STARAPTOR])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.FLAMIGO], TrainerSlot.TRAINER, true, p => { // Tera Flying Flamigo + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.HASSEL]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["HASSEL"], true, PokemonType.DRAGON, 5) - .setMixedBattleBgm("battle_paldea_elite"), + .setMixedBattleBgm("battle_paldea_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.NOIVERN])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DRAGALGE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLAPPLE, Species.APPLETUN, Species.HYDRAPPLE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HAXORUS])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.BAXCALIBUR], TrainerSlot.TRAINER, true, p => { // Tera Dragon Baxcalibur + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.CRISPIN]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["CRISPIN"], true, PokemonType.FIRE, 5) - .setMixedBattleBgm("battle_bb_elite"), + .initForEliteFour(signatureSpecies["CRISPIN"], true, PokemonType.FIRE, 2) + .setMixedBattleBgm("battle_bb_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ROTOM], TrainerSlot.TRAINER, true, p => { + p.formIndex = 1; // Heat Rotom + p.generateAndPopulateMoveset(); + }), + ) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EXEGGUTOR], TrainerSlot.TRAINER, true, p => { // Tera Fire Exeggutor + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUNNY_DAY)) { // Check if Sunny Day is in the moveset, if not, replace the third move with Sunny Day. + p.moveset[2] = new PokemonMove(Moves.SUNNY_DAY); + } + }), + ) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAGMORTAR])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.BLAZIKEN], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.AMARYS]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["AMARYS"], false, PokemonType.STEEL, 5) - .setMixedBattleBgm("battle_bb_elite"), + .initForEliteFour(signatureSpecies["AMARYS"], false, PokemonType.STEEL, 2) + .setMixedBattleBgm("battle_bb_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.REUNICLUS], TrainerSlot.TRAINER, true, p => { // Tera Steel Reuniclus + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.FLASH_CANNON)) { // Check if Flash Cannon is in the moveset, if not, replace the third move with Flash Cannon. + p.moveset[2] = new PokemonMove(Moves.FLASH_CANNON); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EMPOLEON])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SCIZOR])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.LACEY]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["LACEY"], false, PokemonType.FAIRY, 5) - .setMixedBattleBgm("battle_bb_elite"), + .setMixedBattleBgm("battle_bb_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.WHIMSICOTT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PRIMARINA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GRANBULL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ALCREMIE])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.EXCADRILL], TrainerSlot.TRAINER, true, p => { // Tera Fairy Excadrill + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } + }), + ), [TrainerType.DRAYTON]: new TrainerConfig(++t) - .initForEliteFour(signatureSpecies["DRAYTON"], true, PokemonType.DRAGON, 5) - .setMixedBattleBgm("battle_bb_elite"), + .initForEliteFour(signatureSpecies["DRAYTON"], true, PokemonType.DRAGON, 2) + .setMixedBattleBgm("battle_bb_elite") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRAGONITE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SCEPTILE], TrainerSlot.TRAINER, true, p => { // Tera Dragon Sceptile + p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DUAL_CHOP)) { // Check if Dual Chop is in the moveset, if not, replace the third move with Dual Chop. + p.moveset[2] = new PokemonMove(Moves.DUAL_CHOP); + } + }), + ) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HAXORUS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGDRA, Species.DRACOVISH])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + p.setBoss(true, 2); + p.generateAndPopulateMoveset(); + }), + ), [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)) .initForChampion(true) @@ -3003,29 +3545,18 @@ export const trainerConfigs: TrainerConfigs = { .setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALAKAZAM])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MACHAMP])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.HO_OH], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HO_OH], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.RHYPERIOR, Species.ELECTIVIRE, Species.MAGMORTAR])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc( - [Species.ARCANINE, Species.EXEGGUTOR, Species.GYARADOS], - TrainerSlot.TRAINER, - true, - p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.RHYPERIOR, Species.ELECTIVIRE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ARCANINE, Species.EXEGGUTOR, Species.GYARADOS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); - }, - ), + }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.PIDGEOT], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.PIDGEOT], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Pidgeot p.generateAndPopulateMoveset(); p.generateName(); @@ -3040,9 +3571,7 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("red_blue_double") .setDoubleTrainerType(TrainerType.BLUE) .setDoubleTitle("champion_double") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => { p.formIndex = 8; // G-Max Pikachu p.generateAndPopulateMoveset(); p.generateName(); @@ -3050,34 +3579,24 @@ export const trainerConfigs: TrainerConfigs = { }), ) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ESPEON, Species.UMBREON, Species.SYLVEON])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.LUGIA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.LUGIA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.SNORLAX], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SNORLAX], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc( - [Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE], - TrainerSlot.TRAINER, - true, - p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc( + [Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Venusaur, Mega Charizard X, or Mega Blastoise p.generateAndPopulateMoveset(); p.generateName(); p.gender = Gender.MALE; - }, - ), + }), ) .setInstantTera(3), // Tera Grass Meganium / Fire Typhlosion / Water Feraligatr [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t) @@ -3087,25 +3606,20 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_johto_champion") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GYARADOS, Species.KINGDRA])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.AERODACTYL])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Salamence p.generateAndPopulateMoveset(); p.generateName(); }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.CHARIZARD])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.TYRANITAR, Species.GARCHOMP, Species.KOMMO_O], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TYRANITAR, Species.GARCHOMP, Species.KOMMO_O], TrainerSlot.TRAINER, true, p => { p.teraType = PokemonType.DRAGON; + p.generateAndPopulateMoveset(); p.abilityIndex = p.species.speciesId === Species.KOMMO_O ? 1 : 2; // Soundproof Kommo-o, Unnerve Tyranitar, Rough Skin Garchomp }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); @@ -3121,24 +3635,18 @@ export const trainerConfigs: TrainerConfigs = { .setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CRADILY, Species.ARMALDO])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.AGGRON], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.AGGRON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOLURK, Species.RUNERIGUS])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.REGIROCK, Species.REGICE, Species.REGISTEEL], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.REGIROCK, Species.REGICE, Species.REGISTEEL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Metagross p.generateAndPopulateMoveset(); p.generateName(); @@ -3152,17 +3660,13 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("wallace_steven_double") .setDoubleTrainerType(TrainerType.STEVEN) .setDoubleTitle("champion_double") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Drizzle p.generateAndPopulateMoveset(); }), ) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LUDICOLO])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.LATIAS, Species.LATIOS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.LATIAS, Species.LATIOS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Latios or Mega Latias p.generateAndPopulateMoveset(); p.generateName(); @@ -3170,16 +3674,12 @@ export const trainerConfigs: TrainerConfigs = { }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SWAMPERT, Species.GASTRODON, Species.SEISMITOAD])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.REGIELEKI, Species.REGIDRAGO], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.REGIELEKI, Species.REGIDRAGO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.MILOTIC], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MILOTIC], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; p.setBoss(true, 2); @@ -3190,41 +3690,24 @@ export const trainerConfigs: TrainerConfigs = { .initForChampion(false) .setBattleBgm("battle_sinnoh_champion") .setMixedBattleBgm("battle_sinnoh_champion") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.SPIRITOMB], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - }), - ) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SPIRITOMB])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LUCARIO])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.GIRATINA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GIRATINA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc( - [Species.MILOTIC, Species.ROSERADE, Species.HISUI_ARCANINE], - TrainerSlot.TRAINER, - true, - p => { - p.teraType = p.species.type1; - }, - ), + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MILOTIC, Species.ROSERADE, Species.HISUI_ARCANINE], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.teraType = p.species.type1; + }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.TOGEKISS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TOGEKISS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.GARCHOMP], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GARCHOMP], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Garchomp p.generateAndPopulateMoveset(); p.generateName(); @@ -3240,46 +3723,28 @@ export const trainerConfigs: TrainerConfigs = { .setBattleBgm("battle_champion_alder") .setMixedBattleBgm("battle_champion_alder") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BOUFFALANT, Species.BRAVIARY])) - .setPartyMemberFunc( - 1, - getRandomPartyMemberFunc( - [Species.HISUI_LILLIGANT, Species.HISUI_ZOROARK, Species.BASCULEGION], - TrainerSlot.TRAINER, - true, - p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HISUI_LILLIGANT, Species.HISUI_ZOROARK, Species.BASCULEGION], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; - }, - ), + }), ) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.ZEKROM], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ZEKROM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc([Species.KELDEO], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.KELDEO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc( - [Species.CHANDELURE, Species.KROOKODILE, Species.REUNICLUS, Species.CONKELDURR], - TrainerSlot.TRAINER, - true, - p => { - p.teraType = p.species.speciesId === Species.KROOKODILE ? PokemonType.DARK : p.species.type1; - }, - ), + .setPartyMemberFunc(4, getRandomPartyMemberFunc( + [Species.CHANDELURE, Species.KROOKODILE, Species.REUNICLUS, Species.CONKELDURR], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.teraType = p.species.speciesId === Species.KROOKODILE ? PokemonType.DARK : p.species.type1; + }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.VOLCARONA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.VOLCARONA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); @@ -3295,35 +3760,23 @@ export const trainerConfigs: TrainerConfigs = { .setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRUDDIGON])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ARCHEOPS])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.RESHIRAM], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RESHIRAM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc( - [Species.SALAMENCE, Species.HYDREIGON, Species.ARCHALUDON], - TrainerSlot.TRAINER, - true, - p => { - p.teraType = PokemonType.DRAGON; - }, - ), + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SALAMENCE, Species.HYDREIGON, Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); + p.teraType = PokemonType.DRAGON; + }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // G-Max Lapras p.generateAndPopulateMoveset(); p.generateName(); }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.HAXORUS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HAXORUS], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Mold Breaker p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; @@ -3334,38 +3787,28 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.DIANTHA]: new TrainerConfig(++t) .initForChampion(false) .setMixedBattleBgm("battle_kalos_champion") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.HAWLUCHA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HAWLUCHA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); }), ) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.TREVENANT, Species.GOURGEIST])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.XERNEAS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.XERNEAS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc([Species.TYRANTRUM, Species.AURORUS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TYRANTRUM, Species.AURORUS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 2; // Rock Head Tyrantrum, Snow Warning Aurorus p.teraType = p.species.type2!; }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.GOODRA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.GOODRA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.GARDEVOIR], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GARDEVOIR], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Gardevoir p.generateAndPopulateMoveset(); p.generateName(); @@ -3376,45 +3819,29 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.KUKUI]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_champion_kukui") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 2; // Dusk Lycanroc }), ) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MAGNEZONE, Species.ALOLA_NINETALES])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc( - [Species.TORNADUS, Species.THUNDURUS, Species.LANDORUS], - TrainerSlot.TRAINER, - true, - p => { - p.formIndex = 1; // Therian Formes + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TORNADUS, Species.THUNDURUS, Species.LANDORUS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Therian Formes p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - }, - ), + }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc([Species.TAPU_KOKO, Species.TAPU_FINI], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TAPU_KOKO, Species.TAPU_FINI], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.SNORLAX], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SNORLAX], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 1; // G-Max Snorlax }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.INCINEROAR, Species.HISUI_DECIDUEYE], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.INCINEROAR, Species.HISUI_DECIDUEYE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.teraType = p.species.type2!; @@ -3424,39 +3851,26 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.HAU]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_alola_champion") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.ALOLA_RAICHU], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - }), - ) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALOLA_RAICHU])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.NOIVERN])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.SOLGALEO], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SOLGALEO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc([Species.TAPU_LELE, Species.TAPU_BULU], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TAPU_LELE, Species.TAPU_BULU], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.teraType = p.species.type1; }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.ZYGARDE], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ZYGARDE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Zygarde 10% forme, Aura Break p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.DECIDUEYE, Species.PRIMARINA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DECIDUEYE, Species.PRIMARINA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); p.gender = p.species.speciesId === Species.PRIMARINA ? Gender.FEMALE : Gender.MALE; @@ -3466,36 +3880,20 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.LEON]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_galar_champion") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.AEGISLASH], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - }), - ) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AEGISLASH])) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.RHYPERIOR, Species.SEISMITOAD, Species.MR_RIME])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.ZACIAN], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ZACIAN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRAGAPULT])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc( - [Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], - TrainerSlot.TRAINER, - true, - p => { + .setPartyMemberFunc(4,getRandomPartyMemberFunc([Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); - }, - ), + }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.CHARIZARD], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CHARIZARD], TrainerSlot.TRAINER, true, p => { p.formIndex = 3; // G-Max Charizard p.generateAndPopulateMoveset(); p.generateName(); @@ -3506,46 +3904,34 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.MUSTARD]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_mustard") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 1, - getRandomPartyMemberFunc([Species.KOMMO_O], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.KOMMO_O], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - p.teraType = PokemonType.PSYCHIC; + p.teraType = p.species.type1; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc([Species.GALAR_DARMANITAN], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GALAR_DARMANITAN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.BLASTOISE, Species.VENUSAUR], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BLASTOISE, Species.VENUSAUR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.URSHIFU], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.URSHIFU], TrainerSlot.TRAINER, true, p => { p.formIndex = randSeedInt(2, 2); // Random G-Max Urshifu p.generateAndPopulateMoveset(); p.generateName(); @@ -3553,32 +3939,30 @@ export const trainerConfigs: TrainerConfigs = { p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setInstantTera(2), // Tera Psychic Galar-Slowbro / Galar-Slowking + .setInstantTera(2), // Tera Poison Galar-Slowbro / Galar-Slowking [TrainerType.GEETA]: new TrainerConfig(++t) .initForChampion(false) .setMixedBattleBgm("battle_champion_geeta") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); }), ) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ESPATHRA, Species.VELUZA])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.MIRAIDON], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIRAIDON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BAXCALIBUR])) .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA])) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. + p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + } p.abilityIndex = 1; // Supreme Overlord p.teraType = PokemonType.FLYING; }), @@ -3587,75 +3971,50 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.NEMONA]: new TrainerConfig(++t) .initForChampion(false) .setMixedBattleBgm("battle_champion_nemona") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { p.formIndex = 0; // Midday form p.generateAndPopulateMoveset(); }), ) .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PAWMOT])) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.KORAIDON], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.KORAIDON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GHOLDENGO])) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.ARMAROUGE, Species.CERULEDGE], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ARMAROUGE, Species.CERULEDGE], TrainerSlot.TRAINER, true, p => { + p.generateAndPopulateMoveset(); p.teraType = p.species.type2!; }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc( - [Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], - TrainerSlot.TRAINER, - true, - p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); - }, - ), + }), ) .setInstantTera(4), // Tera Psychic Armarouge / Ghost Ceruledge [TrainerType.KIERAN]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_champion_kieran") - .setPartyMemberFunc( - 0, - getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - }), - ) - .setPartyMemberFunc( - 1, - getRandomPartyMemberFunc([Species.INCINEROAR, Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.INCINEROAR, Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = p.species.speciesId === Species.INCINEROAR ? 2 : 0; // Intimidate Incineroar, Prankster Grimmsnarl }), ) - .setPartyMemberFunc( - 2, - getRandomPartyMemberFunc([Species.TERAPAGOS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TERAPAGOS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc( - 3, - getRandomPartyMemberFunc([Species.URSALUNA, Species.BLOODMOON_URSALUNA], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.URSALUNA, Species.BLOODMOON_URSALUNA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) - .setPartyMemberFunc( - 4, - getRandomPartyMemberFunc([Species.OGERPON], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.OGERPON], TrainerSlot.TRAINER, true, p => { p.formIndex = randSeedInt(4); // Random Ogerpon Tera Mask p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -3665,9 +4024,7 @@ export const trainerConfigs: TrainerConfigs = { } }), ) - .setPartyMemberFunc( - 5, - getRandomPartyMemberFunc([Species.HYDRAPPLE], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HYDRAPPLE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); @@ -4830,7 +5187,7 @@ export const trainerConfigs: TrainerConfigs = { p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = randSeedInt(4, 1); // Shock, Burn, Chill, or Douse Drive if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TECHNO_BLAST)) { - // Check if Techno Blast is in the moveset, if not, replace the first move with Techno Blast. + // Check if Techno Blast is in the moveset, if not, replace the third move with Techno Blast. p.moveset[2] = new PokemonMove(Moves.TECHNO_BLAST); } }), From 217fbe027a2abce73e4dd22ecab038ba31b9b868 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Mon, 28 Apr 2025 14:33:19 -0700 Subject: [PATCH 070/102] [Test] Replace Axew with Feebas in some Illusion tests (#5727) * [Test] Replace Axew with Feebas in some Illusion tests * Fix test command in `package.json` --- package.json | 2 +- test/abilities/illusion.test.ts | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 341bca80c2e..938d362f263 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "build": "vite build", "build:beta": "vite build --mode beta", "preview": "vite preview", - "test": "vitest run", + "test": "vitest run --no-isolate", "test:cov": "vitest run --coverage --no-isolate", "test:watch": "vitest watch --coverage --no-isolate", "test:silent": "vitest run --silent --no-isolate", diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index c743a59ef00..1d8ce58ab38 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -23,18 +23,18 @@ describe("Abilities - Illusion", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleStyle("single"); - game.override.enemySpecies(Species.ZORUA); - game.override.enemyAbility(Abilities.ILLUSION); - game.override.enemyMoveset(Moves.TACKLE); - game.override.enemyHeldItems([{ name: "WIDE_LENS", count: 3 }]); - - game.override.moveset([Moves.WORRY_SEED, Moves.SOAK, Moves.TACKLE]); - game.override.startingHeldItems([{ name: "WIDE_LENS", count: 3 }]); + game.override + .battleStyle("single") + .enemySpecies(Species.ZORUA) + .enemyAbility(Abilities.ILLUSION) + .enemyMoveset(Moves.TACKLE) + .enemyHeldItems([{ name: "WIDE_LENS", count: 3 }]) + .moveset([Moves.WORRY_SEED, Moves.SOAK, Moves.TACKLE]) + .startingHeldItems([{ name: "WIDE_LENS", count: 3 }]); }); it("creates illusion at the start", async () => { - await game.classicMode.startBattle([Species.ZOROARK, Species.AXEW]); + await game.classicMode.startBattle([Species.ZOROARK, Species.FEEBAS]); const zoroark = game.scene.getPlayerPokemon()!; const zorua = game.scene.getEnemyPokemon()!; @@ -43,7 +43,7 @@ describe("Abilities - Illusion", () => { }); it("break after receiving damaging move", async () => { - await game.classicMode.startBattle([Species.AXEW]); + await game.classicMode.startBattle([Species.FEEBAS]); game.move.select(Moves.TACKLE); await game.phaseInterceptor.to("TurnEndPhase"); @@ -55,7 +55,7 @@ describe("Abilities - Illusion", () => { }); it("break after getting ability changed", async () => { - await game.classicMode.startBattle([Species.AXEW]); + await game.classicMode.startBattle([Species.FEEBAS]); game.move.select(Moves.WORRY_SEED); await game.phaseInterceptor.to("TurnEndPhase"); @@ -76,7 +76,7 @@ describe("Abilities - Illusion", () => { it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => { game.override.enemyMoveset([Moves.FLAMETHROWER, Moves.PSYCHIC, Moves.TACKLE]); - await game.classicMode.startBattle([Species.ZOROARK, Species.AXEW]); + await game.classicMode.startBattle([Species.ZOROARK, Species.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; const zoroark = game.scene.getPlayerPokemon()!; From 34670fd9213cc950cea7d045e453a0d00e0bcbc5 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:53:01 -0500 Subject: [PATCH 071/102] [Bug] Only moves will show the explicit status immunity effect (#5728) * Add quiet parameter to trySetStatus * Make quiet default to false --- src/data/moves/move.ts | 2 +- src/field/pokemon.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index bc047762fb6..6f854a3bbd8 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -2463,7 +2463,7 @@ export class StatusEffectAttr extends MoveEffectAttr { return false; } if (((!pokemon.status || this.overrideStatus) || (pokemon.status.effect === this.effect && moveChance < 0)) - && pokemon.trySetStatus(this.effect, true, user, this.turnsRemaining, null, this.overrideStatus)) { + && pokemon.trySetStatus(this.effect, true, user, this.turnsRemaining, null, this.overrideStatus, false)) { applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null, false, this.effect); return true; } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index f6810ad38e1..492856b4b52 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -5529,9 +5529,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sourcePokemon: Pokemon | null = null, turnsRemaining = 0, sourceText: string | null = null, - overrideStatus?: boolean + overrideStatus?: boolean, + quiet = true, ): boolean { - if (!this.canSetStatus(effect, false, overrideStatus, sourcePokemon)) { + if (!this.canSetStatus(effect, quiet, overrideStatus, sourcePokemon)) { return false; } if (this.isFainted() && effect !== StatusEffect.FAINT) { From 9a9759d31cd1cf376d52b9d7bd8ac02cb84c8897 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Tue, 29 Apr 2025 17:27:40 -0400 Subject: [PATCH 072/102] [Balance] Fix Basculin white stripe moveset (#5729) * Fix Basculin moveset and TMs --- src/data/balance/pokemon-level-moves.ts | 38 +++++++++++++++++++++++++ src/data/balance/tms.ts | 18 ++++++++++-- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/data/balance/pokemon-level-moves.ts b/src/data/balance/pokemon-level-moves.ts index dcbc2fb0c0d..0b0ba1b5f71 100644 --- a/src/data/balance/pokemon-level-moves.ts +++ b/src/data/balance/pokemon-level-moves.ts @@ -19383,6 +19383,44 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = { [ 100, Moves.SEED_FLARE ], ] }, + [Species.BASCULIN]: { + 1: [ + [ 1, Moves.TAIL_WHIP ], + [ 1, Moves.WATER_GUN ], + [ 4, Moves.TACKLE ], + [ 8, Moves.FLAIL ], + [ 12, Moves.AQUA_JET ], + [ 16, Moves.BITE ], + [ 20, Moves.SCARY_FACE ], + [ 24, Moves.HEADBUTT ], + [ 28, Moves.SOAK ], + [ 32, Moves.CRUNCH ], + [ 36, Moves.TAKE_DOWN ], + [ 40, Moves.FINAL_GAMBIT ], + [ 44, Moves.WAVE_CRASH ], + [ 48, Moves.THRASH ], + [ 52, Moves.DOUBLE_EDGE ], + [ 56, Moves.HEAD_SMASH ], + ], + 2: [ + [ 1, Moves.TAIL_WHIP ], + [ 1, Moves.WATER_GUN ], + [ 4, Moves.TACKLE ], + [ 8, Moves.FLAIL ], + [ 12, Moves.AQUA_JET ], + [ 16, Moves.BITE ], + [ 20, Moves.SCARY_FACE ], + [ 24, Moves.HEADBUTT ], + [ 28, Moves.SOAK ], + [ 32, Moves.CRUNCH ], + [ 36, Moves.TAKE_DOWN ], + [ 40, Moves.UPROAR ], + [ 44, Moves.WAVE_CRASH ], + [ 48, Moves.THRASH ], + [ 52, Moves.DOUBLE_EDGE ], + [ 56, Moves.HEAD_SMASH ], + ] + }, [Species.KYUREM]: { 1: [ [ 1, Moves.DRAGON_BREATH ], diff --git a/src/data/balance/tms.ts b/src/data/balance/tms.ts index 62199fd6968..69aef9b135d 100644 --- a/src/data/balance/tms.ts +++ b/src/data/balance/tms.ts @@ -5724,7 +5724,6 @@ export const tmSpecies: TmSpecies = { Species.SCOLIPEDE, Species.WHIMSICOTT, Species.LILLIGANT, - Species.BASCULIN, Species.KROOKODILE, Species.DARMANITAN, Species.CRUSTLE, @@ -6023,6 +6022,11 @@ export const tmSpecies: TmSpecies = { Species.HISUI_DECIDUEYE, Species.PALDEA_TAUROS, Species.BLOODMOON_URSALUNA, + [ + Species.BASCULIN, + "blue-striped", + "red-striped", + ] ], [Moves.LOW_KICK]: [ Species.SANDSHREW, @@ -19335,7 +19339,6 @@ export const tmSpecies: TmSpecies = { Species.CONKELDURR, Species.THROH, Species.SAWK, - Species.BASCULIN, Species.DARMANITAN, Species.SCRAFTY, Species.ESCAVALIER, @@ -19449,6 +19452,11 @@ export const tmSpecies: TmSpecies = { Species.HISUI_BRAVIARY, Species.HISUI_DECIDUEYE, Species.PALDEA_TAUROS, + [ + Species.BASCULIN, + "blue-striped", + "red-striped", + ], ], [Moves.SPITE]: [ Species.EKANS, @@ -51341,7 +51349,6 @@ export const tmSpecies: TmSpecies = { Species.SCOLIPEDE, Species.WHIMSICOTT, Species.LILLIGANT, - Species.BASCULIN, Species.KROOKODILE, Species.DARMANITAN, Species.CRUSTLE, @@ -51655,6 +51662,11 @@ export const tmSpecies: TmSpecies = { Species.HISUI_DECIDUEYE, Species.PALDEA_TAUROS, Species.BLOODMOON_URSALUNA, + [ + Species.BASCULIN, + "blue-striped", + "red-striped", + ], ], [Moves.NASTY_PLOT]: [ Species.PIKACHU, From 43d73b01b1023509e48c12142367234965fe0ba3 Mon Sep 17 00:00:00 2001 From: Bertie690 <136088738+Bertie690@users.noreply.github.com> Date: Tue, 29 Apr 2025 19:21:28 -0400 Subject: [PATCH 073/102] [Code] Added and enforced `no-fallthrough` + added eslint type checking (#5705) * Added and enforced `no-fallthrough` * Fixed errors * Fix package.json * Moved vule to biom * Fixed stuff * Added workspace files to .gitignore for anyone who wants to do this stuff * reverted accidental gitignore changes * Update biome.jsonc Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update biome.jsonc Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update pokemon-species.ts * Update biome.jsonc to apply reviews * Fixed package.json * Fix typo --------- Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- biome.jsonc | 20 +++++++++++++------- eslint.config.js | 14 +++++++------- public/locales | 2 +- src/data/moves/move.ts | 8 ++++---- src/data/pokemon-species.ts | 1 + src/data/weather.ts | 1 + src/system/settings/settings.ts | 1 + src/ui-inputs.ts | 4 +++- tsconfig.json | 2 +- 9 files changed, 32 insertions(+), 21 deletions(-) diff --git a/biome.jsonc b/biome.jsonc index 9d0e6a9b5ff..a433470cd90 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -38,6 +38,9 @@ "src/data/balance/tms.ts" ] }, + + // While it'd be nice to enable consistent sorting, enabling this causes issues due to circular import resolution order + // TODO: Remove if we ever get down to 0 circular imports "organizeImports": { "enabled": false }, "linter": { "ignore": [ @@ -55,13 +58,13 @@ }, "style": { "noVar": "error", - "useEnumInitializers": "off", + "useEnumInitializers": "off", // large enums like Moves/Species would make this cumbersome "useBlockStatements": "error", "useConst": "error", "useImportType": "error", - "noNonNullAssertion": "off", // TODO: Turn this on ASAP and fix all non-null assertions + "noNonNullAssertion": "off", // TODO: Turn this on ASAP and fix all non-null assertions in non-test files "noParameterAssign": "off", - "useExponentiationOperator": "off", + "useExponentiationOperator": "off", // Too typo-prone and easy to mixup with standard multiplication (* vs **) "useDefaultParameterLast": "off", // TODO: Fix spots in the codebase where this flag would be triggered, and then enable "useSingleVarDeclarator": "off", "useNodejsImportProtocol": "off", @@ -70,17 +73,20 @@ }, "suspicious": { "noDoubleEquals": "error", + // While this would be a nice rule to enable, the current structure of the codebase makes this infeasible + // due to being used for move/ability `args` params and save data-related code. + // This can likely be enabled for all non-utils files once these are eventually reworked, but until then we leave it off. "noExplicitAny": "off", "noAssignInExpressions": "off", "noPrototypeBuiltins": "off", - "noFallthroughSwitchClause": "off", - "noImplicitAnyLet": "info", // TODO: Refactor and make this an error - "noRedeclare": "off", // TODO: Refactor and make this an error + "noFallthroughSwitchClause": "error", // Prevents accidental automatic fallthroughs in switch cases (use disable comment if needed) + "noImplicitAnyLet": "warn", // TODO: Refactor and make this an error + "noRedeclare": "info", // TODO: Refactor and make this an error "noGlobalIsNan": "off", "noAsyncPromiseExecutor": "warn" // TODO: Refactor and make this an error }, "complexity": { - "noExcessiveCognitiveComplexity": "warn", + "noExcessiveCognitiveComplexity": "warn", // TODO: Refactor and make this an error "useLiteralKeys": "off", "noForEach": "off", // Foreach vs for of is not that simple. "noUselessSwitchCase": "off", // Explicit > Implicit diff --git a/eslint.config.js b/eslint.config.js index a97e3902411..aebcab7feae 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,9 +1,10 @@ -import tseslint from "@typescript-eslint/eslint-plugin"; +/** @ts-check */ +import tseslint from "typescript-eslint"; import stylisticTs from "@stylistic/eslint-plugin-ts"; import parser from "@typescript-eslint/parser"; import importX from "eslint-plugin-import-x"; -export default [ +export default tseslint.config( { name: "eslint-config", files: ["src/**/*.{ts,tsx,js,jsx}", "test/**/*.{ts,tsx,js,jsx}"], @@ -14,12 +15,11 @@ export default [ plugins: { "import-x": importX, "@stylistic/ts": stylisticTs, - "@typescript-eslint": tseslint, + "@typescript-eslint": tseslint.plugin, }, rules: { - "prefer-const": "error", // Enforces the use of `const` for variables that are never reassigned "no-undef": "off", // Disables the rule that disallows the use of undeclared variables (TypeScript handles this) - "no-extra-semi": ["error"], // Disallows unnecessary semicolons for TypeScript-specific syntax + "no-extra-semi": "error", // Disallows unnecessary semicolons for TypeScript-specific syntax "import-x/extensions": ["error", "never", { json: "always" }], // Enforces no extension for imports unless json }, }, @@ -33,11 +33,11 @@ export default [ }, }, plugins: { - "@typescript-eslint": tseslint, + "@typescript-eslint": tseslint.plugin, }, rules: { "@typescript-eslint/no-floating-promises": "error", // Require Promise-like statements to be handled appropriately. - https://typescript-eslint.io/rules/no-floating-promises/ "@typescript-eslint/no-misused-promises": "error", // Disallow Promises in places not designed to handle them. - https://typescript-eslint.io/rules/no-misused-promises/ }, }, -]; +); diff --git a/public/locales b/public/locales index 18c1963ef30..e98f0eb9c20 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 18c1963ef309612a5a7fef76f9879709a7202189 +Subproject commit e98f0eb9c2022bc78b53f0444424c636498e725a diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 6f854a3bbd8..9b8703d6e85 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -652,7 +652,7 @@ export default class Move implements Localizable { break; case MoveFlags.IGNORE_ABILITIES: if (user.hasAbilityWithAttr(MoveAbilityBypassAbAttr)) { - const abilityEffectsIgnored = new BooleanHolder(false); + const abilityEffectsIgnored = new BooleanHolder(false); applyAbAttrs(MoveAbilityBypassAbAttr, user, abilityEffectsIgnored, false, this); if (abilityEffectsIgnored.value) { return true; @@ -3160,7 +3160,7 @@ export class StatStageChangeAttr extends MoveEffectAttr { private get showMessage () { return this.options?.showMessage ?? true; } - + /** * Attempts to change stats of the user or target (depending on value of selfTarget) if conditions are met * @param user {@linkcode Pokemon} the user of the move @@ -6326,11 +6326,11 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { if (!allyPokemon?.isActive(true) && switchOutTarget.hp) { globalScene.pushPhase(new BattleEndPhase(false)); - + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { globalScene.pushPhase(new SelectBiomePhase()); } - + globalScene.pushPhase(new NewBattlePhase()); } } diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 2fff2b562c0..5a9a6ee9b3d 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -488,6 +488,7 @@ export abstract class PokemonSpeciesForm { if (formSpriteKey.startsWith("behemoth")) { formSpriteKey = "crowned"; } + // biome-ignore lint/suspicious/no-fallthrough: Falls through default: ret += `-${formSpriteKey}`; break; diff --git a/src/data/weather.ts b/src/data/weather.ts index 81559304661..be9107798df 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -369,6 +369,7 @@ export function getRandomWeatherType(arena: Arena): WeatherType { if (hasSun) { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 2 }); } + break; case Biome.VOLCANO: weatherPool = [ { diff --git a/src/system/settings/settings.ts b/src/system/settings/settings.ts index 31faf2b6283..8bbba267bd6 100644 --- a/src/system/settings/settings.ts +++ b/src/system/settings/settings.ts @@ -804,6 +804,7 @@ export function setSetting(setting: string, value: number): boolean { break; case SettingKeys.Candy_Upgrade_Display: globalScene.candyUpgradeDisplay = value; + break; case SettingKeys.Money_Format: switch (Setting[index].options[value].value) { case "Normal": diff --git a/src/ui-inputs.ts b/src/ui-inputs.ts index bf4f51e5af7..0c13cdb9512 100644 --- a/src/ui-inputs.ts +++ b/src/ui-inputs.ts @@ -176,11 +176,13 @@ export class UiInputs { return; } switch (globalScene.ui?.getMode()) { - case UiMode.MESSAGE: + case UiMode.MESSAGE: { const messageHandler = globalScene.ui.getHandler(); if (!messageHandler.pendingPrompt || messageHandler.isTextAnimationInProgress()) { return; } + // biome-ignore lint/suspicious/noFallthroughSwitchClause: falls through to show menu overlay + } case UiMode.TITLE: case UiMode.COMMAND: case UiMode.MODIFIER_SELECT: diff --git a/tsconfig.json b/tsconfig.json index 30e208745b9..6af3e9ce650 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,7 @@ "esModuleInterop": true, "strictNullChecks": true, "sourceMap": false, - "strict": false, + "strict": false, // TODO: Enable this eventually "rootDir": ".", "baseUrl": "./src", "paths": { From 1e8fc076a7b63a9edad8e419888e3f2788f1f8da Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Tue, 29 Apr 2025 20:30:28 -0500 Subject: [PATCH 074/102] [Misc][Move] Add edge case to transform (#5732) --- src/data/moves/move.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 9b8703d6e85..f02c98fad1f 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -8618,7 +8618,9 @@ export function initMoves() { .condition((user, target, move) => !target.summonData?.illusion && !user.summonData?.illusion) // transforming from or into fusion pokemon causes various problems (such as crashes) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE) && !user.fusionSpecies && !target.fusionSpecies) - .ignoresProtect(), + .ignoresProtect() + // Transforming should copy the target's rage fist hit count + .edgeCase(), new AttackMove(Moves.BUBBLE, PokemonType.WATER, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), From 84a2ce979f64dc5759b1269d686da95712d8d172 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Tue, 29 Apr 2025 21:48:06 -0500 Subject: [PATCH 075/102] [GitHub] Update pull request template to say `test:silent` (#5733) --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 032e1fee69c..a25a2f807f3 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -65,7 +65,7 @@ Do the reviewers need to do something special in order to test your changes? - [ ] The PR is self-contained and cannot be split into smaller PRs? - [ ] Have I provided a clear explanation of the changes? - [ ] Have I tested the changes manually? -- [ ] Are all unit tests still passing? (`npm run test`) +- [ ] Are all unit tests still passing? (`npm run test:silent`) - [ ] Have I created new automated tests (`npm run create-test`) or updated existing tests related to the PR's changes? - [ ] Have I provided screenshots/videos of the changes (if applicable)? - [ ] Have I made sure that any UI change works for both UI themes (default and legacy)? From ef9a867e67edc6c312e1aa89ab04711120b5c07b Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Wed, 30 Apr 2025 01:55:42 -0500 Subject: [PATCH 076/102] [Bug] Fix clear ignoring errors from server (#5722) * Fix clear ignoring errors from server * Update tests to expect a throw --- src/phases/game-over-phase.ts | 15 +++++++++++++-- src/plugins/api/pokerogue-session-savedata-api.ts | 9 ++++++--- .../api/pokerogue-session-savedata-api.test.ts | 4 +--- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index 304d876a99e..3a3305fd45e 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -31,6 +31,7 @@ import ChallengeData from "#app/system/challenge-data"; import TrainerData from "#app/system/trainer-data"; import ArenaData from "#app/system/arena-data"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; +import { MessagePhase } from "./message-phase"; export class GameOverPhase extends BattlePhase { private isVictory: boolean; @@ -122,7 +123,7 @@ export class GameOverPhase extends BattlePhase { globalScene.disableMenu = true; globalScene.time.delayedCall(1000, () => { let firstClear = false; - if (this.isVictory && newClear) { + if (this.isVictory) { if (globalScene.gameMode.isClassic) { firstClear = globalScene.validateAchv(achvs.CLASSIC_VICTORY); globalScene.validateAchv(achvs.UNEVOLVED_CLASSIC_VICTORY); @@ -226,7 +227,17 @@ export class GameOverPhase extends BattlePhase { isVictory: this.isVictory, clientSessionId: clientSessionId, }) - .then(success => doGameOver(!!success)); + .then(success => doGameOver(!globalScene.gameMode.isDaily || !!success)) + .catch(_err => { + globalScene.clearPhaseQueue(); + globalScene.clearPhaseQueueSplice(); + globalScene.unshiftPhase(new MessagePhase(i18next.t("menu:serverCommunicationFailed"), 2500)); + // force the game to reload after 2 seconds. + setTimeout(() => { + window.location.reload(); + }, 2000); + this.end(); + }); } else if (this.isVictory) { globalScene.gameData.offlineNewClear().then(result => { doGameOver(result); diff --git a/src/plugins/api/pokerogue-session-savedata-api.ts b/src/plugins/api/pokerogue-session-savedata-api.ts index e703d55a242..aac8b9b93ad 100644 --- a/src/plugins/api/pokerogue-session-savedata-api.ts +++ b/src/plugins/api/pokerogue-session-savedata-api.ts @@ -20,17 +20,20 @@ export class PokerogueSessionSavedataApi extends ApiBase { * *This is **NOT** the same as {@linkcode clear | clear()}.* * @param params The {@linkcode NewClearSessionSavedataRequest} to send * @returns The raw savedata as `string`. + * @throws Error if the request fails */ public async newclear(params: NewClearSessionSavedataRequest) { try { const urlSearchParams = this.toUrlSearchParams(params); const response = await this.doGet(`/savedata/session/newclear?${urlSearchParams}`); const json = await response.json(); - - return Boolean(json); + if (response.ok) { + return Boolean(json); + } + throw new Error("Could not newclear session!"); } catch (err) { console.warn("Could not newclear session!", err); - return false; + throw new Error("Could not newclear session!"); } } diff --git a/test/plugins/api/pokerogue-session-savedata-api.test.ts b/test/plugins/api/pokerogue-session-savedata-api.test.ts index d4c235ac51a..4d4774f2283 100644 --- a/test/plugins/api/pokerogue-session-savedata-api.test.ts +++ b/test/plugins/api/pokerogue-session-savedata-api.test.ts @@ -57,9 +57,7 @@ describe("Pokerogue Session Savedata API", () => { it("should return false and report a warning on ERROR", async () => { server.use(http.get(`${apiBase}/savedata/session/newclear`, () => HttpResponse.error())); - const success = await sessionSavedataApi.newclear(params); - - expect(success).toBe(false); + await expect(sessionSavedataApi.newclear(params)).rejects.toThrow("Could not newclear session!"); expect(console.warn).toHaveBeenCalledWith("Could not newclear session!", expect.any(Error)); }); }); From 9187edcf6c8568a3f248a5aa51704df6a70a374a Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Wed, 30 Apr 2025 15:45:52 -0700 Subject: [PATCH 077/102] [i18n] Update locales (#5736) --- public/locales | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales b/public/locales index e98f0eb9c20..dcd8b430801 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit e98f0eb9c2022bc78b53f0444424c636498e725a +Subproject commit dcd8b430801b43b9e4f547d039c5fa0c85b8dd92 From fd5612e253783c9df3755be51564d7d9b788baef Mon Sep 17 00:00:00 2001 From: damocleas Date: Wed, 30 Apr 2025 18:48:06 -0400 Subject: [PATCH 078/102] [i18n] Update locales fix --- public/locales | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales b/public/locales index dcd8b430801..833dc40ec74 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit dcd8b430801b43b9e4f547d039c5fa0c85b8dd92 +Subproject commit 833dc40ec7409031fcea147ccbc45ec9c0ba0213 From cdcc338afd8ff74ceed7630d5e3fcf53429eb4e5 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Thu, 1 May 2025 04:17:21 +0200 Subject: [PATCH 079/102] =?UTF-8?q?[UI/UX]=20Caught=20battle=20forms=20are?= =?UTF-8?q?=20displayed=20correctly=20in=20Pok=C3=A9dex=20(#5697)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * isCaught function in Dex now returns the correct result * Removed log messages * Added tests to check caught status of battle forms * Update src/ui/pokedex-page-ui-handler.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/ui/pokedex-page-ui-handler.ts | 18 ++++-- .../saves/data_pokedex_tests_v2.prsv | 1 + test/ui/pokedex.test.ts | 55 +++++++++++++++++++ 3 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 test/testUtils/saves/data_pokedex_tests_v2.prsv diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 4888e14b24f..ddc16ab5a88 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -921,16 +921,22 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return biomes; } + /** + * Return the caughtAttr of a given species, sanitized. + * + * @param otherSpecies The species to check; defaults to current species + * @returns caught DexAttr for the species + */ isCaught(otherSpecies?: PokemonSpecies): bigint { + const species = otherSpecies ? otherSpecies : this.species; + if (globalScene.dexForDevs) { - return 255n; + species.getFullUnlocksData(); } - const species = otherSpecies ? otherSpecies : this.species; const dexEntry = globalScene.gameData.dexData[species.speciesId]; - const starterDexEntry = globalScene.gameData.dexData[this.getStarterSpeciesId(species.speciesId)]; - return (dexEntry?.caughtAttr ?? 0n) & (starterDexEntry?.caughtAttr ?? 0n) & species.getFullUnlocksData(); + return (dexEntry?.caughtAttr ?? 0n) & species.getFullUnlocksData(); } /** @@ -939,7 +945,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { * * @param otherSpecies The species to check; defaults to current species * @param otherFormIndex The form index of the form to check; defaults to current form - * @returns StarterAttributes for the species + * @returns `true` if the form is caught */ isFormCaught(otherSpecies?: PokemonSpecies, otherFormIndex?: number | undefined): boolean { if (globalScene.dexForDevs) { @@ -954,6 +960,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } const isFormCaught = (caughtAttr & globalScene.gameData.getFormAttr(formIndex ?? 0)) > 0n; + return isFormCaught; } @@ -1151,7 +1158,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.blockInput = false; } else { ui.revertMode().then(() => { - console.log("exitCallback", this.exitCallback); if (this.exitCallback instanceof Function) { const exitCallback = this.exitCallback; this.exitCallback = null; diff --git a/test/testUtils/saves/data_pokedex_tests_v2.prsv b/test/testUtils/saves/data_pokedex_tests_v2.prsv new file mode 100644 index 00000000000..fff658d94d5 --- /dev/null +++ b/test/testUtils/saves/data_pokedex_tests_v2.prsv @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/test/ui/pokedex.test.ts b/test/ui/pokedex.test.ts index 41fb5e47f8c..ff5ca116ba8 100644 --- a/test/ui/pokedex.test.ts +++ b/test/ui/pokedex.test.ts @@ -12,6 +12,8 @@ import { DropDownColumn } from "#app/ui/filter-bar"; import type PokemonSpecies from "#app/data/pokemon-species"; import { PokemonType } from "#enums/pokemon-type"; import { UiMode } from "#enums/ui-mode"; +import PokedexPageUiHandler from "#app/ui/pokedex-page-ui-handler"; +import type { StarterAttributes } from "#app/system/game-data"; /* Information for the `data_pokedex_tests.psrv`: @@ -80,6 +82,26 @@ describe("UI - Pokedex", () => { return handler as PokedexUiHandler; } + /** + * Run the game to open the pokedex UI. + * @returns The handler for the pokedex UI. + */ + async function runToPokedexPage( + species: PokemonSpecies, + starterAttributes: StarterAttributes = {}, + ): Promise { + // Open the pokedex UI. + await game.runToTitle(); + + await game.phaseInterceptor.setOverlayMode(UiMode.POKEDEX_PAGE, species, starterAttributes); + + // Get the handler for the current UI. + const handler = game.scene.ui.getHandler(); + expect(handler).toBeInstanceOf(PokedexPageUiHandler); + + return handler as PokedexPageUiHandler; + } + /** * Compute a set of pokemon that have a specific ability in allAbilities * @param ability - The ability to filter for @@ -489,4 +511,37 @@ describe("UI - Pokedex", () => { expect(selectedPokemon).toEqual(pokedexHandler.lastSpecies.speciesId); }, ); + + /**************************** + * Tests for Pokédex Pages * + ****************************/ + + it("should show caught battle form as caught", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests_v2.prsv"); + const pageHandler = await runToPokedexPage(getPokemonSpecies(Species.VENUSAUR), { form: 1 }); + + // @ts-expect-error - `species` is private + expect(pageHandler.species.speciesId).toEqual(Species.VENUSAUR); + + // @ts-expect-error - `formIndex` is private + expect(pageHandler.formIndex).toEqual(1); + + expect(pageHandler.isFormCaught()).toEqual(true); + expect(pageHandler.isSeen()).toEqual(true); + }); + + //TODO: check tint of the sprite + it("should show uncaught battle form as seen", async () => { + await game.importData("./test/testUtils/saves/data_pokedex_tests_v2.prsv"); + const pageHandler = await runToPokedexPage(getPokemonSpecies(Species.VENUSAUR), { form: 2 }); + + // @ts-expect-error - `species` is private + expect(pageHandler.species.speciesId).toEqual(Species.VENUSAUR); + + // @ts-expect-error - `formIndex` is private + expect(pageHandler.formIndex).toEqual(2); + + expect(pageHandler.isFormCaught()).toEqual(false); + expect(pageHandler.isSeen()).toEqual(true); + }); }); From a81cac547bd511d0ae5c25f0895ca677137f9e93 Mon Sep 17 00:00:00 2001 From: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Date: Thu, 1 May 2025 13:15:36 -0500 Subject: [PATCH 080/102] [Sprite] Update Mystical Rock sprite with smaller variant (#5734) Update Mystical Rock sprite with smaller variant Co-authored-by: damocleas --- public/images/items.json | 16524 ++++++++++++------------ public/images/items.png | Bin 55816 -> 59346 bytes public/images/items/mystical_rock.png | Bin 915 -> 884 bytes 3 files changed, 8262 insertions(+), 8262 deletions(-) diff --git a/public/images/items.json b/public/images/items.json index 5848b02dd6a..4312f2a58c4 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -4,139 +4,13 @@ "image": "items.png", "format": "RGBA8888", "size": { - "w": 435, - "h": 435 + "w": 432, + "h": 432 }, "scale": 1, "frames": [ { - "filename": "relic_gold", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 11, - "w": 15, - "h": 11 - }, - "frame": { - "x": 0, - "y": 0, - "w": 15, - "h": 11 - } - }, - { - "filename": "ability_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 9, - "w": 24, - "h": 14 - }, - "frame": { - "x": 15, - "y": 0, - "w": 24, - "h": 14 - } - }, - { - "filename": "candy_overlay", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 12, - "w": 16, - "h": 15 - }, - "frame": { - "x": 39, - "y": 0, - "w": 16, - "h": 15 - } - }, - { - "filename": "eviolite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 55, - "y": 0, - "w": 15, - "h": 15 - } - }, - { - "filename": "prism_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 70, - "y": 0, - "w": 15, - "h": 15 - } - }, - { - "filename": "silver_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 24, - "h": 15 - }, - "frame": { - "x": 85, - "y": 0, - "w": 24, - "h": 15 - } - }, - { - "filename": "ultranecrozium_z", + "filename": "galarica_cuff", "rotated": false, "trimmed": true, "sourceSize": { @@ -145,7848 +19,15 @@ }, "spriteSourceSize": { "x": 1, - "y": 9, - "w": 30, - "h": 15 - }, - "frame": { - "x": 109, - "y": 0, - "w": 30, - "h": 15 - } - }, - { - "filename": "abomasite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 139, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "absolite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 155, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "aerodactylite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 171, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "aggronite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 187, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "alakazite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 203, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "altarianite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 219, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "ampharosite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 235, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "audinite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 251, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "banettite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 267, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "beedrillite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 283, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "blastoisinite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 299, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "blazikenite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 315, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "cameruptite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 331, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "charizardite_x", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 347, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "charizardite_y", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 363, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "diancite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 379, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "galladite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 395, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "garchompite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 411, - "y": 0, - "w": 16, - "h": 16 - } - }, - { - "filename": "revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 12, - "h": 17 - }, - "frame": { - "x": 0, - "y": 11, - "w": 12, - "h": 17 - } - }, - { - "filename": "gardevoirite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 12, - "y": 14, - "w": 16, - "h": 16 - } - }, - { - "filename": "gengarite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 28, - "y": 15, - "w": 16, - "h": 16 - } - }, - { - "filename": "glalitite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 44, - "y": 15, - "w": 16, - "h": 16 - } - }, - { - "filename": "gyaradosite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 60, - "y": 15, - "w": 16, - "h": 16 - } - }, - { - "filename": "heracronite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 76, - "y": 15, - "w": 16, - "h": 16 - } - }, - { - "filename": "houndoominite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 92, - "y": 15, - "w": 16, - "h": 16 - } - }, - { - "filename": "kangaskhanite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 108, - "y": 15, - "w": 16, - "h": 16 - } - }, - { - "filename": "latiasite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 124, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "latiosite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 140, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "lopunnite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 156, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "lucarionite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 172, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "manectite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 188, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "mawilite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 204, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "medichamite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 220, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "mega_bracelet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 16 - }, - "frame": { - "x": 236, - "y": 16, - "w": 20, - "h": 16 - } - }, - { - "filename": "metagrossite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 256, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "mewtwonite_x", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 272, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "mewtwonite_y", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 288, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "nugget", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 304, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "pidgeotite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 320, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "pinsirite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 336, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "rayquazite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 352, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "relic_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 9, - "w": 17, - "h": 16 - }, - "frame": { - "x": 368, - "y": 16, - "w": 17, - "h": 16 - } - }, - { - "filename": "sablenite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 385, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "salamencite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 401, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "sceptilite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 417, - "y": 16, - "w": 16, - "h": 16 - } - }, - { - "filename": "scizorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 0, - "y": 30, - "w": 16, - "h": 16 - } - }, - { - "filename": "sharpedonite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 16, - "y": 31, - "w": 16, - "h": 16 - } - }, - { - "filename": "slowbronite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 32, - "y": 31, - "w": 16, - "h": 16 - } - }, - { - "filename": "soul_dew", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 48, - "y": 31, - "w": 16, - "h": 16 - } - }, - { - "filename": "steelixite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 64, - "y": 31, - "w": 16, - "h": 16 - } - }, - { - "filename": "strawberry_sweet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 7, - "w": 16, - "h": 16 - }, - "frame": { - "x": 80, - "y": 31, - "w": 16, - "h": 16 - } - }, - { - "filename": "swampertite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 96, - "y": 31, - "w": 16, - "h": 16 - } - }, - { - "filename": "tyranitarite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 112, - "y": 32, - "w": 16, - "h": 16 - } - }, - { - "filename": "venusaurite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 128, - "y": 32, - "w": 16, - "h": 16 - } - }, - { - "filename": "black_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 144, - "y": 32, - "w": 23, - "h": 17 - } - }, - { - "filename": "burn_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 167, - "y": 32, - "w": 23, - "h": 17 - } - }, - { - "filename": "chill_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 190, - "y": 32, - "w": 23, - "h": 17 - } - }, - { - "filename": "douse_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 213, - "y": 32, - "w": 23, - "h": 17 - } - }, - { - "filename": "everstone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 17 - }, - "frame": { - "x": 236, - "y": 32, - "w": 20, - "h": 17 - } - }, - { - "filename": "shock_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 256, - "y": 32, - "w": 23, - "h": 17 - } - }, - { - "filename": "wise_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 279, - "y": 32, - "w": 23, - "h": 17 - } - }, - { - "filename": "baton", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 302, - "y": 32, - "w": 18, - "h": 18 - } - }, - { - "filename": "candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 11, - "w": 18, - "h": 18 - }, - "frame": { - "x": 320, - "y": 32, - "w": 18, - "h": 18 - } - }, - { - "filename": "choice_specs", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 338, - "y": 32, - "w": 24, - "h": 18 - } - }, - { - "filename": "dark_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 362, - "y": 32, - "w": 18, - "h": 18 - } - }, - { - "filename": "dragon_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 380, - "y": 32, - "w": 24, - "h": 18 - } - }, - { - "filename": "flame_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 404, - "y": 32, - "w": 18, - "h": 18 - } - }, - { - "filename": "mystery_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 18 - }, - "frame": { - "x": 0, - "y": 46, - "w": 16, - "h": 18 - } - }, - { - "filename": "light_ball", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 16, - "y": 47, - "w": 18, - "h": 18 - } - }, - { - "filename": "light_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 34, - "y": 47, - "w": 18, - "h": 18 - } - }, - { - "filename": "masterpiece_teacup", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 21, - "h": 18 - }, - "frame": { - "x": 52, - "y": 47, - "w": 21, - "h": 18 - } - }, - { - "filename": "old_gateau", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 21, - "h": 18 - }, - "frame": { - "x": 73, - "y": 47, - "w": 21, - "h": 18 - } - }, - { - "filename": "toxic_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 94, - "y": 47, - "w": 18, - "h": 18 - } - }, - { - "filename": "relic_crown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 18 - }, - "frame": { - "x": 112, - "y": 48, - "w": 23, - "h": 18 - } - }, - { - "filename": "sharp_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 21, - "h": 18 - }, - "frame": { - "x": 135, - "y": 49, - "w": 21, - "h": 18 - } - }, - { - "filename": "unremarkable_teacup", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 21, - "h": 18 - }, - "frame": { - "x": 156, - "y": 49, - "w": 21, - "h": 18 - } - }, - { - "filename": "wl_ability_urge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 177, - "y": 49, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_antidote", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 197, - "y": 49, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_awakening", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 217, - "y": 49, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_burn_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 237, - "y": 49, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_custom_spliced", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 257, - "y": 49, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_custom_thief", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 277, - "y": 49, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 297, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 317, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 337, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_full_restore", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 357, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_guard_spec", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 377, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 397, - "y": 50, - "w": 20, - "h": 18 - } - }, - { - "filename": "oval_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 19 - }, - "frame": { - "x": 417, - "y": 50, - "w": 18, - "h": 19 - } - }, - { - "filename": "wl_ice_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 0, - "y": 65, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_item_drop", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 20, - "y": 65, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_item_urge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 40, - "y": 65, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 60, - "y": 65, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 80, - "y": 65, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_max_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 100, - "y": 66, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_max_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 120, - "y": 67, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_paralyze_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 140, - "y": 67, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 160, - "y": 67, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_reset_urge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 180, - "y": 67, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 200, - "y": 67, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 220, - "y": 67, - "w": 20, - "h": 18 - } - }, - { - "filename": "big_mushroom", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 19 - }, - "frame": { - "x": 240, - "y": 67, - "w": 19, - "h": 19 - } - }, - { - "filename": "black_sludge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 259, - "y": 67, - "w": 22, - "h": 19 - } - }, - { - "filename": "blunder_policy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 19 - }, - "frame": { - "x": 281, - "y": 68, - "w": 22, - "h": 19 - } - }, - { - "filename": "coupon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 303, - "y": 68, - "w": 23, - "h": 19 - } - }, - { - "filename": "dubious_disc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 326, - "y": 68, - "w": 22, - "h": 19 - } - }, - { - "filename": "golden_mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 348, - "y": 68, - "w": 23, - "h": 19 - } - }, - { - "filename": "lum_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 371, - "y": 68, - "w": 20, - "h": 19 - } - }, - { - "filename": "metal_alloy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 21, - "h": 19 - }, - "frame": { - "x": 391, - "y": 68, - "w": 21, - "h": 19 - } - }, - { - "filename": "miracle_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 19, - "h": 19 - }, - "frame": { - "x": 412, - "y": 69, - "w": 19, - "h": 19 - } - }, - { - "filename": "mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 0, - "y": 83, - "w": 23, - "h": 19 - } - }, - { - "filename": "pair_of_tickets", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 23, - "y": 83, - "w": 23, - "h": 19 - } - }, - { - "filename": "power_herb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 46, - "y": 83, - "w": 20, - "h": 19 - } - }, - { - "filename": "razor_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 66, - "y": 83, - "w": 20, - "h": 19 - } - }, - { - "filename": "upgrade", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 86, - "y": 84, - "w": 22, - "h": 19 - } - }, - { - "filename": "white_herb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 108, - "y": 85, - "w": 20, - "h": 19 - } - }, - { - "filename": "apicot_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 128, - "y": 85, - "w": 19, - "h": 20 - } - }, - { - "filename": "big_nugget", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 147, - "y": 85, - "w": 20, - "h": 20 - } - }, - { - "filename": "binding_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 23, - "h": 20 - }, - "frame": { - "x": 167, - "y": 85, - "w": 23, - "h": 20 - } - }, - { - "filename": "blue_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 190, - "y": 85, - "w": 20, - "h": 20 - } - }, - { - "filename": "candy_jar", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 210, - "y": 85, - "w": 19, - "h": 20 - } - }, - { - "filename": "chipped_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 26, - "h": 20 - }, - "frame": { - "x": 229, - "y": 86, - "w": 26, - "h": 20 - } - }, - { - "filename": "cracked_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 26, - "h": 20 - }, - "frame": { - "x": 255, - "y": 86, - "w": 26, - "h": 20 - } - }, - { - "filename": "deep_sea_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 281, - "y": 87, - "w": 22, - "h": 20 - } - }, - { - "filename": "fairy_feather", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 20 - }, - "frame": { - "x": 303, - "y": 87, - "w": 22, - "h": 20 - } - }, - { - "filename": "gb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 325, - "y": 87, - "w": 20, - "h": 20 - } - }, - { - "filename": "golden_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 345, - "y": 87, - "w": 17, - "h": 20 - } - }, - { - "filename": "hard_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 362, - "y": 87, - "w": 19, - "h": 20 - } - }, - { - "filename": "icy_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 381, - "y": 87, - "w": 24, - "h": 20 - } - }, - { - "filename": "legend_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 25, - "h": 20 - }, - "frame": { - "x": 405, - "y": 88, - "w": 25, - "h": 20 - } - }, - { - "filename": "lucky_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 0, - "y": 102, - "w": 17, - "h": 20 - } - }, - { - "filename": "magnet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 17, - "y": 102, - "w": 20, - "h": 20 - } - }, - { - "filename": "malicious_armor", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 37, - "y": 102, - "w": 22, - "h": 20 - } - }, - { - "filename": "mb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 59, - "y": 102, - "w": 20, - "h": 20 - } - }, - { - "filename": "metal_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 79, - "y": 103, - "w": 24, - "h": 20 - } - }, - { - "filename": "pb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 103, - "y": 104, - "w": 20, - "h": 20 - } - }, - { - "filename": "pb_gold", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 123, - "y": 105, - "w": 20, - "h": 20 - } - }, - { - "filename": "pb_silver", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 143, - "y": 105, - "w": 20, - "h": 20 - } - }, - { - "filename": "quick_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 163, - "y": 105, - "w": 24, - "h": 20 - } - }, - { - "filename": "razor_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 18, - "h": 20 - }, - "frame": { - "x": 187, - "y": 105, - "w": 18, - "h": 20 - } - }, - { - "filename": "rb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 205, - "y": 105, - "w": 20, - "h": 20 - } - }, - { - "filename": "reviver_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 8, - "w": 23, - "h": 20 - }, - "frame": { - "x": 225, - "y": 106, - "w": 23, - "h": 20 - } - }, - { - "filename": "rusted_shield", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 248, - "y": 106, - "w": 24, - "h": 20 - } - }, - { - "filename": "sacred_ash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 272, - "y": 107, - "w": 24, - "h": 20 - } - }, - { - "filename": "shadow_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 296, - "y": 107, - "w": 24, - "h": 20 - } - }, - { - "filename": "shell_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 23, - "h": 20 - }, - "frame": { - "x": 320, - "y": 107, - "w": 23, - "h": 20 - } - }, - { - "filename": "smooth_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 343, - "y": 107, - "w": 20, - "h": 20 - } - }, - { - "filename": "soft_sand", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 363, - "y": 107, - "w": 24, - "h": 20 - } - }, - { - "filename": "strange_ball", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 387, - "y": 108, - "w": 20, - "h": 20 - } - }, - { - "filename": "tera_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 407, - "y": 108, - "w": 22, - "h": 20 - } - }, - { - "filename": "ub", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 0, - "y": 122, - "w": 20, - "h": 20 - } - }, - { - "filename": "adamant_crystal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 20, - "y": 122, - "w": 23, - "h": 21 - } - }, - { - "filename": "amulet_coin", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 43, - "y": 122, - "w": 23, - "h": 21 - } - }, - { - "filename": "auspicious_armor", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 66, - "y": 123, - "w": 23, - "h": 21 - } - }, - { - "filename": "berry_juice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 21 - }, - "frame": { - "x": 89, - "y": 124, - "w": 22, - "h": 21 - } - }, - { - "filename": "dawn_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 21 - }, - "frame": { - "x": 111, - "y": 125, - "w": 20, - "h": 21 - } - }, - { - "filename": "deep_sea_tooth", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 131, - "y": 125, - "w": 22, - "h": 21 - } - }, - { - "filename": "dusk_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 153, - "y": 125, - "w": 21, - "h": 21 - } - }, - { - "filename": "flying_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 20, - "h": 21 - }, - "frame": { - "x": 174, - "y": 125, - "w": 20, - "h": 21 - } - }, - { - "filename": "golden_net", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 21 - }, - "frame": { - "x": 194, - "y": 125, - "w": 24, - "h": 21 - } - }, - { - "filename": "liechi_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 218, - "y": 126, - "w": 22, - "h": 21 - } - }, - { - "filename": "mint_atk", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 28, - "h": 21 - }, - "frame": { - "x": 240, - "y": 126, - "w": 28, - "h": 21 - } - }, - { - "filename": "mint_def", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 28, - "h": 21 - }, - "frame": { - "x": 268, - "y": 127, - "w": 28, - "h": 21 - } - }, - { - "filename": "mint_neutral", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 28, - "h": 21 - }, - "frame": { - "x": 296, - "y": 127, - "w": 28, - "h": 21 - } - }, - { - "filename": "mint_spatk", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 28, - "h": 21 - }, - "frame": { - "x": 324, - "y": 127, - "w": 28, - "h": 21 - } - }, - { - "filename": "mint_spd", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 28, - "h": 21 - }, - "frame": { - "x": 352, - "y": 127, - "w": 28, - "h": 21 - } - }, - { - "filename": "mint_spdef", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 28, - "h": 21 - }, - "frame": { - "x": 380, - "y": 128, - "w": 28, - "h": 21 - } - }, - { - "filename": "moon_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 408, - "y": 128, - "w": 23, - "h": 21 - } - }, - { - "filename": "quick_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 21 - }, - "frame": { - "x": 0, - "y": 142, - "w": 19, - "h": 21 - } - }, - { - "filename": "n_lunarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 19, - "y": 143, - "w": 23, - "h": 21 - } - }, - { - "filename": "n_solarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 42, - "y": 143, - "w": 23, - "h": 21 - } - }, - { - "filename": "poison_barb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 65, - "y": 144, - "w": 21, - "h": 21 - } - }, - { - "filename": "shiny_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 86, - "y": 145, - "w": 21, - "h": 21 - } - }, - { - "filename": "spell_tag", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 19, - "h": 21 - }, - "frame": { - "x": 107, - "y": 146, - "w": 19, - "h": 21 - } - }, - { - "filename": "sweet_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 126, - "y": 146, - "w": 22, - "h": 21 - } - }, - { - "filename": "syrupy_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 148, - "y": 146, - "w": 22, - "h": 21 - } - }, - { - "filename": "tart_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 170, - "y": 146, - "w": 22, - "h": 21 - } - }, - { - "filename": "wellspring_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 192, - "y": 146, - "w": 23, - "h": 21 - } - }, - { - "filename": "zoom_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 215, - "y": 147, - "w": 21, - "h": 21 - } - }, - { - "filename": "berry_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 18, - "h": 22 - }, - "frame": { - "x": 236, - "y": 147, - "w": 18, - "h": 22 - } - }, - { - "filename": "bug_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 254, - "y": 148, - "w": 22, - "h": 22 - } - }, - { - "filename": "charcoal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 276, - "y": 148, - "w": 22, - "h": 22 - } - }, - { - "filename": "dark_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 298, - "y": 148, - "w": 22, - "h": 22 - } - }, - { - "filename": "dire_hit", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 320, - "y": 148, - "w": 22, - "h": 22 - } - }, - { - "filename": "dna_splicers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 342, - "y": 148, - "w": 22, - "h": 22 - } - }, - { - "filename": "leftovers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 15, - "h": 22 - }, - "frame": { - "x": 364, - "y": 148, - "w": 15, - "h": 22 - } - }, - { - "filename": "dragon_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 379, - "y": 149, - "w": 22, - "h": 22 - } - }, - { - "filename": "electirizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 401, - "y": 149, - "w": 22, - "h": 22 - } - }, - { - "filename": "lock_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 0, - "y": 163, - "w": 19, - "h": 22 - } - }, - { - "filename": "electric_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 19, - "y": 164, - "w": 22, - "h": 22 - } - }, - { - "filename": "enigma_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 41, - "y": 164, - "w": 22, - "h": 22 - } - }, - { - "filename": "fairy_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 63, - "y": 165, - "w": 22, - "h": 22 - } - }, - { - "filename": "fighting_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 85, - "y": 166, - "w": 22, - "h": 22 - } - }, - { - "filename": "exp_balance", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 107, - "y": 167, - "w": 24, - "h": 22 - } - }, - { - "filename": "exp_share", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 131, - "y": 167, - "w": 24, - "h": 22 - } - }, - { - "filename": "fire_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 155, - "y": 167, - "w": 22, - "h": 22 - } - }, - { - "filename": "flying_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 177, - "y": 167, - "w": 22, - "h": 22 - } - }, - { - "filename": "full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 15, - "h": 23 - }, - "frame": { - "x": 199, - "y": 167, - "w": 15, - "h": 23 - } - }, - { - "filename": "ganlon_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 214, - "y": 168, - "w": 22, - "h": 22 - } - }, - { - "filename": "metronome", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 236, - "y": 169, - "w": 17, - "h": 22 - } - }, - { - "filename": "ghost_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 253, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "grass_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 275, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "ground_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 297, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "guard_spec", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 319, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "hard_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 341, - "y": 170, - "w": 20, - "h": 22 - } - }, - { - "filename": "soothe_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 361, - "y": 170, - "w": 17, - "h": 22 - } - }, - { - "filename": "healing_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 378, - "y": 171, - "w": 23, - "h": 22 - } - }, - { - "filename": "ice_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 401, - "y": 171, - "w": 22, - "h": 22 - } - }, - { - "filename": "metal_coat", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 0, - "y": 185, - "w": 19, - "h": 22 - } - }, - { - "filename": "ice_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 19, - "y": 186, - "w": 22, - "h": 22 - } - }, - { - "filename": "magmarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 41, - "y": 186, - "w": 22, - "h": 22 - } - }, - { - "filename": "mini_black_hole", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 63, - "y": 187, - "w": 22, - "h": 22 - } - }, - { - "filename": "moon_flute", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 85, - "y": 188, - "w": 22, - "h": 22 - } - }, - { - "filename": "map", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 5, - "w": 27, - "h": 22 - }, - "frame": { - "x": 107, - "y": 189, - "w": 27, - "h": 22 - } - }, - { - "filename": "normal_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 134, - "y": 189, - "w": 22, - "h": 22 - } - }, - { - "filename": "peat_block", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 156, - "y": 189, - "w": 24, - "h": 22 - } - }, - { - "filename": "hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 180, - "y": 189, - "w": 17, - "h": 23 - } - }, - { - "filename": "poison_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 197, - "y": 190, - "w": 22, - "h": 22 - } - }, - { - "filename": "potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 219, - "y": 190, - "w": 17, - "h": 23 - } - }, - { - "filename": "protector", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 236, - "y": 192, - "w": 22, - "h": 22 - } - }, - { - "filename": "psychic_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 258, - "y": 192, - "w": 22, - "h": 22 - } - }, - { - "filename": "rock_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 280, - "y": 192, - "w": 22, - "h": 22 - } - }, - { - "filename": "rusted_sword", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 302, - "y": 192, - "w": 23, - "h": 22 - } - }, - { - "filename": "scroll_of_darkness", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 325, - "y": 192, - "w": 22, - "h": 22 - } - }, - { - "filename": "scroll_of_waters", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 347, - "y": 192, - "w": 22, - "h": 22 - } - }, - { - "filename": "shed_shell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 369, - "y": 193, - "w": 22, - "h": 22 - } - }, - { - "filename": "sitrus_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 391, - "y": 193, - "w": 20, - "h": 22 - } - }, - { - "filename": "starf_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 411, - "y": 193, - "w": 22, - "h": 22 - } - }, - { - "filename": "sachet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 18, - "h": 23 - }, - "frame": { - "x": 0, - "y": 207, - "w": 18, - "h": 23 - } - }, - { - "filename": "steel_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 18, - "y": 208, - "w": 22, - "h": 22 - } - }, - { - "filename": "sun_flute", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 40, - "y": 208, - "w": 22, - "h": 22 - } - }, - { - "filename": "thick_club", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 62, - "y": 209, - "w": 22, - "h": 22 - } - }, - { - "filename": "thunder_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 84, - "y": 210, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_bug", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 106, - "y": 211, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_dark", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 128, - "y": 211, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_dragon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 150, - "y": 211, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_electric", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 172, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_fairy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 194, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "mystic_water", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 20, - "h": 23 - }, - "frame": { - "x": 216, - "y": 213, - "w": 20, - "h": 23 - } - }, - { - "filename": "tm_fighting", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 236, - "y": 214, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_fire", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 258, - "y": 214, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_flying", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 280, - "y": 214, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ghost", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 302, - "y": 214, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_grass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 324, - "y": 214, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ground", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 346, - "y": 214, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 368, - "y": 215, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_normal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 390, - "y": 215, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_poison", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 412, - "y": 215, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_psychic", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 0, - "y": 230, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 22, - "y": 230, - "w": 22, - "h": 22 - } - }, - { - "filename": "super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 44, - "y": 230, - "w": 17, - "h": 23 - } - }, - { - "filename": "tm_steel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 61, - "y": 231, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_water", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 83, - "y": 232, - "w": 22, - "h": 22 - } - }, - { - "filename": "water_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 105, - "y": 233, - "w": 22, - "h": 22 - } - }, - { - "filename": "water_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 127, - "y": 233, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_accuracy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 149, - "y": 233, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_attack", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 171, - "y": 234, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_defense", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 193, - "y": 234, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_sp_atk", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 215, - "y": 236, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_sp_def", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 237, - "y": 236, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_speed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 259, - "y": 236, - "w": 22, - "h": 22 - } - }, - { - "filename": "berry_pouch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 281, - "y": 236, - "w": 23, - "h": 23 - } - }, - { - "filename": "black_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 304, - "y": 236, - "w": 22, - "h": 23 - } - }, - { - "filename": "bug_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 326, - "y": 236, - "w": 22, - "h": 23 - } - }, - { - "filename": "calcium", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 348, - "y": 236, - "w": 16, - "h": 24 - } - }, - { - "filename": "clefairy_doll", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 364, - "y": 237, - "w": 24, - "h": 23 - } - }, - { - "filename": "coin_case", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 388, - "y": 237, - "w": 24, - "h": 23 - } - }, - { - "filename": "dark_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 412, - "y": 237, - "w": 22, - "h": 23 - } - }, - { - "filename": "dragon_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 0, - "y": 252, - "w": 21, - "h": 23 - } - }, - { - "filename": "dragon_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 21, - "y": 252, - "w": 22, - "h": 23 - } - }, - { - "filename": "dynamax_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 23 - }, - "frame": { - "x": 43, - "y": 253, - "w": 23, - "h": 23 - } - }, - { - "filename": "carbos", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 66, - "y": 253, - "w": 16, - "h": 24 - } - }, - { - "filename": "electric_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 82, - "y": 254, - "w": 22, - "h": 23 - } - }, - { - "filename": "expert_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 104, - "y": 255, - "w": 24, - "h": 23 - } - }, - { - "filename": "fairy_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 128, - "y": 255, - "w": 22, - "h": 23 - } - }, - { - "filename": "lansat_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 150, - "y": 255, - "w": 21, - "h": 23 - } - }, - { - "filename": "fighting_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 171, - "y": 256, - "w": 22, - "h": 23 - } - }, - { - "filename": "fire_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 193, - "y": 256, - "w": 22, - "h": 23 - } - }, - { - "filename": "fire_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 215, - "y": 258, - "w": 22, - "h": 23 - } - }, - { - "filename": "focus_sash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 237, - "y": 258, - "w": 22, - "h": 23 - } - }, - { - "filename": "ghost_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 259, - "y": 258, - "w": 22, - "h": 23 - } - }, - { - "filename": "grass_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 281, - "y": 259, - "w": 22, - "h": 23 - } - }, - { - "filename": "griseous_core", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 303, - "y": 259, - "w": 23, - "h": 23 - } - }, - { - "filename": "ground_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 326, - "y": 259, - "w": 22, - "h": 23 - } - }, - { - "filename": "hearthflame_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 348, - "y": 260, - "w": 24, - "h": 23 - } - }, - { - "filename": "ice_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 372, - "y": 260, - "w": 22, - "h": 23 - } - }, - { - "filename": "leaf_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 394, - "y": 260, - "w": 21, - "h": 23 - } - }, - { - "filename": "elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 415, - "y": 260, - "w": 18, - "h": 24 - } - }, - { - "filename": "leek", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 0, - "y": 275, - "w": 23, - "h": 23 - } - }, - { - "filename": "ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 23, - "y": 275, - "w": 18, - "h": 24 - } - }, - { - "filename": "leppa_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 41, - "y": 276, - "w": 24, - "h": 23 - } - }, - { - "filename": "macho_brace", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 65, - "y": 277, - "w": 23, - "h": 23 - } - }, - { - "filename": "hp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 88, - "y": 277, - "w": 16, - "h": 24 - } - }, - { - "filename": "never_melt_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 104, - "y": 278, - "w": 22, - "h": 23 - } - }, - { - "filename": "normal_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 126, - "y": 278, - "w": 22, - "h": 23 - } - }, - { - "filename": "petaya_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 148, - "y": 278, - "w": 22, - "h": 23 - } - }, - { - "filename": "poison_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 170, - "y": 279, - "w": 22, - "h": 23 - } - }, - { - "filename": "psychic_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 192, - "y": 279, - "w": 22, - "h": 23 - } - }, - { - "filename": "rare_candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 214, - "y": 281, - "w": 23, - "h": 23 - } - }, - { - "filename": "rarer_candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 237, - "y": 281, - "w": 23, - "h": 23 - } - }, - { - "filename": "sharp_beak", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 260, - "y": 281, - "w": 21, - "h": 23 - } - }, - { - "filename": "reaper_cloth", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 281, - "y": 282, - "w": 22, - "h": 23 - } - }, - { - "filename": "rock_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 303, - "y": 282, - "w": 22, - "h": 23 - } - }, - { - "filename": "steel_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 325, - "y": 282, - "w": 22, - "h": 23 - } - }, - { - "filename": "scope_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 347, - "y": 283, - "w": 24, - "h": 23 - } - }, - { - "filename": "stellar_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 371, - "y": 283, - "w": 22, - "h": 23 - } - }, - { - "filename": "water_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 393, - "y": 283, - "w": 22, - "h": 23 - } - }, - { - "filename": "full_restore", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 415, - "y": 284, - "w": 18, - "h": 24 - } - }, - { - "filename": "whipped_dream", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 0, - "y": 298, - "w": 21, - "h": 23 - } - }, - { - "filename": "twisted_spoon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 21, - "y": 299, - "w": 24, - "h": 23 - } - }, - { - "filename": "iron", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 45, - "y": 299, - "w": 16, - "h": 24 - } - }, - { - "filename": "wide_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 61, - "y": 300, - "w": 22, - "h": 23 - } - }, - { - "filename": "big_root", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 83, - "y": 301, - "w": 23, - "h": 24 - } - }, - { - "filename": "blank_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 106, - "y": 301, - "w": 24, - "h": 24 - } - }, - { - "filename": "catching_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 130, - "y": 301, - "w": 21, - "h": 24 - } - }, - { - "filename": "lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 151, - "y": 301, - "w": 17, - "h": 24 - } - }, - { - "filename": "choice_scarf", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 168, - "y": 302, - "w": 24, - "h": 24 - } - }, - { - "filename": "max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 192, - "y": 302, - "w": 18, - "h": 24 - } - }, - { - "filename": "draco_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 210, - "y": 304, - "w": 24, - "h": 24 - } - }, - { - "filename": "dread_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 234, - "y": 304, - "w": 24, - "h": 24 - } - }, - { - "filename": "kings_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 258, - "y": 304, - "w": 23, - "h": 24 - } - }, - { - "filename": "earth_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 281, - "y": 305, - "w": 24, - "h": 24 - } - }, - { - "filename": "fist_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 305, - "y": 305, - "w": 24, - "h": 24 - } - }, - { - "filename": "max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 329, - "y": 305, - "w": 18, - "h": 24 - } - }, - { - "filename": "flame_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 347, - "y": 306, - "w": 24, - "h": 24 - } - }, - { - "filename": "focus_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 371, - "y": 306, - "w": 24, - "h": 24 - } - }, - { - "filename": "max_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 395, - "y": 306, - "w": 17, - "h": 24 - } - }, - { - "filename": "max_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 412, - "y": 308, - "w": 18, - "h": 24 - } - }, - { - "filename": "max_repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 0, - "y": 321, - "w": 16, - "h": 24 - } - }, - { - "filename": "golden_punch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 16, - "y": 322, - "w": 24, - "h": 24 - } - }, - { - "filename": "gracidea", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 40, - "y": 323, - "w": 24, - "h": 24 - } - }, - { - "filename": "pp_max", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 64, - "y": 323, - "w": 16, - "h": 24 - } - }, - { - "filename": "grip_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 80, - "y": 325, - "w": 24, - "h": 24 - } - }, - { - "filename": "icicle_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 104, - "y": 325, - "w": 24, - "h": 24 - } - }, - { - "filename": "insect_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 128, - "y": 325, - "w": 24, - "h": 24 - } - }, - { - "filename": "pp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 152, - "y": 325, - "w": 16, - "h": 24 - } - }, - { - "filename": "iron_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 168, - "y": 326, - "w": 24, - "h": 24 - } - }, - { - "filename": "protein", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 192, - "y": 326, - "w": 16, - "h": 24 - } - }, - { - "filename": "lucky_punch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 208, - "y": 328, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_great", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 232, - "y": 328, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_master", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 256, - "y": 328, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_ultra", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 280, - "y": 329, - "w": 24, - "h": 24 - } - }, - { - "filename": "lustrous_globe", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 304, - "y": 329, - "w": 24, - "h": 24 - } - }, - { - "filename": "repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 328, - "y": 329, - "w": 16, - "h": 24 - } - }, - { - "filename": "max_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 24 - }, - "frame": { - "x": 344, - "y": 330, - "w": 22, - "h": 24 - } - }, - { - "filename": "meadow_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 366, - "y": 330, - "w": 24, - "h": 24 - } - }, - { - "filename": "oval_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 390, - "y": 330, - "w": 21, - "h": 24 - } - }, - { - "filename": "mind_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 411, - "y": 332, - "w": 24, - "h": 24 - } - }, - { - "filename": "super_repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 0, - "y": 345, - "w": 16, - "h": 24 - } - }, - { - "filename": "muscle_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 16, - "y": 346, - "w": 24, - "h": 24 - } - }, - { - "filename": "pixie_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 40, - "y": 347, - "w": 24, - "h": 24 - } - }, - { - "filename": "unknown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 64, - "y": 347, - "w": 16, - "h": 24 - } - }, - { - "filename": "red_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 80, - "y": 349, - "w": 20, - "h": 24 - } - }, - { - "filename": "reveal_glass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 100, - "y": 349, - "w": 23, - "h": 24 - } - }, - { - "filename": "salac_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 123, - "y": 349, - "w": 24, - "h": 24 - } - }, - { - "filename": "shiny_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 147, - "y": 349, - "w": 21, - "h": 24 - } - }, - { - "filename": "scanner", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 168, - "y": 350, - "w": 24, - "h": 24 - } - }, - { - "filename": "zinc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 192, - "y": 350, - "w": 16, - "h": 24 - } - }, - { - "filename": "silk_scarf", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 208, - "y": 352, - "w": 24, - "h": 24 - } - }, - { - "filename": "sky_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 232, - "y": 352, - "w": 24, - "h": 24 - } - }, - { - "filename": "splash_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 256, - "y": 352, - "w": 24, - "h": 24 - } - }, - { - "filename": "spooky_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 280, - "y": 353, - "w": 24, - "h": 24 - } - }, - { - "filename": "stone_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 304, - "y": 353, - "w": 24, - "h": 24 - } - }, - { - "filename": "sun_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 328, - "y": 354, - "w": 24, - "h": 24 - } - }, - { - "filename": "super_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 352, - "y": 354, - "w": 17, - "h": 24 - } - }, - { - "filename": "toxic_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 369, - "y": 354, - "w": 24, - "h": 24 - } - }, - { - "filename": "zap_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 393, - "y": 356, - "w": 24, - "h": 24 - } - }, - { - "filename": "prison_bottle", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, "y": 1, - "w": 17, + "w": 29, "h": 30 }, - "frame": { - "x": 417, - "y": 356, - "w": 17, - "h": 30 - } - }, - { - "filename": "black_augurite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 3, - "w": 22, - "h": 25 - }, "frame": { "x": 0, - "y": 370, - "w": 22, - "h": 25 - } - }, - { - "filename": "ability_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 23, - "h": 26 - }, - "frame": { - "x": 22, - "y": 371, - "w": 23, - "h": 26 - } - }, - { - "filename": "cornerstone_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 3, - "w": 24, - "h": 26 - }, - "frame": { - "x": 45, - "y": 371, - "w": 24, - "h": 26 - } - }, - { - "filename": "linking_cord", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 27, - "h": 26 - }, - "frame": { - "x": 69, - "y": 373, - "w": 27, - "h": 26 - } - }, - { - "filename": "mystical_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 28, - "h": 26 - }, - "frame": { - "x": 96, - "y": 373, - "w": 28, - "h": 26 + "y": 0, + "w": 29, + "h": 30 } }, { @@ -8004,54 +45,12 @@ "h": 27 }, "frame": { - "x": 124, - "y": 373, + "x": 29, + "y": 0, "w": 32, "h": 27 } }, - { - "filename": "leaders_crest", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 29, - "h": 27 - }, - "frame": { - "x": 156, - "y": 374, - "w": 29, - "h": 27 - } - }, - { - "filename": "ribbon_gen1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 22, - "h": 28 - }, - "frame": { - "x": 185, - "y": 374, - "w": 22, - "h": 28 - } - }, { "filename": "max_mushrooms", "rotated": false, @@ -8067,33 +66,12 @@ "h": 28 }, "frame": { - "x": 207, - "y": 376, + "x": 0, + "y": 30, "w": 29, "h": 28 } }, - { - "filename": "ribbon_gen2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 28, - "h": 28 - }, - "frame": { - "x": 236, - "y": 376, - "w": 28, - "h": 28 - } - }, { "filename": "ribbon_gen4", "rotated": false, @@ -8109,14 +87,14 @@ "h": 28 }, "frame": { - "x": 264, - "y": 377, + "x": 29, + "y": 27, "w": 30, "h": 28 } }, { - "filename": "ribbon_gen5", + "filename": "leaders_crest", "rotated": false, "trimmed": true, "sourceSize": { @@ -8124,184 +102,37 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, + "x": 2, + "y": 3, + "w": 29, + "h": 27 + }, + "frame": { + "x": 61, + "y": 0, + "w": 29, + "h": 27 + } + }, + { + "filename": "ribbon_gen2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, "y": 2, - "w": 22, + "w": 28, "h": 28 }, - "frame": { - "x": 294, - "y": 377, - "w": 22, - "h": 28 - } - }, - { - "filename": "ribbon_gen6", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 22, - "h": 28 - }, - "frame": { - "x": 316, - "y": 378, - "w": 22, - "h": 28 - } - }, - { - "filename": "ribbon_gen8", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 22, - "h": 28 - }, - "frame": { - "x": 338, - "y": 378, - "w": 22, - "h": 28 - } - }, - { - "filename": "ribbon_gen3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 22, - "h": 29 - }, - "frame": { - "x": 360, - "y": 378, - "w": 22, - "h": 29 - } - }, - { - "filename": "ribbon_gen7", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 22, - "h": 29 - }, - "frame": { - "x": 382, - "y": 380, - "w": 22, - "h": 29 - } - }, - { - "filename": "ribbon_gen9", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 22, - "h": 29 - }, - "frame": { - "x": 404, - "y": 386, - "w": 22, - "h": 29 - } - }, - { - "filename": "inverse", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 1, - "w": 22, - "h": 30 - }, "frame": { "x": 0, - "y": 395, - "w": 22, - "h": 30 - } - }, - { - "filename": "galarica_cuff", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 29, - "h": 30 - }, - "frame": { - "x": 22, - "y": 397, - "w": 29, - "h": 30 - } - }, - { - "filename": "exp_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 17, - "h": 31 - }, - "frame": { - "x": 51, - "y": 397, - "w": 17, - "h": 31 + "y": 58, + "w": 28, + "h": 28 } }, { @@ -8319,54 +150,12 @@ "h": 31 }, "frame": { - "x": 68, - "y": 399, + "x": 0, + "y": 86, "w": 22, "h": 31 } }, - { - "filename": "golden_exp_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 17, - "h": 31 - }, - "frame": { - "x": 90, - "y": 399, - "w": 17, - "h": 31 - } - }, - { - "filename": "super_exp_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 17, - "h": 31 - }, - "frame": { - "x": 107, - "y": 399, - "w": 17, - "h": 31 - } - }, { "filename": "great_ribbon", "rotated": false, @@ -8382,12 +171,33 @@ "h": 31 }, "frame": { - "x": 124, - "y": 400, + "x": 0, + "y": 117, "w": 22, "h": 31 } }, + { + "filename": "linking_cord", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 3, + "w": 27, + "h": 26 + }, + "frame": { + "x": 59, + "y": 27, + "w": 27, + "h": 26 + } + }, { "filename": "master_ribbon", "rotated": false, @@ -8403,8 +213,8 @@ "h": 31 }, "frame": { - "x": 146, - "y": 401, + "x": 0, + "y": 148, "w": 22, "h": 31 } @@ -8424,8 +234,8 @@ "h": 31 }, "frame": { - "x": 168, - "y": 402, + "x": 0, + "y": 179, "w": 22, "h": 31 } @@ -8445,11 +255,8201 @@ "h": 31 }, "frame": { - "x": 190, - "y": 404, + "x": 0, + "y": 210, "w": 22, "h": 31 } + }, + { + "filename": "inverse", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 30 + }, + "frame": { + "x": 0, + "y": 241, + "w": 22, + "h": 30 + } + }, + { + "filename": "ribbon_gen3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 29 + }, + "frame": { + "x": 0, + "y": 271, + "w": 22, + "h": 29 + } + }, + { + "filename": "ribbon_gen7", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 29 + }, + "frame": { + "x": 0, + "y": 300, + "w": 22, + "h": 29 + } + }, + { + "filename": "ribbon_gen9", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 29 + }, + "frame": { + "x": 0, + "y": 329, + "w": 22, + "h": 29 + } + }, + { + "filename": "cornerstone_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 3, + "w": 24, + "h": 26 + }, + "frame": { + "x": 90, + "y": 0, + "w": 24, + "h": 26 + } + }, + { + "filename": "ribbon_gen1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 0, + "y": 358, + "w": 22, + "h": 28 + } + }, + { + "filename": "ribbon_gen5", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 0, + "y": 386, + "w": 22, + "h": 28 + } + }, + { + "filename": "choice_specs", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 24, + "h": 18 + }, + "frame": { + "x": 0, + "y": 414, + "w": 24, + "h": 18 + } + }, + { + "filename": "ability_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 3, + "w": 23, + "h": 26 + }, + "frame": { + "x": 114, + "y": 0, + "w": 23, + "h": 26 + } + }, + { + "filename": "map", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 5, + "w": 27, + "h": 22 + }, + "frame": { + "x": 137, + "y": 0, + "w": 27, + "h": 22 + } + }, + { + "filename": "mint_atk", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 28, + "h": 21 + }, + "frame": { + "x": 164, + "y": 0, + "w": 28, + "h": 21 + } + }, + { + "filename": "mint_def", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 28, + "h": 21 + }, + "frame": { + "x": 192, + "y": 0, + "w": 28, + "h": 21 + } + }, + { + "filename": "mint_neutral", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 28, + "h": 21 + }, + "frame": { + "x": 220, + "y": 0, + "w": 28, + "h": 21 + } + }, + { + "filename": "mint_spatk", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 28, + "h": 21 + }, + "frame": { + "x": 248, + "y": 0, + "w": 28, + "h": 21 + } + }, + { + "filename": "mint_spd", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 28, + "h": 21 + }, + "frame": { + "x": 276, + "y": 0, + "w": 28, + "h": 21 + } + }, + { + "filename": "mint_spdef", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 28, + "h": 21 + }, + "frame": { + "x": 304, + "y": 0, + "w": 28, + "h": 21 + } + }, + { + "filename": "chipped_pot", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 6, + "w": 26, + "h": 20 + }, + "frame": { + "x": 332, + "y": 0, + "w": 26, + "h": 20 + } + }, + { + "filename": "cracked_pot", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 6, + "w": 26, + "h": 20 + }, + "frame": { + "x": 358, + "y": 0, + "w": 26, + "h": 20 + } + }, + { + "filename": "legend_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 6, + "w": 25, + "h": 20 + }, + "frame": { + "x": 384, + "y": 0, + "w": 25, + "h": 20 + } + }, + { + "filename": "big_root", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 409, + "y": 0, + "w": 23, + "h": 24 + } + }, + { + "filename": "exp_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 1, + "w": 17, + "h": 31 + }, + "frame": { + "x": 22, + "y": 86, + "w": 17, + "h": 31 + } + }, + { + "filename": "golden_exp_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 1, + "w": 17, + "h": 31 + }, + "frame": { + "x": 22, + "y": 117, + "w": 17, + "h": 31 + } + }, + { + "filename": "super_exp_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 1, + "w": 17, + "h": 31 + }, + "frame": { + "x": 22, + "y": 148, + "w": 17, + "h": 31 + } + }, + { + "filename": "prison_bottle", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 1, + "w": 17, + "h": 30 + }, + "frame": { + "x": 22, + "y": 179, + "w": 17, + "h": 30 + } + }, + { + "filename": "ribbon_gen6", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 22, + "y": 209, + "w": 22, + "h": 28 + } + }, + { + "filename": "ribbon_gen8", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 22, + "y": 237, + "w": 22, + "h": 28 + } + }, + { + "filename": "black_augurite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 3, + "w": 22, + "h": 25 + }, + "frame": { + "x": 22, + "y": 265, + "w": 22, + "h": 25 + } + }, + { + "filename": "blank_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 22, + "y": 290, + "w": 24, + "h": 24 + } + }, + { + "filename": "choice_scarf", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 22, + "y": 314, + "w": 24, + "h": 24 + } + }, + { + "filename": "draco_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 22, + "y": 338, + "w": 24, + "h": 24 + } + }, + { + "filename": "dread_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 22, + "y": 362, + "w": 24, + "h": 24 + } + }, + { + "filename": "earth_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 22, + "y": 386, + "w": 24, + "h": 24 + } + }, + { + "filename": "exp_balance", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 24, + "y": 410, + "w": 24, + "h": 22 + } + }, + { + "filename": "ultranecrozium_z", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 1, + "y": 9, + "w": 30, + "h": 15 + }, + "frame": { + "x": 29, + "y": 55, + "w": 30, + "h": 15 + } + }, + { + "filename": "mega_bracelet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 16 + }, + "frame": { + "x": 28, + "y": 70, + "w": 20, + "h": 16 + } + }, + { + "filename": "mystical_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 25, + "h": 23 + }, + "frame": { + "x": 59, + "y": 53, + "w": 25, + "h": 23 + } + }, + { + "filename": "calcium", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 39, + "y": 86, + "w": 16, + "h": 24 + } + }, + { + "filename": "carbos", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 39, + "y": 110, + "w": 16, + "h": 24 + } + }, + { + "filename": "catching_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 39, + "y": 134, + "w": 21, + "h": 24 + } + }, + { + "filename": "fist_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 39, + "y": 158, + "w": 24, + "h": 24 + } + }, + { + "filename": "flame_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 39, + "y": 182, + "w": 24, + "h": 24 + } + }, + { + "filename": "focus_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 44, + "y": 206, + "w": 24, + "h": 24 + } + }, + { + "filename": "golden_punch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 44, + "y": 230, + "w": 24, + "h": 24 + } + }, + { + "filename": "gracidea", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 44, + "y": 254, + "w": 24, + "h": 24 + } + }, + { + "filename": "grip_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 55, + "y": 76, + "w": 24, + "h": 24 + } + }, + { + "filename": "icicle_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 55, + "y": 100, + "w": 24, + "h": 24 + } + }, + { + "filename": "insect_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 46, + "y": 278, + "w": 24, + "h": 24 + } + }, + { + "filename": "iron_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 46, + "y": 302, + "w": 24, + "h": 24 + } + }, + { + "filename": "lucky_punch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 46, + "y": 326, + "w": 24, + "h": 24 + } + }, + { + "filename": "lucky_punch_great", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 46, + "y": 350, + "w": 24, + "h": 24 + } + }, + { + "filename": "lucky_punch_master", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 46, + "y": 374, + "w": 24, + "h": 24 + } + }, + { + "filename": "kings_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 48, + "y": 398, + "w": 23, + "h": 24 + } + }, + { + "filename": "lucky_punch_ultra", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 60, + "y": 124, + "w": 24, + "h": 24 + } + }, + { + "filename": "lustrous_globe", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 63, + "y": 148, + "w": 24, + "h": 24 + } + }, + { + "filename": "meadow_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 63, + "y": 172, + "w": 24, + "h": 24 + } + }, + { + "filename": "max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 24 + }, + "frame": { + "x": 68, + "y": 196, + "w": 22, + "h": 24 + } + }, + { + "filename": "mind_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 68, + "y": 220, + "w": 24, + "h": 24 + } + }, + { + "filename": "muscle_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 68, + "y": 244, + "w": 24, + "h": 24 + } + }, + { + "filename": "pixie_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 268, + "w": 24, + "h": 24 + } + }, + { + "filename": "salac_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 292, + "w": 24, + "h": 24 + } + }, + { + "filename": "scanner", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 316, + "w": 24, + "h": 24 + } + }, + { + "filename": "silk_scarf", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 340, + "w": 24, + "h": 24 + } + }, + { + "filename": "sky_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 70, + "y": 364, + "w": 24, + "h": 24 + } + }, + { + "filename": "reveal_glass", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 71, + "y": 388, + "w": 23, + "h": 24 + } + }, + { + "filename": "icy_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 71, + "y": 412, + "w": 24, + "h": 20 + } + }, + { + "filename": "elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 79, + "y": 76, + "w": 18, + "h": 24 + } + }, + { + "filename": "ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 79, + "y": 100, + "w": 18, + "h": 24 + } + }, + { + "filename": "full_restore", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 84, + "y": 124, + "w": 18, + "h": 24 + } + }, + { + "filename": "hp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 87, + "y": 148, + "w": 16, + "h": 24 + } + }, + { + "filename": "iron", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 87, + "y": 172, + "w": 16, + "h": 24 + } + }, + { + "filename": "lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 90, + "y": 196, + "w": 17, + "h": 24 + } + }, + { + "filename": "max_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 92, + "y": 220, + "w": 18, + "h": 24 + } + }, + { + "filename": "max_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 92, + "y": 244, + "w": 18, + "h": 24 + } + }, + { + "filename": "max_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 94, + "y": 268, + "w": 17, + "h": 24 + } + }, + { + "filename": "max_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 94, + "y": 292, + "w": 18, + "h": 24 + } + }, + { + "filename": "oval_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 94, + "y": 316, + "w": 21, + "h": 24 + } + }, + { + "filename": "shiny_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 94, + "y": 340, + "w": 21, + "h": 24 + } + }, + { + "filename": "splash_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 94, + "y": 364, + "w": 24, + "h": 24 + } + }, + { + "filename": "spooky_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 94, + "y": 388, + "w": 24, + "h": 24 + } + }, + { + "filename": "metal_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 95, + "y": 412, + "w": 24, + "h": 20 + } + }, + { + "filename": "berry_pouch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 84, + "y": 53, + "w": 23, + "h": 23 + } + }, + { + "filename": "max_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 97, + "y": 76, + "w": 16, + "h": 24 + } + }, + { + "filename": "pp_max", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 97, + "y": 100, + "w": 16, + "h": 24 + } + }, + { + "filename": "pp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 102, + "y": 124, + "w": 16, + "h": 24 + } + }, + { + "filename": "protein", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 103, + "y": 148, + "w": 16, + "h": 24 + } + }, + { + "filename": "red_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 103, + "y": 172, + "w": 20, + "h": 24 + } + }, + { + "filename": "repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 107, + "y": 196, + "w": 16, + "h": 24 + } + }, + { + "filename": "stone_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 110, + "y": 220, + "w": 24, + "h": 24 + } + }, + { + "filename": "sun_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 110, + "y": 244, + "w": 24, + "h": 24 + } + }, + { + "filename": "toxic_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 111, + "y": 268, + "w": 24, + "h": 24 + } + }, + { + "filename": "zap_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 112, + "y": 292, + "w": 24, + "h": 24 + } + }, + { + "filename": "black_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 115, + "y": 316, + "w": 22, + "h": 23 + } + }, + { + "filename": "bug_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 115, + "y": 339, + "w": 22, + "h": 23 + } + }, + { + "filename": "clefairy_doll", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 118, + "y": 362, + "w": 24, + "h": 23 + } + }, + { + "filename": "coin_case", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 118, + "y": 385, + "w": 24, + "h": 23 + } + }, + { + "filename": "super_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 119, + "y": 408, + "w": 17, + "h": 24 + } + }, + { + "filename": "super_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 136, + "y": 408, + "w": 16, + "h": 24 + } + }, + { + "filename": "ability_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 9, + "w": 24, + "h": 14 + }, + "frame": { + "x": 137, + "y": 22, + "w": 24, + "h": 14 + } + }, + { + "filename": "black_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 86, + "y": 36, + "w": 23, + "h": 17 + } + }, + { + "filename": "expert_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 23 + }, + "frame": { + "x": 109, + "y": 26, + "w": 24, + "h": 23 + } + }, + { + "filename": "dragon_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 24, + "h": 18 + }, + "frame": { + "x": 133, + "y": 36, + "w": 24, + "h": 18 + } + }, + { + "filename": "exp_share", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 109, + "y": 49, + "w": 24, + "h": 22 + } + }, + { + "filename": "golden_net", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 21 + }, + "frame": { + "x": 133, + "y": 54, + "w": 24, + "h": 21 + } + }, + { + "filename": "mystic_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 23 + }, + "frame": { + "x": 113, + "y": 71, + "w": 20, + "h": 23 + } + }, + { + "filename": "dark_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 113, + "y": 94, + "w": 22, + "h": 23 + } + }, + { + "filename": "coupon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 133, + "y": 75, + "w": 23, + "h": 19 + } + }, + { + "filename": "dragon_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 135, + "y": 94, + "w": 21, + "h": 23 + } + }, + { + "filename": "hearthflame_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 23 + }, + "frame": { + "x": 118, + "y": 117, + "w": 24, + "h": 23 + } + }, + { + "filename": "dynamax_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 23 + }, + "frame": { + "x": 119, + "y": 140, + "w": 23, + "h": 23 + } + }, + { + "filename": "unknown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 142, + "y": 117, + "w": 16, + "h": 24 + } + }, + { + "filename": "berry_pot", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 18, + "h": 22 + }, + "frame": { + "x": 142, + "y": 141, + "w": 18, + "h": 22 + } + }, + { + "filename": "leppa_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 123, + "y": 163, + "w": 24, + "h": 23 + } + }, + { + "filename": "scope_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 123, + "y": 186, + "w": 24, + "h": 23 + } + }, + { + "filename": "relic_gold", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 11, + "w": 15, + "h": 11 + }, + "frame": { + "x": 123, + "y": 209, + "w": 15, + "h": 11 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 147, + "y": 163, + "w": 16, + "h": 24 + } + }, + { + "filename": "bug_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 147, + "y": 187, + "w": 22, + "h": 22 + } + }, + { + "filename": "peat_block", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 138, + "y": 209, + "w": 24, + "h": 22 + } + }, + { + "filename": "twisted_spoon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 134, + "y": 231, + "w": 24, + "h": 23 + } + }, + { + "filename": "griseous_core", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 135, + "y": 254, + "w": 23, + "h": 23 + } + }, + { + "filename": "silver_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 11, + "w": 24, + "h": 15 + }, + "frame": { + "x": 135, + "y": 277, + "w": 24, + "h": 15 + } + }, + { + "filename": "leek", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 136, + "y": 292, + "w": 23, + "h": 23 + } + }, + { + "filename": "dragon_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 137, + "y": 315, + "w": 22, + "h": 23 + } + }, + { + "filename": "electric_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 137, + "y": 338, + "w": 22, + "h": 23 + } + }, + { + "filename": "fairy_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 142, + "y": 361, + "w": 22, + "h": 23 + } + }, + { + "filename": "fighting_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 142, + "y": 384, + "w": 22, + "h": 23 + } + }, + { + "filename": "fire_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 152, + "y": 407, + "w": 22, + "h": 23 + } + }, + { + "filename": "charcoal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 162, + "y": 209, + "w": 22, + "h": 22 + } + }, + { + "filename": "macho_brace", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 158, + "y": 231, + "w": 23, + "h": 23 + } + }, + { + "filename": "rare_candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 158, + "y": 254, + "w": 23, + "h": 23 + } + }, + { + "filename": "fire_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 159, + "y": 277, + "w": 22, + "h": 23 + } + }, + { + "filename": "focus_sash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 159, + "y": 300, + "w": 22, + "h": 23 + } + }, + { + "filename": "ghost_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 159, + "y": 323, + "w": 22, + "h": 23 + } + }, + { + "filename": "candy_overlay", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 12, + "w": 16, + "h": 15 + }, + "frame": { + "x": 159, + "y": 346, + "w": 16, + "h": 15 + } + }, + { + "filename": "full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 4, + "w": 15, + "h": 23 + }, + "frame": { + "x": 164, + "y": 361, + "w": 15, + "h": 23 + } + }, + { + "filename": "grass_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 164, + "y": 384, + "w": 22, + "h": 23 + } + }, + { + "filename": "ground_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 174, + "y": 407, + "w": 22, + "h": 23 + } + }, + { + "filename": "hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 157, + "y": 36, + "w": 17, + "h": 23 + } + }, + { + "filename": "adamant_crystal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 157, + "y": 59, + "w": 23, + "h": 21 + } + }, + { + "filename": "rarer_candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 156, + "y": 80, + "w": 23, + "h": 23 + } + }, + { + "filename": "healing_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 23, + "h": 22 + }, + "frame": { + "x": 174, + "y": 21, + "w": 23, + "h": 22 + } + }, + { + "filename": "rusted_sword", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 22 + }, + "frame": { + "x": 197, + "y": 21, + "w": 23, + "h": 22 + } + }, + { + "filename": "amulet_coin", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 220, + "y": 21, + "w": 23, + "h": 21 + } + }, + { + "filename": "auspicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 243, + "y": 21, + "w": 23, + "h": 21 + } + }, + { + "filename": "moon_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 266, + "y": 21, + "w": 23, + "h": 21 + } + }, + { + "filename": "n_lunarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 289, + "y": 21, + "w": 23, + "h": 21 + } + }, + { + "filename": "berry_juice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 21 + }, + "frame": { + "x": 312, + "y": 21, + "w": 22, + "h": 21 + } + }, + { + "filename": "dark_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 334, + "y": 20, + "w": 22, + "h": 22 + } + }, + { + "filename": "dire_hit", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 356, + "y": 20, + "w": 22, + "h": 22 + } + }, + { + "filename": "dna_splicers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 378, + "y": 20, + "w": 22, + "h": 22 + } + }, + { + "filename": "relic_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 9, + "w": 17, + "h": 16 + }, + "frame": { + "x": 174, + "y": 43, + "w": 17, + "h": 16 + } + }, + { + "filename": "quick_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 191, + "y": 43, + "w": 24, + "h": 20 + } + }, + { + "filename": "rusted_shield", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 400, + "y": 24, + "w": 24, + "h": 20 + } + }, + { + "filename": "ice_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 158, + "y": 103, + "w": 22, + "h": 23 + } + }, + { + "filename": "eviolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 158, + "y": 126, + "w": 15, + "h": 15 + } + }, + { + "filename": "dragon_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 160, + "y": 141, + "w": 22, + "h": 22 + } + }, + { + "filename": "lansat_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 163, + "y": 163, + "w": 21, + "h": 23 + } + }, + { + "filename": "leaf_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 169, + "y": 186, + "w": 21, + "h": 23 + } + }, + { + "filename": "prism_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 173, + "y": 126, + "w": 15, + "h": 15 + } + }, + { + "filename": "electirizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 182, + "y": 141, + "w": 22, + "h": 22 + } + }, + { + "filename": "never_melt_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 184, + "y": 163, + "w": 22, + "h": 23 + } + }, + { + "filename": "normal_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 190, + "y": 186, + "w": 22, + "h": 23 + } + }, + { + "filename": "electric_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 184, + "y": 209, + "w": 22, + "h": 22 + } + }, + { + "filename": "petaya_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 181, + "y": 231, + "w": 22, + "h": 23 + } + }, + { + "filename": "poison_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 181, + "y": 254, + "w": 22, + "h": 23 + } + }, + { + "filename": "psychic_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 181, + "y": 277, + "w": 22, + "h": 23 + } + }, + { + "filename": "reaper_cloth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 181, + "y": 300, + "w": 22, + "h": 23 + } + }, + { + "filename": "rock_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 181, + "y": 323, + "w": 22, + "h": 23 + } + }, + { + "filename": "sacred_ash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 180, + "y": 63, + "w": 24, + "h": 20 + } + }, + { + "filename": "shadow_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 179, + "y": 83, + "w": 24, + "h": 20 + } + }, + { + "filename": "steel_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 180, + "y": 103, + "w": 22, + "h": 23 + } + }, + { + "filename": "apicot_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 204, + "y": 63, + "w": 19, + "h": 20 + } + }, + { + "filename": "big_nugget", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 203, + "y": 83, + "w": 20, + "h": 20 + } + }, + { + "filename": "sharp_beak", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 202, + "y": 103, + "w": 21, + "h": 23 + } + }, + { + "filename": "binding_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 23, + "h": 20 + }, + "frame": { + "x": 215, + "y": 43, + "w": 23, + "h": 20 + } + }, + { + "filename": "n_solarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 238, + "y": 42, + "w": 23, + "h": 21 + } + }, + { + "filename": "stellar_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 223, + "y": 63, + "w": 22, + "h": 23 + } + }, + { + "filename": "water_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 223, + "y": 86, + "w": 22, + "h": 23 + } + }, + { + "filename": "soft_sand", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 261, + "y": 42, + "w": 24, + "h": 20 + } + }, + { + "filename": "reviver_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 285, + "y": 42, + "w": 23, + "h": 20 + } + }, + { + "filename": "shell_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 23, + "h": 20 + }, + "frame": { + "x": 308, + "y": 42, + "w": 23, + "h": 20 + } + }, + { + "filename": "wellspring_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 331, + "y": 42, + "w": 23, + "h": 21 + } + }, + { + "filename": "deep_sea_tooth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 354, + "y": 42, + "w": 22, + "h": 21 + } + }, + { + "filename": "enigma_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 376, + "y": 42, + "w": 22, + "h": 22 + } + }, + { + "filename": "deep_sea_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 398, + "y": 44, + "w": 22, + "h": 20 + } + }, + { + "filename": "black_sludge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 223, + "y": 109, + "w": 22, + "h": 19 + } + }, + { + "filename": "potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 245, + "y": 63, + "w": 17, + "h": 23 + } + }, + { + "filename": "wide_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 262, + "y": 62, + "w": 22, + "h": 23 + } + }, + { + "filename": "fairy_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 284, + "y": 62, + "w": 22, + "h": 22 + } + }, + { + "filename": "fighting_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 306, + "y": 62, + "w": 22, + "h": 22 + } + }, + { + "filename": "fire_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 328, + "y": 63, + "w": 22, + "h": 22 + } + }, + { + "filename": "flying_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 350, + "y": 63, + "w": 22, + "h": 22 + } + }, + { + "filename": "sachet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 18, + "h": 23 + }, + "frame": { + "x": 245, + "y": 86, + "w": 18, + "h": 23 + } + }, + { + "filename": "whipped_dream", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 263, + "y": 85, + "w": 21, + "h": 23 + } + }, + { + "filename": "ganlon_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 284, + "y": 84, + "w": 22, + "h": 22 + } + }, + { + "filename": "ghost_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 306, + "y": 84, + "w": 22, + "h": 22 + } + }, + { + "filename": "grass_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 328, + "y": 85, + "w": 22, + "h": 22 + } + }, + { + "filename": "ground_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 350, + "y": 85, + "w": 22, + "h": 22 + } + }, + { + "filename": "guard_spec", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 372, + "y": 64, + "w": 22, + "h": 22 + } + }, + { + "filename": "ice_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 394, + "y": 64, + "w": 22, + "h": 22 + } + }, + { + "filename": "ice_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 372, + "y": 86, + "w": 22, + "h": 22 + } + }, + { + "filename": "magmarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 394, + "y": 86, + "w": 22, + "h": 22 + } + }, + { + "filename": "mystery_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 18 + }, + "frame": { + "x": 416, + "y": 64, + "w": 16, + "h": 18 + } + }, + { + "filename": "abomasite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 416, + "y": 82, + "w": 16, + "h": 16 + } + }, + { + "filename": "absolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 416, + "y": 98, + "w": 16, + "h": 16 + } + }, + { + "filename": "revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 12, + "h": 17 + }, + "frame": { + "x": 420, + "y": 44, + "w": 12, + "h": 17 + } + }, + { + "filename": "big_mushroom", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 19 + }, + "frame": { + "x": 245, + "y": 109, + "w": 19, + "h": 19 + } + }, + { + "filename": "blue_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 264, + "y": 108, + "w": 20, + "h": 20 + } + }, + { + "filename": "mini_black_hole", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 284, + "y": 106, + "w": 22, + "h": 22 + } + }, + { + "filename": "moon_flute", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 306, + "y": 106, + "w": 22, + "h": 22 + } + }, + { + "filename": "liechi_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 328, + "y": 107, + "w": 22, + "h": 21 + } + }, + { + "filename": "normal_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 350, + "y": 107, + "w": 22, + "h": 22 + } + }, + { + "filename": "poison_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 372, + "y": 108, + "w": 22, + "h": 22 + } + }, + { + "filename": "protector", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 394, + "y": 108, + "w": 22, + "h": 22 + } + }, + { + "filename": "aerodactylite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 416, + "y": 114, + "w": 16, + "h": 16 + } + }, + { + "filename": "psychic_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 179, + "y": 346, + "w": 22, + "h": 22 + } + }, + { + "filename": "aggronite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 179, + "y": 368, + "w": 16, + "h": 16 + } + }, + { + "filename": "super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 186, + "y": 384, + "w": 17, + "h": 23 + } + }, + { + "filename": "alakazite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 195, + "y": 368, + "w": 16, + "h": 16 + } + }, + { + "filename": "hard_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 201, + "y": 346, + "w": 20, + "h": 22 + } + }, + { + "filename": "leftovers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 15, + "h": 22 + }, + "frame": { + "x": 203, + "y": 384, + "w": 15, + "h": 22 + } + }, + { + "filename": "altarianite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 211, + "y": 368, + "w": 16, + "h": 16 + } + }, + { + "filename": "lock_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 218, + "y": 384, + "w": 19, + "h": 22 + } + }, + { + "filename": "metal_coat", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 196, + "y": 407, + "w": 19, + "h": 22 + } + }, + { + "filename": "rock_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 215, + "y": 406, + "w": 22, + "h": 22 + } + }, + { + "filename": "metronome", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 206, + "y": 209, + "w": 17, + "h": 22 + } + }, + { + "filename": "scroll_of_darkness", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 203, + "y": 231, + "w": 22, + "h": 22 + } + }, + { + "filename": "scroll_of_waters", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 203, + "y": 253, + "w": 22, + "h": 22 + } + }, + { + "filename": "shed_shell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 203, + "y": 275, + "w": 22, + "h": 22 + } + }, + { + "filename": "starf_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 203, + "y": 297, + "w": 22, + "h": 22 + } + }, + { + "filename": "steel_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 203, + "y": 319, + "w": 22, + "h": 22 + } + }, + { + "filename": "quick_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 21 + }, + "frame": { + "x": 204, + "y": 126, + "w": 19, + "h": 21 + } + }, + { + "filename": "golden_mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 223, + "y": 128, + "w": 23, + "h": 19 + } + }, + { + "filename": "mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 246, + "y": 128, + "w": 23, + "h": 19 + } + }, + { + "filename": "pair_of_tickets", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 269, + "y": 128, + "w": 23, + "h": 19 + } + }, + { + "filename": "blunder_policy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 19 + }, + "frame": { + "x": 292, + "y": 128, + "w": 22, + "h": 19 + } + }, + { + "filename": "dubious_disc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 314, + "y": 128, + "w": 22, + "h": 19 + } + }, + { + "filename": "ampharosite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 204, + "y": 147, + "w": 16, + "h": 16 + } + }, + { + "filename": "burn_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 220, + "y": 147, + "w": 23, + "h": 17 + } + }, + { + "filename": "chill_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 243, + "y": 147, + "w": 23, + "h": 17 + } + }, + { + "filename": "douse_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 266, + "y": 147, + "w": 23, + "h": 17 + } + }, + { + "filename": "relic_crown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 18 + }, + "frame": { + "x": 289, + "y": 147, + "w": 23, + "h": 18 + } + }, + { + "filename": "fairy_feather", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 20 + }, + "frame": { + "x": 312, + "y": 147, + "w": 22, + "h": 20 + } + }, + { + "filename": "sun_flute", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 206, + "y": 164, + "w": 22, + "h": 22 + } + }, + { + "filename": "thick_club", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 228, + "y": 164, + "w": 22, + "h": 22 + } + }, + { + "filename": "thunder_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 212, + "y": 186, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_bug", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 250, + "y": 164, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dark", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 234, + "y": 186, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dragon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 223, + "y": 208, + "w": 22, + "h": 22 + } + }, + { + "filename": "sitrus_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 225, + "y": 230, + "w": 20, + "h": 22 + } + }, + { + "filename": "tm_electric", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 225, + "y": 252, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fairy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 225, + "y": 274, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fighting", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 225, + "y": 296, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fire", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 225, + "y": 318, + "w": 22, + "h": 22 + } + }, + { + "filename": "soothe_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 272, + "y": 164, + "w": 17, + "h": 22 + } + }, + { + "filename": "tm_flying", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 256, + "y": 186, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_ghost", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 245, + "y": 208, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_grass", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 245, + "y": 230, + "w": 22, + "h": 22 + } + }, + { + "filename": "sweet_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 289, + "y": 165, + "w": 22, + "h": 21 + } + }, + { + "filename": "tm_ground", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 278, + "y": 186, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 267, + "y": 208, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_normal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 267, + "y": 230, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_poison", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 247, + "y": 252, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_psychic", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 247, + "y": 274, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 247, + "y": 296, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_steel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 247, + "y": 318, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 269, + "y": 252, + "w": 22, + "h": 22 + } + }, + { + "filename": "water_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 269, + "y": 274, + "w": 22, + "h": 22 + } + }, + { + "filename": "water_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 269, + "y": 296, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_accuracy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 269, + "y": 318, + "w": 22, + "h": 22 + } + }, + { + "filename": "malicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 311, + "y": 167, + "w": 22, + "h": 20 + } + }, + { + "filename": "x_attack", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 289, + "y": 208, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_defense", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 289, + "y": 230, + "w": 22, + "h": 22 + } + }, + { + "filename": "syrupy_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 300, + "y": 187, + "w": 22, + "h": 21 + } + }, + { + "filename": "x_sp_atk", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 291, + "y": 252, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_sp_def", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 291, + "y": 274, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_speed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 291, + "y": 296, + "w": 22, + "h": 22 + } + }, + { + "filename": "tart_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 291, + "y": 318, + "w": 22, + "h": 21 + } + }, + { + "filename": "dawn_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 21 + }, + "frame": { + "x": 322, + "y": 187, + "w": 20, + "h": 21 + } + }, + { + "filename": "dusk_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 311, + "y": 208, + "w": 21, + "h": 21 + } + }, + { + "filename": "poison_barb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 311, + "y": 229, + "w": 21, + "h": 21 + } + }, + { + "filename": "flying_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 20, + "h": 21 + }, + "frame": { + "x": 313, + "y": 250, + "w": 20, + "h": 21 + } + }, + { + "filename": "shiny_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 313, + "y": 271, + "w": 21, + "h": 21 + } + }, + { + "filename": "zoom_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 313, + "y": 292, + "w": 21, + "h": 21 + } + }, + { + "filename": "tera_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 313, + "y": 313, + "w": 22, + "h": 20 + } + }, + { + "filename": "spell_tag", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 19, + "h": 21 + }, + "frame": { + "x": 332, + "y": 208, + "w": 19, + "h": 21 + } + }, + { + "filename": "candy_jar", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 332, + "y": 229, + "w": 19, + "h": 20 + } + }, + { + "filename": "gb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 333, + "y": 249, + "w": 20, + "h": 20 + } + }, + { + "filename": "hard_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 334, + "y": 269, + "w": 19, + "h": 20 + } + }, + { + "filename": "magnet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 334, + "y": 289, + "w": 20, + "h": 20 + } + }, + { + "filename": "mb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 335, + "y": 309, + "w": 20, + "h": 20 + } + }, + { + "filename": "golden_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 333, + "y": 167, + "w": 17, + "h": 20 + } + }, + { + "filename": "lucky_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 334, + "y": 147, + "w": 17, + "h": 20 + } + }, + { + "filename": "masterpiece_teacup", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 21, + "h": 18 + }, + "frame": { + "x": 336, + "y": 129, + "w": 21, + "h": 18 + } + }, + { + "filename": "pb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 342, + "y": 187, + "w": 20, + "h": 20 + } + }, + { + "filename": "pb_gold", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 350, + "y": 167, + "w": 20, + "h": 20 + } + }, + { + "filename": "pb_silver", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 351, + "y": 147, + "w": 20, + "h": 20 + } + }, + { + "filename": "shock_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 357, + "y": 130, + "w": 23, + "h": 17 + } + }, + { + "filename": "wise_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 380, + "y": 130, + "w": 23, + "h": 17 + } + }, + { + "filename": "upgrade", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 371, + "y": 147, + "w": 22, + "h": 19 + } + }, + { + "filename": "metal_alloy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 21, + "h": 19 + }, + "frame": { + "x": 403, + "y": 130, + "w": 21, + "h": 19 + } + }, + { + "filename": "razor_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 18, + "h": 20 + }, + "frame": { + "x": 351, + "y": 207, + "w": 18, + "h": 20 + } + }, + { + "filename": "rb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 351, + "y": 227, + "w": 20, + "h": 20 + } + }, + { + "filename": "smooth_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 353, + "y": 247, + "w": 20, + "h": 20 + } + }, + { + "filename": "strange_ball", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 353, + "y": 267, + "w": 20, + "h": 20 + } + }, + { + "filename": "ub", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 354, + "y": 287, + "w": 20, + "h": 20 + } + }, + { + "filename": "lum_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 355, + "y": 307, + "w": 20, + "h": 19 + } + }, + { + "filename": "old_gateau", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 21, + "h": 18 + }, + "frame": { + "x": 393, + "y": 149, + "w": 21, + "h": 18 + } + }, + { + "filename": "oval_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 19 + }, + "frame": { + "x": 414, + "y": 149, + "w": 18, + "h": 19 + } + }, + { + "filename": "miracle_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 19, + "h": 19 + }, + "frame": { + "x": 362, + "y": 187, + "w": 19, + "h": 19 + } + }, + { + "filename": "power_herb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 369, + "y": 206, + "w": 20, + "h": 19 + } + }, + { + "filename": "razor_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 371, + "y": 225, + "w": 20, + "h": 19 + } + }, + { + "filename": "white_herb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 373, + "y": 244, + "w": 20, + "h": 19 + } + }, + { + "filename": "sharp_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 21, + "h": 18 + }, + "frame": { + "x": 373, + "y": 263, + "w": 21, + "h": 18 + } + }, + { + "filename": "unremarkable_teacup", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 21, + "h": 18 + }, + "frame": { + "x": 374, + "y": 281, + "w": 21, + "h": 18 + } + }, + { + "filename": "wl_ability_urge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 375, + "y": 299, + "w": 20, + "h": 18 + } + }, + { + "filename": "everstone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 17 + }, + "frame": { + "x": 375, + "y": 317, + "w": 20, + "h": 17 + } + }, + { + "filename": "wl_antidote", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 355, + "y": 326, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_awakening", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 335, + "y": 329, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_burn_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 375, + "y": 334, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_custom_spliced", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 355, + "y": 344, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_custom_thief", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 375, + "y": 352, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 313, + "y": 333, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 333, + "y": 347, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 371, + "y": 166, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_full_restore", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 391, + "y": 167, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_guard_spec", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 411, + "y": 168, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 381, + "y": 185, + "w": 20, + "h": 18 + } + }, + { + "filename": "baton", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 389, + "y": 203, + "w": 18, + "h": 18 + } + }, + { + "filename": "candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 11, + "w": 18, + "h": 18 + }, + "frame": { + "x": 391, + "y": 221, + "w": 18, + "h": 18 + } + }, + { + "filename": "dark_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 393, + "y": 239, + "w": 18, + "h": 18 + } + }, + { + "filename": "flame_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 394, + "y": 257, + "w": 18, + "h": 18 + } + }, + { + "filename": "wl_ice_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 412, + "y": 186, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_item_drop", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 412, + "y": 204, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_item_urge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 412, + "y": 222, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_max_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 412, + "y": 240, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_max_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 412, + "y": 258, + "w": 20, + "h": 18 + } + }, + { + "filename": "audinite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 395, + "y": 275, + "w": 16, + "h": 16 + } + }, + { + "filename": "light_ball", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 395, + "y": 291, + "w": 18, + "h": 18 + } + }, + { + "filename": "light_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 395, + "y": 309, + "w": 18, + "h": 18 + } + }, + { + "filename": "toxic_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 395, + "y": 327, + "w": 18, + "h": 18 + } + }, + { + "filename": "wl_max_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 395, + "y": 345, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 395, + "y": 363, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_paralyze_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 225, + "y": 340, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 245, + "y": 340, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_reset_urge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 265, + "y": 340, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 227, + "y": 358, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 247, + "y": 358, + "w": 20, + "h": 18 + } + }, + { + "filename": "banettite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 267, + "y": 358, + "w": 16, + "h": 16 + } + }, + { + "filename": "beedrillite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 237, + "y": 376, + "w": 16, + "h": 16 + } + }, + { + "filename": "blastoisinite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 237, + "y": 392, + "w": 16, + "h": 16 + } + }, + { + "filename": "blazikenite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 237, + "y": 408, + "w": 16, + "h": 16 + } + }, + { + "filename": "cameruptite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 253, + "y": 376, + "w": 16, + "h": 16 + } + }, + { + "filename": "charizardite_x", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 253, + "y": 392, + "w": 16, + "h": 16 + } + }, + { + "filename": "charizardite_y", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 253, + "y": 408, + "w": 16, + "h": 16 + } + }, + { + "filename": "diancite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 269, + "y": 374, + "w": 16, + "h": 16 + } + }, + { + "filename": "galladite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 269, + "y": 390, + "w": 16, + "h": 16 + } + }, + { + "filename": "garchompite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 269, + "y": 406, + "w": 16, + "h": 16 + } + }, + { + "filename": "gardevoirite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 285, + "y": 340, + "w": 16, + "h": 16 + } + }, + { + "filename": "gengarite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 283, + "y": 358, + "w": 16, + "h": 16 + } + }, + { + "filename": "glalitite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 285, + "y": 374, + "w": 16, + "h": 16 + } + }, + { + "filename": "gyaradosite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 285, + "y": 390, + "w": 16, + "h": 16 + } + }, + { + "filename": "heracronite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 285, + "y": 406, + "w": 16, + "h": 16 + } + }, + { + "filename": "houndoominite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 353, + "y": 362, + "w": 16, + "h": 16 + } + }, + { + "filename": "kangaskhanite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 369, + "y": 370, + "w": 16, + "h": 16 + } + }, + { + "filename": "latiasite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 413, + "y": 276, + "w": 16, + "h": 16 + } + }, + { + "filename": "latiosite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 413, + "y": 292, + "w": 16, + "h": 16 + } + }, + { + "filename": "lopunnite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 413, + "y": 308, + "w": 16, + "h": 16 + } + }, + { + "filename": "lucarionite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 413, + "y": 324, + "w": 16, + "h": 16 + } + }, + { + "filename": "manectite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 415, + "y": 340, + "w": 16, + "h": 16 + } + }, + { + "filename": "mawilite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 415, + "y": 356, + "w": 16, + "h": 16 + } + }, + { + "filename": "medichamite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 415, + "y": 372, + "w": 16, + "h": 16 + } + }, + { + "filename": "metagrossite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 299, + "y": 356, + "w": 16, + "h": 16 + } + }, + { + "filename": "mewtwonite_x", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 301, + "y": 372, + "w": 16, + "h": 16 + } + }, + { + "filename": "mewtwonite_y", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 301, + "y": 388, + "w": 16, + "h": 16 + } + }, + { + "filename": "nugget", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 301, + "y": 404, + "w": 16, + "h": 16 + } + }, + { + "filename": "pidgeotite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 317, + "y": 351, + "w": 16, + "h": 16 + } + }, + { + "filename": "pinsirite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 317, + "y": 367, + "w": 16, + "h": 16 + } + }, + { + "filename": "rayquazite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 333, + "y": 365, + "w": 16, + "h": 16 + } + }, + { + "filename": "sablenite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 317, + "y": 383, + "w": 16, + "h": 16 + } + }, + { + "filename": "salamencite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 333, + "y": 381, + "w": 16, + "h": 16 + } + }, + { + "filename": "sceptilite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 317, + "y": 399, + "w": 16, + "h": 16 + } + }, + { + "filename": "scizorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 333, + "y": 397, + "w": 16, + "h": 16 + } + }, + { + "filename": "sharpedonite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 349, + "y": 378, + "w": 16, + "h": 16 + } + }, + { + "filename": "slowbronite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 349, + "y": 394, + "w": 16, + "h": 16 + } + }, + { + "filename": "soul_dew", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 365, + "y": 386, + "w": 16, + "h": 16 + } + }, + { + "filename": "steelixite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 365, + "y": 402, + "w": 16, + "h": 16 + } + }, + { + "filename": "strawberry_sweet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 7, + "w": 16, + "h": 16 + }, + "frame": { + "x": 349, + "y": 410, + "w": 16, + "h": 16 + } + }, + { + "filename": "swampertite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 333, + "y": 413, + "w": 16, + "h": 16 + } + }, + { + "filename": "tyranitarite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 317, + "y": 415, + "w": 16, + "h": 16 + } + }, + { + "filename": "venusaurite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 381, + "y": 386, + "w": 16, + "h": 16 + } } ] } @@ -8457,6 +8457,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:7b927dc715c6335dfca9e369b61374b2:fb24603dd37bbe0cbdf1d74fcbcbd223:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:c228145ca625236e53edc95aac265d56:86524cdf0e3043482141d77259bc4d47:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index 4433ce43a40296587c71ae16307f1411b4188244..eb9878a5bfcd0778d70fb422928e729b08f40815 100644 GIT binary patch literal 59346 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 z zBrfVDBxCUcasV5fO5B>OMZ2J`+ta^o%ZYX`hA7C$$W1rpx*pEQ8dfd)Z*4jXgFLFn z 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
    N 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 UHuyZ|N&o-=07*qoM6N<$f_MKR6951J diff --git a/public/images/items/mystical_rock.png b/public/images/items/mystical_rock.png index f87fe2a9dcb07703a59e9f1b66977f31bcc96790..81a397e4c2d6f5294fc0fe19f486b27d52a01dac 100644 GIT binary patch delta 587 zcmV-R0<`^;2lNJzL4TZ3OjJc8BrN~=ix3bH_|VYn&Pv3dH>!Ot=8>XVMM{s7!uWWg zXls?&V1R8?L%vXcUO8as`1nglaKxrTIxtm~*Tny~uy#LadgE8qaBxAKF>sx;!TYXC zO@?BJnW!^pFF{me40000qbW%=Jk?|~&0S6iYOIIRg00009a7bBm z000ic000ic0Tn1pfRi@?b`J7(0RZR&008oK0RZR&le+<0f2HO~xyn+bJ4r-A zR5(x7(%W)^Fc1dd5HS`OX)sU$L&O6Xgjy@_|8Cs~jKMO~%TE8BEVEz2av<$5`FDUk zE*|9wSd{kFY}QvMAeKF6l;CFUFQx%wFOI{=V&S?|V2*tNuxGC8dOrYZ>2j(2VEeA; z`LDw`-O>_He*?z>uq=BeJl}r?goj~-yQ7FPwi4oP4bZg=5Jwn>ieY!1^x^^1AdaJ0 z4*{FCjx>NiAk6}`?fOy*0ZC#4?5C*!Ew&q(?{+%@`}>#!;0Q8+!(pou$x$5lBT(>6 zCpahodE$9~d@sA_9A@Z*P!iyjRw&M+_kf`0IB2G%U6jqorK<9C*XaS?<1@To5vitW z%F6}M7=xA;*RZbZFIASM{^S*Z29y@JTY*dW)9Bygo&jKJQS^hEF#w*@7iLT_nZE~Z Z`whZ@o{|Lp0&f5S002ovPDHLkV1n@R4HW{uuDg9IxtmsKWLQK#Cqdb({OM>oH1~nv%&kWN==6I zw)|p;nW!{wg07Ulmxt~Y=z)|o!F_W=^_2}=gj{F46#WQvE$6d1H0 zVZ2!MlMxWZG>2u2r{yECVw51de|`W=ld%`evY76F04!Uf=ZM+%cYp{=*Xyolxc_pq zdF@08e~1vaV_BRVhG8gHZBBizrZOmStM#?`T2pia3m8 z&Wj?75+%|!D@&==2!x0crznzybG3&^%eO Date: Thu, 1 May 2025 14:20:03 -0500 Subject: [PATCH 081/102] [Bug][Ability] Fix shell armor not blocking crits (#5737) Fix shell armor not blocking crits --- src/data/abilities/ability.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 9a6094f4649..80b05b89d16 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -3408,8 +3408,12 @@ export class BlockCritAbAttr extends AbAttr { super(false); } - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { - (args[0] as BooleanHolder).value = true; + /** + * Apply the block crit ability by setting the value in the provided boolean holder to false + * @param args - [0] is a boolean holder representing whether the attack can crit + */ + override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder, args: [BooleanHolder, ...any]): void { + (args[0]).value = false; } } From d3a1b426284c139da0ba1d7e37b81f5cf1ae088d Mon Sep 17 00:00:00 2001 From: damocleas Date: Thu, 1 May 2025 18:59:45 -0400 Subject: [PATCH 082/102] [Balance] 1.9 Passive and Egg Move Changes (#5741) * Update passives.ts * Update egg-moves.ts --- src/data/balance/egg-moves.ts | 24 ++++++++++++------------ src/data/balance/passives.ts | 26 +++++++++++++------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index b0e8d5160fa..47898e9e885 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -12,7 +12,7 @@ export const speciesEggMoves = { [Species.WEEDLE]: [ Moves.THOUSAND_ARROWS, Moves.NOXIOUS_TORQUE, Moves.ATTACK_ORDER, Moves.VICTORY_DANCE ], [Species.PIDGEY]: [ Moves.BLEAKWIND_STORM, Moves.SANDSEAR_STORM, Moves.CALM_MIND, Moves.BOOMBURST ], [Species.RATTATA]: [ Moves.HYPER_FANG, Moves.PSYCHIC_FANGS, Moves.FIRE_FANG, Moves.EXTREME_SPEED ], - [Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.HYPER_DRILL, Moves.TIDY_UP, Moves.TRIPLE_ARROWS ], + [Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.TRIPLE_ARROWS ], [Species.EKANS]: [ Moves.NOXIOUS_TORQUE, Moves.DRAGON_DANCE, Moves.SLACK_OFF, Moves.SHED_TAIL ], [Species.SANDSHREW]: [ Moves.HIGH_HORSEPOWER, Moves.DIRE_CLAW, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ], [Species.NIDORAN_F]: [ Moves.CALM_MIND, Moves.MOONLIGHT, Moves.MALIGNANT_CHAIN, Moves.SANDSEAR_STORM ], @@ -53,7 +53,7 @@ export const speciesEggMoves = { [Species.RHYHORN]: [ Moves.SHORE_UP, Moves.ICE_HAMMER, Moves.ACCELEROCK, Moves.HEAD_SMASH ], [Species.TANGELA]: [ Moves.NATURES_MADNESS, Moves.SNAP_TRAP, Moves.PARTING_SHOT, Moves.SAPPY_SEED ], [Species.KANGASKHAN]: [ Moves.POWER_UP_PUNCH, Moves.TRAILBLAZE, Moves.COVET, Moves.SEISMIC_TOSS ], - [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.FROST_BREATH, Moves.SLUDGE_BOMB, Moves.CLANGING_SCALES ], + [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.TAKE_HEART, Moves.SHELL_SIDE_ARM, Moves.DRAGON_ENERGY ], [Species.GOLDEEN]: [ Moves.GLACIAL_LANCE, Moves.SUPERCELL_SLAM, Moves.DRAGON_DANCE, Moves.FISHIOUS_REND ], [Species.STARYU]: [ Moves.CALM_MIND, Moves.BOUNCY_BUBBLE, Moves.MOONBLAST, Moves.MYSTICAL_POWER ], [Species.SCYTHER]: [ Moves.MIGHTY_CLEAVE, Moves.GEAR_GRIND, Moves.STORM_THROW, Moves.BITTER_BLADE ], @@ -66,7 +66,7 @@ export const speciesEggMoves = { [Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ], [Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.GIGA_DRAIN, Moves.POWER_GEM, Moves.STEAM_ERUPTION ], [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.CRABHAMMER, Moves.MIGHTY_CLEAVE ], - [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.FLARE_BLITZ, Moves.SWORDS_DANCE, Moves.MIGHTY_CLEAVE ], + [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.CLOSE_COMBAT, Moves.STONE_AXE, Moves.SWORDS_DANCE ], [Species.ARTICUNO]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ], [Species.ZAPDOS]: [ Moves.BLEAKWIND_STORM, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ], [Species.MOLTRES]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ], @@ -78,7 +78,7 @@ export const speciesEggMoves = { [Species.CYNDAQUIL]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.FIERY_DANCE, Moves.ELECTRO_DRIFT ], [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.PLAY_ROUGH, Moves.SURGING_STRIKES ], [Species.SENTRET]: [ Moves.TIDY_UP, Moves.FAKE_OUT, Moves.NUZZLE, Moves.EXTREME_SPEED ], - [Species.HOOTHOOT]: [ Moves.CALM_MIND, Moves.ESPER_WING, Moves.AEROBLAST, Moves.BOOMBURST ], + [Species.HOOTHOOT]: [ Moves.TAKE_HEART, Moves.ESPER_WING, Moves.AEROBLAST, Moves.BOOMBURST ], [Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.MAT_BLOCK, Moves.PARTING_SHOT, Moves.SPORE ], [Species.SPINARAK]: [ Moves.PARTING_SHOT, Moves.ATTACK_ORDER, Moves.GASTRO_ACID, Moves.STRENGTH_SAP ], [Species.CHINCHOU]: [ Moves.THUNDERCLAP, Moves.BOUNCY_BUBBLE, Moves.THUNDER_CAGE, Moves.TAIL_GLOW ], @@ -166,7 +166,7 @@ export const speciesEggMoves = { [Species.SPOINK]: [ Moves.AURA_SPHERE, Moves.MILK_DRINK, Moves.EXPANDING_FORCE, Moves.TAIL_GLOW ], [Species.SPINDA]: [ Moves.SUPERPOWER, Moves.SLACK_OFF, Moves.FLEUR_CANNON, Moves.V_CREATE ], [Species.TRAPINCH]: [ Moves.FIRE_LASH, Moves.DRAGON_DARTS, Moves.THOUSAND_ARROWS, Moves.DRAGON_ENERGY ], - [Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.SAPPY_SEED ], + [Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.IVY_CUDGEL ], [Species.SWABLU]: [ Moves.ROOST, Moves.NASTY_PLOT, Moves.FLOATY_FALL, Moves.BOOMBURST ], [Species.ZANGOOSE]: [ Moves.FACADE, Moves.HIGH_HORSEPOWER, Moves.EXTREME_SPEED, Moves.TIDY_UP ], [Species.SEVIPER]: [ Moves.ICE_BEAM, Moves.BITTER_BLADE, Moves.SUCKER_PUNCH, Moves.NO_RETREAT ], @@ -222,7 +222,7 @@ export const speciesEggMoves = { [Species.DRIFLOON]: [ Moves.PSYCHO_SHIFT, Moves.MIND_BLOWN, Moves.CALM_MIND, Moves.OBLIVION_WING ], [Species.BUNEARY]: [ Moves.TRIPLE_AXEL, Moves.EXTREME_SPEED, Moves.THUNDEROUS_KICK, Moves.SWORDS_DANCE ], [Species.GLAMEOW]: [ Moves.PARTING_SHOT, Moves.HIGH_HORSEPOWER, Moves.SWORDS_DANCE, Moves.EXTREME_SPEED ], - [Species.CHINGLING]: [ Moves.BUZZY_BUZZ, Moves.EERIE_SPELL, Moves.TORCH_SONG, Moves.BOOMBURST ], + [Species.CHINGLING]: [ Moves.ALLURING_VOICE, Moves.EERIE_SPELL, Moves.TORCH_SONG, Moves.BOOMBURST ], [Species.STUNKY]: [ Moves.CEASELESS_EDGE, Moves.FIRE_LASH, Moves.RECOVER, Moves.DIRE_CLAW ], [Species.BRONZOR]: [ Moves.RECOVER, Moves.TACHYON_CUTTER, Moves.GLARE, Moves.LUMINA_CRASH ], [Species.BONSLY]: [ Moves.ACCELEROCK, Moves.SWORDS_DANCE, Moves.STRENGTH_SAP, Moves.SAPPY_SEED ], @@ -246,7 +246,7 @@ export const speciesEggMoves = { [Species.AZELF]: [ Moves.PSYSTRIKE, Moves.AURA_SPHERE, Moves.ICE_BEAM, Moves.TAIL_GLOW ], [Species.DIALGA]: [ Moves.CORE_ENFORCER, Moves.TAKE_HEART, Moves.RECOVER, Moves.MAKE_IT_RAIN ], [Species.PALKIA]: [ Moves.MALIGNANT_CHAIN, Moves.TAKE_HEART, Moves.RECOVER, Moves.ORIGIN_PULSE ], - [Species.HEATRAN]: [ Moves.MATCHA_GOTCHA, Moves.RECOVER, Moves.ERUPTION, Moves.TACHYON_CUTTER ], + [Species.HEATRAN]: [ Moves.ENERGY_BALL, Moves.RECOVER, Moves.ERUPTION, Moves.TACHYON_CUTTER ], [Species.REGIGIGAS]: [ Moves.SKILL_SWAP, Moves.RECOVER, Moves.EXTREME_SPEED, Moves.GIGATON_HAMMER ], [Species.GIRATINA]: [ Moves.DRAGON_DANCE, Moves.SPECTRAL_THIEF, Moves.RECOVER, Moves.COLLISION_COURSE ], [Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.BODY_PRESS, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ], @@ -284,10 +284,10 @@ export const speciesEggMoves = { [Species.BASCULIN]: [ Moves.LAST_RESPECTS, Moves.CLOSE_COMBAT, Moves.SPLISHY_SPLASH, Moves.NO_RETREAT ], [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.SUCKER_PUNCH, Moves.FIRE_LASH, Moves.HEADLONG_RUSH ], [Species.DARUMAKA]: [ Moves.DRAIN_PUNCH, Moves.ZIPPY_ZAP, Moves.HEADLONG_RUSH, Moves.PYRO_BALL ], - [Species.MARACTUS]: [ Moves.EARTH_POWER, Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.SEED_FLARE ], + [Species.MARACTUS]: [ Moves.EARTH_POWER, Moves.SIZZLY_SLIDE, Moves.FIERY_DANCE, Moves.QUIVER_DANCE ], [Species.DWEBBLE]: [ Moves.CRABHAMMER, Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.MIGHTY_CLEAVE ], [Species.SCRAGGY]: [ Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.NOXIOUS_TORQUE, Moves.VICTORY_DANCE ], - [Species.SIGILYPH]: [ Moves.MOONBLAST, Moves.CALM_MIND, Moves.ESPER_WING, Moves.OBLIVION_WING ], + [Species.SIGILYPH]: [ Moves.MOONBLAST, Moves.PSYCHO_SHIFT, Moves.ESPER_WING, Moves.OBLIVION_WING ], [Species.YAMASK]: [ Moves.STRENGTH_SAP, Moves.GLARE, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ], [Species.TIRTOUGA]: [ Moves.ICE_SPINNER, Moves.AQUA_STEP, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ], [Species.ARCHEN]: [ Moves.ROOST, Moves.EARTHQUAKE, Moves.FLOATY_FALL, Moves.MIGHTY_CLEAVE ], @@ -319,7 +319,7 @@ export const speciesEggMoves = { [Species.DRUDDIGON]: [ Moves.FIRE_LASH, Moves.MORNING_SUN, Moves.DRAGON_DARTS, Moves.CLANGOROUS_SOUL ], [Species.GOLETT]: [ Moves.SHIFT_GEAR, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.RAGE_FIST ], [Species.PAWNIARD]: [ Moves.SUCKER_PUNCH, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE, Moves.LAST_RESPECTS ], - [Species.BOUFFALANT]: [ Moves.SLACK_OFF, Moves.HIGH_JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ], + [Species.BOUFFALANT]: [ Moves.HORN_LEECH, Moves.HIGH_JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ], [Species.RUFFLET]: [ Moves.FLOATY_FALL, Moves.AURA_SPHERE, Moves.NO_RETREAT, Moves.BOLT_BEAK ], [Species.VULLABY]: [ Moves.FOUL_PLAY, Moves.BODY_PRESS, Moves.ROOST, Moves.RUINATION ], [Species.HEATMOR]: [ Moves.EARTH_POWER, Moves.OVERHEAT, Moves.THUNDERBOLT, Moves.V_CREATE ], @@ -441,7 +441,7 @@ export const speciesEggMoves = { [Species.ALOLA_GEODUDE]: [ Moves.THOUSAND_WAVES, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ], [Species.ALOLA_GRIMER]: [ Moves.SUCKER_PUNCH, Moves.BARB_BARRAGE, Moves.RECOVER, Moves.SURGING_STRIKES ], - [Species.GROOKEY]: [ Moves.HIGH_HORSEPOWER, Moves.CLANGOROUS_SOUL, Moves.GRASSY_GLIDE, Moves.SAPPY_SEED ], + [Species.GROOKEY]: [ Moves.ROCK_SLIDE, Moves.PLAY_ROUGH, Moves.GRASSY_GLIDE, Moves.CLANGOROUS_SOUL ], [Species.SCORBUNNY]: [ Moves.EXTREME_SPEED, Moves.HIGH_JUMP_KICK, Moves.TRIPLE_AXEL, Moves.BOLT_STRIKE ], [Species.SOBBLE]: [ Moves.AEROBLAST, Moves.FROST_BREATH, Moves.ENERGY_BALL, Moves.NASTY_PLOT ], [Species.SKWOVET]: [ Moves.SUCKER_PUNCH, Moves.SLACK_OFF, Moves.COIL, Moves.POPULATION_BOMB ], @@ -457,7 +457,7 @@ export const speciesEggMoves = { [Species.SILICOBRA]: [ Moves.SHORE_UP, Moves.SHED_TAIL, Moves.MOUNTAIN_GALE, Moves.THOUSAND_ARROWS ], [Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.BOLT_BEAK, Moves.OBLIVION_WING ], [Species.ARROKUDA]: [ Moves.SUPERCELL_SLAM, Moves.TRIPLE_DIVE, Moves.ICE_SPINNER, Moves.SWORDS_DANCE ], - [Species.TOXEL]: [ Moves.NASTY_PLOT, Moves.BUG_BUZZ, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], + [Species.TOXEL]: [ Moves.BUZZY_BUZZ, Moves.BUG_BUZZ, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], [Species.SIZZLIPEDE]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.FIRST_IMPRESSION, Moves.BITTER_BLADE ], [Species.CLOBBOPUS]: [ Moves.STORM_THROW, Moves.JET_PUNCH, Moves.MACH_PUNCH, Moves.SURGING_STRIKES ], [Species.SINISTEA]: [ Moves.SPLISHY_SPLASH, Moves.MATCHA_GOTCHA, Moves.DRAINING_KISS, Moves.MOONGEIST_BEAM ], diff --git a/src/data/balance/passives.ts b/src/data/balance/passives.ts index 624e242944b..73310cc2116 100644 --- a/src/data/balance/passives.ts +++ b/src/data/balance/passives.ts @@ -143,7 +143,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.TAUROS]: { 0: Abilities.STAMINA }, [Species.MAGIKARP]: { 0: Abilities.MULTISCALE }, [Species.GYARADOS]: { 0: Abilities.MULTISCALE, 1: Abilities.MULTISCALE }, - [Species.LAPRAS]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.FILTER }, + [Species.LAPRAS]: { 0: Abilities.FILTER, 1: Abilities.FILTER }, [Species.DITTO]: { 0: Abilities.ADAPTABILITY }, [Species.EEVEE]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP, 2: Abilities.FLUFFY }, [Species.VAPOREON]: { 0: Abilities.REGENERATOR }, @@ -161,7 +161,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.OMASTAR]: { 0: Abilities.STURDY }, [Species.KABUTO]: { 0: Abilities.TOUGH_CLAWS }, [Species.KABUTOPS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.AERODACTYL]: { 0: Abilities.INTIMIDATE, 1: Abilities.INTIMIDATE }, + [Species.AERODACTYL]: { 0: Abilities.INTIMIDATE, 1: Abilities.ROCKY_PAYLOAD }, [Species.ARTICUNO]: { 0: Abilities.SNOW_WARNING }, [Species.ZAPDOS]: { 0: Abilities.DRIZZLE }, [Species.MOLTRES]: { 0: Abilities.DROUGHT }, @@ -506,7 +506,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.SNOVER]: { 0: Abilities.SLUSH_RUSH }, [Species.ABOMASNOW]: { 0: Abilities.SLUSH_RUSH, 1: Abilities.SEED_SOWER }, [Species.ROTOM]: { 0: Abilities.HADRON_ENGINE, 1: Abilities.HADRON_ENGINE, 2: Abilities.HADRON_ENGINE, 3: Abilities.HADRON_ENGINE, 4: Abilities.HADRON_ENGINE, 5: Abilities.HADRON_ENGINE }, - [Species.UXIE]: { 0: Abilities.UNNERVE }, + [Species.UXIE]: { 0: Abilities.ILLUSION }, [Species.MESPRIT]: { 0: Abilities.MOODY }, [Species.AZELF]: { 0: Abilities.NEUROFORCE }, [Species.DIALGA]: { 0: Abilities.BERSERK, 1: Abilities.BERSERK }, @@ -600,8 +600,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.ARCHEOPS]: { 0: Abilities.MULTISCALE }, [Species.TRUBBISH]: { 0: Abilities.NEUTRALIZING_GAS }, [Species.GARBODOR]: { 0: Abilities.NEUTRALIZING_GAS, 1: Abilities.NEUTRALIZING_GAS }, - [Species.ZORUA]: { 0: Abilities.DARK_AURA }, - [Species.ZOROARK]: { 0: Abilities.DARK_AURA }, + [Species.ZORUA]: { 0: Abilities.ADAPTABILITY }, + [Species.ZOROARK]: { 0: Abilities.ADAPTABILITY }, [Species.MINCCINO]: { 0: Abilities.FUR_COAT }, [Species.CINCCINO]: { 0: Abilities.FUR_COAT }, [Species.GOTHITA]: { 0: Abilities.UNNERVE }, @@ -729,8 +729,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.CLAWITZER]: { 0: Abilities.PROTEAN }, [Species.HELIOPTILE]: { 0: Abilities.PROTEAN }, [Species.HELIOLISK]: { 0: Abilities.PROTEAN }, - [Species.TYRUNT]: { 0: Abilities.RECKLESS }, - [Species.TYRANTRUM]: { 0: Abilities.RECKLESS }, + [Species.TYRUNT]: { 0: Abilities.SHEER_FORCE }, + [Species.TYRANTRUM]: { 0: Abilities.SHEER_FORCE }, [Species.AMAURA]: { 0: Abilities.ICE_SCALES }, [Species.AURORUS]: { 0: Abilities.ICE_SCALES }, [Species.HAWLUCHA]: { 0: Abilities.MOXIE }, @@ -744,8 +744,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.KLEFKI]: { 0: Abilities.LEVITATE }, [Species.PHANTUMP]: { 0: Abilities.SHADOW_TAG }, [Species.TREVENANT]: { 0: Abilities.SHADOW_TAG }, - [Species.PUMPKABOO]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.ADAPTABILITY, 2: Abilities.PRANKSTER, 3: Abilities.SEED_SOWER }, - [Species.GOURGEIST]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.ADAPTABILITY, 2: Abilities.PRANKSTER, 3: Abilities.SEED_SOWER }, + [Species.PUMPKABOO]: { 0: Abilities.ILLUMINATE, 1: Abilities.ADAPTABILITY, 2: Abilities.WELL_BAKED_BODY, 3: Abilities.SEED_SOWER }, + [Species.GOURGEIST]: { 0: Abilities.ILLUMINATE, 1: Abilities.ADAPTABILITY, 2: Abilities.WELL_BAKED_BODY, 3: Abilities.SEED_SOWER }, [Species.BERGMITE]: { 0: Abilities.ICE_SCALES }, [Species.AVALUGG]: { 0: Abilities.ICE_SCALES }, [Species.HISUI_AVALUGG]: { 0: Abilities.ICE_SCALES }, @@ -781,7 +781,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.CRABOMINABLE]: { 0: Abilities.WATER_BUBBLE }, [Species.ORICORIO]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY }, [Species.CUTIEFLY]: { 0: Abilities.PICKUP }, - [Species.RIBOMBEE]: { 0: Abilities.TINTED_LENS }, + [Species.RIBOMBEE]: { 0: Abilities.PICKUP }, [Species.ROCKRUFF]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP }, [Species.LYCANROC]: { 0: Abilities.STURDY, 1: Abilities.INTIMIDATE, 2: Abilities.STAKEOUT }, [Species.WISHIWASHI]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, @@ -932,7 +932,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.COPPERAJAH]: { 0: Abilities.EARTH_EATER, 1: Abilities.EARTH_EATER }, [Species.DRACOZOLT]: { 0: Abilities.NO_GUARD }, [Species.ARCTOZOLT]: { 0: Abilities.WATER_ABSORB }, - [Species.DRACOVISH]: { 0: Abilities.SWIFT_SWIM }, + [Species.DRACOVISH]: { 0: Abilities.THERMAL_EXCHANGE }, [Species.ARCTOVISH]: { 0: Abilities.STRONG_JAW }, [Species.DURALUDON]: { 0: Abilities.FILTER, 1: Abilities.UNAWARE }, [Species.ARCHALUDON]: { 0: Abilities.TRANSISTOR }, @@ -981,8 +981,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.OVERQWIL]: { 0: Abilities.MERCILESS }, [Species.HISUI_SNEASEL]: { 0: Abilities.SCRAPPY }, [Species.SNEASLER]: { 0: Abilities.SCRAPPY }, - [Species.HISUI_ZORUA]: { 0: Abilities.ADAPTABILITY }, - [Species.HISUI_ZOROARK]: { 0: Abilities.ADAPTABILITY }, + [Species.HISUI_ZORUA]: { 0: Abilities.SHADOW_SHIELD }, + [Species.HISUI_ZOROARK]: { 0: Abilities.SHADOW_SHIELD }, [Species.SPRIGATITO]: { 0: Abilities.PICKUP }, [Species.FLORAGATO]: { 0: Abilities.MAGICIAN }, From bee06410dd4b286acc59f35862271008447cec48 Mon Sep 17 00:00:00 2001 From: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com> Date: Fri, 2 May 2025 02:12:57 +0200 Subject: [PATCH 083/102] [Sprite] Variant Spring Implementation (#5483) * 566 567 variant icons and palettes @ bytezor * Add Archen & Archeops to variant icon atlas * [554 - 555 + zen ] Variant Implementation * [626 ] Variant Implementation * Removal of The base-replacement Genies * [ 746 ]-[ 746-school ] Implementation * Variant Palette for 2037-2038 * Variant palette 32-33-34 Plus base fix for front and back 34. * 645 both forms variant palette Icons gets pushed at a later date. * 299 - 476 variant palette * 299 - 476 _masterlist somehow mangage to miss this * Removing 905 who wasnt working correctly * 422- 421 both forms variant palettes * 143+ form - 446 variant Palette * 417 Variant palette * 498-499-500 variant palette * 88-89 variant palette plus the variant json for 500 I missed * 572 - 573 variant palette. found another lose one that should be pushed lmao * 187-188-189 Variant palette * 871 variant palette * 780 Variant palette * 331 332 + female variant palette * 782-783-784 variant palette transfer to consistent sprite set. removal of exp. due to statics not lining up. * 2038 json adjustments on breaking * 204 205 variant palette * [Bug][UI/UX] Fix type hint after enemy disappears (#5677) * Fix type hint after enemy disappears * Add automated test for type hint bugfix * Make onField default to true * Replace reference to Mode with UiMode and battleType with BattleStyle * [Bug] Fix Login Screen Buttons can be Pressed While Animating (#5170) * destroy containers when processing external containers * make form buttons uninteractible until tweens finished instead * fix holding enter spam * fix conflicts * [Balance] Update Gym Leader Teams and Teras (#5670) * Update Gym Leader Teams * Set Tera slots for Gym Leaders * Change Giovanni's Specialty Type to Ground --- Co-authored-by: damocleas * [Bug] Properly handle suppression with Illusion (#5671) * Remove extra attributes on neutralizing gas * Add IllusionBreakAbAttr to applyOnLose * Add test case * [Bug] Fix order of operations when displaying enemy Boss level (#5685) * order of operations in creating boss battleInfo fixed a bug where because of an order of operations error in this file it ignored the position update of the boss life value set in battle-info.ts (around line 562) * [Dev] Fix imports in `overrides.ts` and `illusion.test.ts` (#5686) * applin familly variant palette * 522 523 variant palette * 403 404 405 variant palette * 511 512 515 516 variant palette masterlist have code for 513 514 but fixes was broken add will be added once fixed * 313 314 variant palettes plus disabaling Landorus and other 2. * 692 693 Variant palette. * 535 536 537 variant palette fixing up mess found in masterlist json and the masterlist inclusion of 692 693 * 207 female variants palette plus adjustments of gliscor color to have better contrats. * 325 326 variant palette * 345 346 variant palette * Adding all variant Icons to the correct folder under variant icons. * Removal of Variant files triggering errors for sprite test these arent going to be implemented at this time due to the other 3 not being ready. * File adjustment the animation adjsutment for 750 to make the neck look less like a block. fixing the line issue that appeared in 523 back sprite * fixing the variant break for 572 573 * 513 514 variant palette been fully fix and is not working * 396 397 398 variant palette * fixing back variant palette and fix for 554 * fixing the missing files for 692 and 693 * Updated masterlist * fix flagging issue * Update all Pokemon variant icon atlases Fixed incorrectly sized Bouffalant icons, re-exported gen 5 icon atlas as it had broken graphics in it * Last Gen 5 icons * Export gen 5 variant icon atlas * 643 644 646 + form variant palette --------- Co-authored-by: Madmadness65 Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Co-authored-by: Chris <75648912+ChrisLolz@users.noreply.github.com> Co-authored-by: Blitzy <118096277+Blitz425@users.noreply.github.com> Co-authored-by: damocleas Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com> Co-authored-by: zaccie Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- public/exp-sprites.json | 24 - public/images/pokemon/1011.png | Bin 601 -> 653 bytes public/images/pokemon/1019.png | Bin 1107 -> 1149 bytes public/images/pokemon/143-gigantamax.png | Bin 1357 -> 1447 bytes public/images/pokemon/143.png | Bin 22274 -> 27509 bytes public/images/pokemon/189.png | Bin 5609 -> 15032 bytes public/images/pokemon/2038.png | Bin 1196 -> 1255 bytes public/images/pokemon/207.png | Bin 11139 -> 11765 bytes public/images/pokemon/313.png | Bin 3875 -> 16113 bytes public/images/pokemon/314.png | Bin 3017 -> 3141 bytes public/images/pokemon/332.png | Bin 6560 -> 6892 bytes public/images/pokemon/34.png | Bin 12634 -> 39759 bytes public/images/pokemon/396.png | Bin 3141 -> 3326 bytes public/images/pokemon/397.png | Bin 3786 -> 3936 bytes public/images/pokemon/398.png | Bin 9396 -> 9849 bytes public/images/pokemon/404.png | Bin 11341 -> 39516 bytes public/images/pokemon/417.png | Bin 6481 -> 7315 bytes public/images/pokemon/420.png | Bin 4320 -> 4503 bytes public/images/pokemon/421-overcast.png | Bin 2847 -> 3012 bytes public/images/pokemon/421-sunshine.png | Bin 4029 -> 4283 bytes public/images/pokemon/446.png | Bin 4369 -> 4614 bytes public/images/pokemon/472.png | Bin 13997 -> 14001 bytes public/images/pokemon/498.png | Bin 3503 -> 3718 bytes public/images/pokemon/499.png | Bin 6057 -> 6395 bytes public/images/pokemon/500.png | Bin 25568 -> 30150 bytes public/images/pokemon/511.png | Bin 6927 -> 7516 bytes public/images/pokemon/512.png | Bin 10457 -> 11241 bytes public/images/pokemon/513.png | Bin 5553 -> 5809 bytes public/images/pokemon/514.png | Bin 9227 -> 10574 bytes public/images/pokemon/515.png | Bin 3235 -> 3366 bytes public/images/pokemon/516.png | Bin 11095 -> 11814 bytes public/images/pokemon/522.png | Bin 5684 -> 17634 bytes public/images/pokemon/523.png | Bin 11191 -> 36843 bytes public/images/pokemon/535.png | Bin 1904 -> 2032 bytes public/images/pokemon/536.png | Bin 3208 -> 10771 bytes public/images/pokemon/537.png | Bin 15606 -> 49568 bytes public/images/pokemon/554.png | Bin 3995 -> 4298 bytes public/images/pokemon/555-zen.png | Bin 3494 -> 3662 bytes public/images/pokemon/555.png | Bin 12997 -> 15062 bytes public/images/pokemon/566.png | Bin 8816 -> 9129 bytes public/images/pokemon/572.png | Bin 7901 -> 22761 bytes public/images/pokemon/573.png | Bin 9783 -> 26950 bytes public/images/pokemon/626.png | Bin 10434 -> 29793 bytes public/images/pokemon/643.png | Bin 40477 -> 123461 bytes public/images/pokemon/644.png | Bin 34509 -> 112789 bytes public/images/pokemon/646-black.png | Bin 51803 -> 134532 bytes public/images/pokemon/646-white.png | Bin 79781 -> 214721 bytes public/images/pokemon/746-school.png | Bin 1400 -> 1467 bytes public/images/pokemon/746.png | Bin 405 -> 409 bytes public/images/pokemon/782.json | 1049 ++- public/images/pokemon/782.png | Bin 569 -> 3065 bytes public/images/pokemon/783.json | 1004 ++- public/images/pokemon/783.png | Bin 841 -> 29585 bytes public/images/pokemon/784.json | 851 ++- public/images/pokemon/784.png | Bin 1602 -> 50398 bytes public/images/pokemon/840.png | Bin 370 -> 393 bytes public/images/pokemon/841-gigantamax.png | Bin 1110 -> 1128 bytes public/images/pokemon/841.png | Bin 798 -> 854 bytes public/images/pokemon/842-gigantamax.png | Bin 1110 -> 1131 bytes public/images/pokemon/842.png | Bin 902 -> 936 bytes public/images/pokemon/871.png | Bin 464 -> 1026 bytes public/images/pokemon/back/1011.png | Bin 659 -> 617 bytes public/images/pokemon/back/1019.png | Bin 1022 -> 1088 bytes public/images/pokemon/back/143-gigantamax.png | Bin 1040 -> 1167 bytes public/images/pokemon/back/2038.png | Bin 882 -> 922 bytes public/images/pokemon/back/332.png | Bin 6115 -> 19460 bytes public/images/pokemon/back/34.png | Bin 10516 -> 12345 bytes public/images/pokemon/back/396.png | Bin 3058 -> 3308 bytes public/images/pokemon/back/397.png | Bin 3986 -> 4283 bytes public/images/pokemon/back/398.png | Bin 9131 -> 9730 bytes public/images/pokemon/back/403.png | Bin 3540 -> 9588 bytes public/images/pokemon/back/404.png | Bin 11157 -> 36081 bytes public/images/pokemon/back/405.png | Bin 8347 -> 25014 bytes public/images/pokemon/back/498.png | Bin 3314 -> 3529 bytes public/images/pokemon/back/500.png | Bin 22379 -> 27751 bytes public/images/pokemon/back/522.png | Bin 5850 -> 18639 bytes public/images/pokemon/back/523.png | Bin 10206 -> 35116 bytes public/images/pokemon/back/535.png | Bin 2188 -> 5310 bytes public/images/pokemon/back/536.png | Bin 3120 -> 8376 bytes public/images/pokemon/back/554.png | Bin 3295 -> 3765 bytes public/images/pokemon/back/555-zen.png | Bin 1926 -> 2178 bytes public/images/pokemon/back/555.png | Bin 10269 -> 11660 bytes public/images/pokemon/back/567.png | Bin 14219 -> 15323 bytes public/images/pokemon/back/572.png | Bin 6484 -> 7678 bytes public/images/pokemon/back/573.png | Bin 7895 -> 8779 bytes public/images/pokemon/back/626.png | Bin 8869 -> 10497 bytes public/images/pokemon/back/643.png | Bin 41502 -> 122695 bytes public/images/pokemon/back/644.png | Bin 34555 -> 43013 bytes public/images/pokemon/back/645-incarnate.png | Bin 14970 -> 18911 bytes public/images/pokemon/back/645-therian.png | Bin 24955 -> 34724 bytes public/images/pokemon/back/646-black.png | Bin 51301 -> 135804 bytes public/images/pokemon/back/646-white.png | Bin 63426 -> 66976 bytes public/images/pokemon/back/646.png | Bin 13257 -> 14944 bytes public/images/pokemon/back/746-school.png | Bin 1273 -> 1355 bytes public/images/pokemon/back/746.png | Bin 364 -> 402 bytes public/images/pokemon/back/782.json | 1049 ++- public/images/pokemon/back/782.png | Bin 501 -> 3018 bytes public/images/pokemon/back/783.json | 1004 ++- public/images/pokemon/back/783.png | Bin 734 -> 59134 bytes public/images/pokemon/back/784.json | 851 ++- public/images/pokemon/back/784.png | Bin 1373 -> 46060 bytes public/images/pokemon/back/840.png | Bin 364 -> 858 bytes public/images/pokemon/back/841-gigantamax.png | Bin 890 -> 955 bytes public/images/pokemon/back/841.png | Bin 639 -> 683 bytes public/images/pokemon/back/842-gigantamax.png | Bin 890 -> 955 bytes public/images/pokemon/back/842.png | Bin 863 -> 915 bytes public/images/pokemon/back/871.png | Bin 449 -> 1026 bytes public/images/pokemon/back/female/332.png | Bin 6115 -> 19460 bytes public/images/pokemon/back/female/396.png | Bin 3053 -> 3314 bytes public/images/pokemon/back/female/397.png | Bin 3982 -> 4267 bytes public/images/pokemon/back/female/398.png | Bin 9131 -> 9734 bytes public/images/pokemon/back/female/403.png | Bin 3557 -> 9525 bytes public/images/pokemon/back/female/404.png | Bin 11136 -> 36801 bytes public/images/pokemon/back/female/405.png | Bin 7879 -> 23649 bytes public/images/pokemon/back/shiny/782.json | 1049 ++- public/images/pokemon/back/shiny/782.png | Bin 503 -> 3331 bytes public/images/pokemon/back/shiny/783.json | 1004 ++- public/images/pokemon/back/shiny/783.png | Bin 731 -> 24629 bytes public/images/pokemon/back/shiny/784.json | 851 ++- public/images/pokemon/back/shiny/784.png | Bin 1373 -> 44603 bytes public/images/pokemon/exp/2038.png | Bin 13412 -> 13417 bytes public/images/pokemon/exp/692.png | Bin 2628 -> 2628 bytes public/images/pokemon/exp/780.png | Bin 58142 -> 25501 bytes public/images/pokemon/exp/782.json | 2351 ------- public/images/pokemon/exp/782.png | Bin 3279 -> 0 bytes public/images/pokemon/exp/783.json | 1154 ---- public/images/pokemon/exp/783.png | Bin 6600 -> 0 bytes public/images/pokemon/exp/784.json | 1826 ------ public/images/pokemon/exp/784.png | Bin 17198 -> 0 bytes public/images/pokemon/exp/840.png | Bin 3593 -> 3795 bytes public/images/pokemon/exp/841.png | Bin 3981 -> 4168 bytes public/images/pokemon/exp/842.png | Bin 4472 -> 4654 bytes public/images/pokemon/exp/871.png | Bin 1985 -> 4887 bytes public/images/pokemon/exp/back/2038.png | Bin 10458 -> 10411 bytes public/images/pokemon/exp/back/692.png | Bin 2046 -> 2043 bytes public/images/pokemon/exp/back/750.png | Bin 40472 -> 40614 bytes public/images/pokemon/exp/back/782.json | 2351 ------- public/images/pokemon/exp/back/782.png | Bin 2752 -> 0 bytes public/images/pokemon/exp/back/783.json | 230 - public/images/pokemon/exp/back/783.png | Bin 2833 -> 0 bytes public/images/pokemon/exp/back/784.json | 230 - public/images/pokemon/exp/back/784.png | Bin 5277 -> 0 bytes public/images/pokemon/exp/back/840.json | 1373 +++- public/images/pokemon/exp/back/840.png | Bin 1115 -> 3984 bytes public/images/pokemon/exp/back/841.png | Bin 2729 -> 2867 bytes public/images/pokemon/exp/back/842.png | Bin 3099 -> 3281 bytes public/images/pokemon/exp/back/871.png | Bin 2179 -> 5391 bytes public/images/pokemon/exp/back/shiny/692.png | Bin 2046 -> 2043 bytes public/images/pokemon/exp/back/shiny/782.json | 2351 ------- public/images/pokemon/exp/back/shiny/782.png | Bin 2749 -> 0 bytes public/images/pokemon/exp/back/shiny/783.json | 230 - public/images/pokemon/exp/back/shiny/783.png | Bin 2810 -> 0 bytes public/images/pokemon/exp/back/shiny/784.json | 230 - public/images/pokemon/exp/back/shiny/784.png | Bin 5262 -> 0 bytes public/images/pokemon/exp/back/shiny/840.json | 1373 +++- public/images/pokemon/exp/back/shiny/840.png | Bin 1096 -> 3984 bytes public/images/pokemon/exp/shiny/692.png | Bin 2628 -> 2628 bytes public/images/pokemon/exp/shiny/782.json | 2351 ------- public/images/pokemon/exp/shiny/782.png | Bin 3279 -> 0 bytes public/images/pokemon/exp/shiny/783.json | 2204 ------- public/images/pokemon/exp/shiny/783.png | Bin 4873 -> 0 bytes public/images/pokemon/exp/shiny/784.json | 1826 ------ public/images/pokemon/exp/shiny/784.png | Bin 17185 -> 0 bytes public/images/pokemon/female/207.png | Bin 11249 -> 11889 bytes public/images/pokemon/female/332.png | Bin 6578 -> 6911 bytes public/images/pokemon/female/396.png | Bin 3146 -> 3338 bytes public/images/pokemon/female/397.png | Bin 3753 -> 3955 bytes public/images/pokemon/female/398.png | Bin 9399 -> 9844 bytes public/images/pokemon/female/404.png | Bin 10647 -> 38706 bytes public/images/pokemon/female/417.png | Bin 6478 -> 7310 bytes public/images/pokemon/icons/7/746-school.png | Bin 380 -> 362 bytes public/images/pokemon/icons/7/746.png | Bin 257 -> 272 bytes .../icons/variant/1/143-gigantamax_2.png | Bin 0 -> 498 bytes .../icons/variant/1/143-gigantamax_3.png | Bin 0 -> 507 bytes .../images/pokemon/icons/variant/1/143_2.png | Bin 0 -> 738 bytes .../images/pokemon/icons/variant/1/143_3.png | Bin 0 -> 756 bytes .../images/pokemon/icons/variant/1/32_2.png | Bin 0 -> 563 bytes .../images/pokemon/icons/variant/1/32_3.png | Bin 0 -> 554 bytes .../images/pokemon/icons/variant/1/33_2.png | Bin 0 -> 576 bytes .../images/pokemon/icons/variant/1/33_3.png | Bin 0 -> 588 bytes .../images/pokemon/icons/variant/1/34_2.png | Bin 0 -> 899 bytes .../images/pokemon/icons/variant/1/34_3.png | Bin 0 -> 907 bytes .../images/pokemon/icons/variant/1/88_2.png | Bin 0 -> 603 bytes .../images/pokemon/icons/variant/1/88_3.png | Bin 0 -> 609 bytes .../images/pokemon/icons/variant/1/89_2.png | Bin 0 -> 753 bytes .../images/pokemon/icons/variant/1/89_3.png | Bin 0 -> 741 bytes .../images/pokemon/icons/variant/2/187_2.png | Bin 0 -> 600 bytes .../images/pokemon/icons/variant/2/187_3.png | Bin 0 -> 600 bytes .../images/pokemon/icons/variant/2/188_2.png | Bin 0 -> 585 bytes .../images/pokemon/icons/variant/2/188_3.png | Bin 0 -> 585 bytes .../images/pokemon/icons/variant/2/189_2.png | Bin 0 -> 619 bytes .../images/pokemon/icons/variant/2/189_3.png | Bin 0 -> 619 bytes .../images/pokemon/icons/variant/2/204_2.png | Bin 0 -> 589 bytes .../images/pokemon/icons/variant/2/204_3.png | Bin 0 -> 589 bytes .../images/pokemon/icons/variant/2/205_2.png | Bin 0 -> 619 bytes .../images/pokemon/icons/variant/2/205_3.png | Bin 0 -> 625 bytes .../images/pokemon/icons/variant/2/207_2.png | Bin 681 -> 745 bytes .../images/pokemon/icons/variant/2/207_3.png | Bin 684 -> 736 bytes .../images/pokemon/icons/variant/3/299_2.png | Bin 0 -> 566 bytes .../images/pokemon/icons/variant/3/299_3.png | Bin 0 -> 566 bytes .../images/pokemon/icons/variant/3/313_2.png | Bin 0 -> 688 bytes .../images/pokemon/icons/variant/3/313_3.png | Bin 0 -> 724 bytes .../images/pokemon/icons/variant/3/314_2.png | Bin 0 -> 679 bytes .../images/pokemon/icons/variant/3/314_3.png | Bin 0 -> 691 bytes .../images/pokemon/icons/variant/3/325_2.png | Bin 0 -> 479 bytes .../images/pokemon/icons/variant/3/325_3.png | Bin 0 -> 478 bytes .../images/pokemon/icons/variant/3/326_2.png | Bin 0 -> 630 bytes .../images/pokemon/icons/variant/3/326_3.png | Bin 0 -> 644 bytes .../images/pokemon/icons/variant/3/331_2.png | Bin 0 -> 601 bytes .../images/pokemon/icons/variant/3/331_3.png | Bin 0 -> 607 bytes .../images/pokemon/icons/variant/3/332_2.png | Bin 0 -> 613 bytes .../images/pokemon/icons/variant/3/332_3.png | Bin 0 -> 614 bytes .../images/pokemon/icons/variant/3/345_2.png | Bin 0 -> 610 bytes .../images/pokemon/icons/variant/3/345_3.png | Bin 0 -> 646 bytes .../images/pokemon/icons/variant/3/346_2.png | Bin 0 -> 869 bytes .../images/pokemon/icons/variant/3/346_3.png | Bin 0 -> 853 bytes .../images/pokemon/icons/variant/4/396_2.png | Bin 0 -> 579 bytes .../images/pokemon/icons/variant/4/396_3.png | Bin 0 -> 605 bytes .../images/pokemon/icons/variant/4/397_2.png | Bin 0 -> 613 bytes .../images/pokemon/icons/variant/4/397_3.png | Bin 0 -> 637 bytes .../images/pokemon/icons/variant/4/398_2.png | Bin 0 -> 765 bytes .../images/pokemon/icons/variant/4/398_3.png | Bin 0 -> 792 bytes .../images/pokemon/icons/variant/4/403_2.png | Bin 0 -> 636 bytes .../images/pokemon/icons/variant/4/403_3.png | Bin 0 -> 633 bytes .../images/pokemon/icons/variant/4/404_2.png | Bin 0 -> 732 bytes .../images/pokemon/icons/variant/4/404_3.png | Bin 0 -> 735 bytes .../images/pokemon/icons/variant/4/405_2.png | Bin 0 -> 744 bytes .../images/pokemon/icons/variant/4/405_3.png | Bin 0 -> 735 bytes .../images/pokemon/icons/variant/4/420_2.png | Bin 0 -> 506 bytes .../images/pokemon/icons/variant/4/420_3.png | Bin 0 -> 480 bytes .../icons/variant/4/421-overcast_2.png | Bin 0 -> 467 bytes .../icons/variant/4/421-overcast_3.png | Bin 0 -> 470 bytes .../icons/variant/4/421-sunshine_2.png | Bin 0 -> 651 bytes .../icons/variant/4/421-sunshine_3.png | Bin 0 -> 649 bytes .../images/pokemon/icons/variant/4/446_2.png | Bin 0 -> 497 bytes .../images/pokemon/icons/variant/4/446_3.png | Bin 0 -> 504 bytes .../images/pokemon/icons/variant/4/476_2.png | Bin 0 -> 641 bytes .../images/pokemon/icons/variant/4/476_3.png | Bin 0 -> 641 bytes .../images/pokemon/icons/variant/5/498_2.png | Bin 0 -> 568 bytes .../images/pokemon/icons/variant/5/498_3.png | Bin 0 -> 545 bytes .../images/pokemon/icons/variant/5/499_2.png | Bin 0 -> 743 bytes .../images/pokemon/icons/variant/5/499_3.png | Bin 0 -> 777 bytes .../images/pokemon/icons/variant/5/500_2.png | Bin 0 -> 943 bytes .../images/pokemon/icons/variant/5/500_3.png | Bin 0 -> 964 bytes .../images/pokemon/icons/variant/5/511_2.png | Bin 0 -> 633 bytes .../images/pokemon/icons/variant/5/511_3.png | Bin 0 -> 633 bytes .../images/pokemon/icons/variant/5/512_2.png | Bin 0 -> 732 bytes .../images/pokemon/icons/variant/5/512_3.png | Bin 0 -> 726 bytes .../images/pokemon/icons/variant/5/513_2.png | Bin 0 -> 663 bytes .../images/pokemon/icons/variant/5/513_3.png | Bin 0 -> 671 bytes .../images/pokemon/icons/variant/5/514_2.png | Bin 0 -> 848 bytes .../images/pokemon/icons/variant/5/514_3.png | Bin 0 -> 850 bytes .../images/pokemon/icons/variant/5/515_2.png | Bin 0 -> 711 bytes .../images/pokemon/icons/variant/5/515_3.png | Bin 0 -> 714 bytes .../images/pokemon/icons/variant/5/516_2.png | Bin 0 -> 789 bytes .../images/pokemon/icons/variant/5/516_3.png | Bin 0 -> 786 bytes .../images/pokemon/icons/variant/5/522_2.png | Bin 0 -> 552 bytes .../images/pokemon/icons/variant/5/522_3.png | Bin 0 -> 555 bytes .../images/pokemon/icons/variant/5/523_2.png | Bin 0 -> 738 bytes .../images/pokemon/icons/variant/5/523_3.png | Bin 0 -> 738 bytes .../images/pokemon/icons/variant/5/535_2.png | Bin 0 -> 432 bytes .../images/pokemon/icons/variant/5/535_3.png | Bin 0 -> 432 bytes .../images/pokemon/icons/variant/5/536_2.png | Bin 0 -> 612 bytes .../images/pokemon/icons/variant/5/536_3.png | Bin 0 -> 609 bytes .../images/pokemon/icons/variant/5/537_2.png | Bin 0 -> 759 bytes .../images/pokemon/icons/variant/5/537_3.png | Bin 0 -> 753 bytes .../images/pokemon/icons/variant/5/554_2.png | Bin 0 -> 484 bytes .../images/pokemon/icons/variant/5/554_3.png | Bin 0 -> 473 bytes .../pokemon/icons/variant/5/555-zen_2.png | Bin 0 -> 572 bytes .../pokemon/icons/variant/5/555-zen_3.png | Bin 0 -> 563 bytes .../images/pokemon/icons/variant/5/555_2.png | Bin 0 -> 743 bytes .../images/pokemon/icons/variant/5/555_3.png | Bin 0 -> 746 bytes .../images/pokemon/icons/variant/5/566_2.png | Bin 0 -> 281 bytes .../images/pokemon/icons/variant/5/566_3.png | Bin 0 -> 281 bytes .../images/pokemon/icons/variant/5/567_2.png | Bin 0 -> 361 bytes .../images/pokemon/icons/variant/5/567_3.png | Bin 0 -> 361 bytes .../images/pokemon/icons/variant/5/572_2.png | Bin 625 -> 647 bytes .../images/pokemon/icons/variant/5/572_3.png | Bin 580 -> 652 bytes .../images/pokemon/icons/variant/5/573_2.png | Bin 0 -> 764 bytes .../images/pokemon/icons/variant/5/573_3.png | Bin 0 -> 743 bytes .../images/pokemon/icons/variant/5/626_2.png | Bin 0 -> 654 bytes .../images/pokemon/icons/variant/5/626_3.png | Bin 0 -> 649 bytes .../icons/variant/5/641-incarnate_1.png | Bin 889 -> 0 bytes .../pokemon/icons/variant/5/641-therian_1.png | Bin 803 -> 0 bytes .../icons/variant/5/642-incarnate_1.png | Bin 855 -> 0 bytes .../pokemon/icons/variant/5/642-therian_1.png | Bin 848 -> 0 bytes .../images/pokemon/icons/variant/5/643_2.png | Bin 0 -> 914 bytes .../images/pokemon/icons/variant/5/643_3.png | Bin 0 -> 1040 bytes .../images/pokemon/icons/variant/5/644_2.png | Bin 0 -> 770 bytes .../images/pokemon/icons/variant/5/644_3.png | Bin 0 -> 393 bytes .../icons/variant/5/645-incarnate_1.png | Bin 905 -> 0 bytes .../pokemon/icons/variant/5/645-therian_1.png | Bin 874 -> 0 bytes .../pokemon/icons/variant/5/646-black_2.png | Bin 0 -> 1097 bytes .../pokemon/icons/variant/5/646-black_3.png | Bin 0 -> 476 bytes .../pokemon/icons/variant/5/646-white_2.png | Bin 0 -> 1170 bytes .../pokemon/icons/variant/5/646-white_3.png | Bin 0 -> 508 bytes .../images/pokemon/icons/variant/5/646_2.png | Bin 0 -> 1174 bytes .../images/pokemon/icons/variant/5/646_3.png | Bin 0 -> 468 bytes .../images/pokemon/icons/variant/6/692_2.png | Bin 0 -> 289 bytes .../images/pokemon/icons/variant/6/692_3.png | Bin 0 -> 289 bytes .../images/pokemon/icons/variant/6/693_2.png | Bin 0 -> 372 bytes .../images/pokemon/icons/variant/6/693_3.png | Bin 0 -> 374 bytes .../images/pokemon/icons/variant/7/2037_2.png | Bin 0 -> 618 bytes .../images/pokemon/icons/variant/7/2037_3.png | Bin 0 -> 624 bytes .../images/pokemon/icons/variant/7/2038_2.png | Bin 0 -> 798 bytes .../images/pokemon/icons/variant/7/2038_3.png | Bin 0 -> 798 bytes .../pokemon/icons/variant/7/746-school_1.png | Bin 0 -> 747 bytes .../pokemon/icons/variant/7/746-school_2.png | Bin 0 -> 747 bytes .../images/pokemon/icons/variant/7/746_1.png | Bin 0 -> 492 bytes .../images/pokemon/icons/variant/7/746_2.png | Bin 0 -> 489 bytes .../images/pokemon/icons/variant/7/780_2.png | Bin 0 -> 737 bytes .../images/pokemon/icons/variant/7/780_3.png | Bin 0 -> 720 bytes .../images/pokemon/icons/variant/7/782_2.png | Bin 0 -> 668 bytes .../images/pokemon/icons/variant/7/782_3.png | Bin 0 -> 651 bytes .../images/pokemon/icons/variant/7/783_2.png | Bin 0 -> 758 bytes .../images/pokemon/icons/variant/7/783_3.png | Bin 0 -> 742 bytes .../images/pokemon/icons/variant/7/784_2.png | Bin 0 -> 1013 bytes .../images/pokemon/icons/variant/7/784_3.png | Bin 0 -> 1016 bytes .../images/pokemon/icons/variant/8/871_1.png | Bin 0 -> 471 bytes .../images/pokemon/icons/variant/8/871_2.png | Bin 0 -> 474 bytes public/images/pokemon/shiny/782.json | 1049 ++- public/images/pokemon/shiny/782.png | Bin 544 -> 3069 bytes public/images/pokemon/shiny/783.json | 1004 ++- public/images/pokemon/shiny/783.png | Bin 853 -> 29367 bytes public/images/pokemon/shiny/784.json | 851 ++- public/images/pokemon/shiny/784.png | Bin 1602 -> 49537 bytes public/images/pokemon/variant/1011.json | 36 + public/images/pokemon/variant/1019.json | 46 + .../pokemon/variant/143-gigantamax.json | 50 + public/images/pokemon/variant/143.json | 38 + public/images/pokemon/variant/187.json | 28 + public/images/pokemon/variant/188.json | 30 + public/images/pokemon/variant/189.json | 38 + public/images/pokemon/variant/2037.json | 26 + public/images/pokemon/variant/2038.json | 36 + public/images/pokemon/variant/204.json | 20 + public/images/pokemon/variant/205.json | 26 + public/images/pokemon/variant/207.json | 34 +- public/images/pokemon/variant/299.json | 28 + public/images/pokemon/variant/313.json | 36 + public/images/pokemon/variant/314.json | 36 + public/images/pokemon/variant/32.json | 34 + public/images/pokemon/variant/325.json | 26 + public/images/pokemon/variant/326.json | 32 + public/images/pokemon/variant/33.json | 32 + public/images/pokemon/variant/331.json | 30 + public/images/pokemon/variant/332.json | 34 + public/images/pokemon/variant/34.json | 44 + public/images/pokemon/variant/345.json | 28 + public/images/pokemon/variant/346.json | 32 + public/images/pokemon/variant/396.json | 44 + public/images/pokemon/variant/397.json | 38 + public/images/pokemon/variant/398.json | 36 + public/images/pokemon/variant/403.json | 26 + public/images/pokemon/variant/404.json | 28 + public/images/pokemon/variant/405.json | 28 + public/images/pokemon/variant/417.json | 36 + public/images/pokemon/variant/420.json | 32 + .../images/pokemon/variant/421-overcast.json | 34 + .../images/pokemon/variant/421-sunshine.json | 40 + public/images/pokemon/variant/446.json | 38 + public/images/pokemon/variant/472.json | 51 +- public/images/pokemon/variant/476.json | 36 + public/images/pokemon/variant/498.json | 44 + public/images/pokemon/variant/499.json | 40 + public/images/pokemon/variant/500.json | 56 + public/images/pokemon/variant/511.json | 26 + public/images/pokemon/variant/512.json | 32 + public/images/pokemon/variant/513.json | 26 + public/images/pokemon/variant/514.json | 37 + public/images/pokemon/variant/515.json | 28 + public/images/pokemon/variant/516.json | 30 + public/images/pokemon/variant/522.json | 34 + public/images/pokemon/variant/523.json | 42 + public/images/pokemon/variant/535.json | 31 + public/images/pokemon/variant/536.json | 44 + public/images/pokemon/variant/537.json | 33 + public/images/pokemon/variant/554.json | 36 + public/images/pokemon/variant/555-zen.json | 32 + public/images/pokemon/variant/555.json | 36 + public/images/pokemon/variant/566.json | 32 + public/images/pokemon/variant/567.json | 37 + public/images/pokemon/variant/572.json | 40 +- public/images/pokemon/variant/573.json | 26 + public/images/pokemon/variant/626.json | 52 + public/images/pokemon/variant/643.json | 52 + public/images/pokemon/variant/643_2.png | Bin 0 -> 124698 bytes public/images/pokemon/variant/644.json | 48 + public/images/pokemon/variant/646-black.json | 59 + public/images/pokemon/variant/646-white.json | 52 + public/images/pokemon/variant/646.json | 38 + public/images/pokemon/variant/692.json | 26 + public/images/pokemon/variant/693.json | 30 + public/images/pokemon/variant/746-school.json | 40 + public/images/pokemon/variant/746.json | 40 + public/images/pokemon/variant/780.json | 40 + public/images/pokemon/variant/782.json | 34 + public/images/pokemon/variant/783.json | 32 + public/images/pokemon/variant/784.json | 50 + public/images/pokemon/variant/840.json | 34 + .../pokemon/variant/841-gigantamax.json | 52 + public/images/pokemon/variant/841.json | 38 + .../pokemon/variant/842-gigantamax.json | 52 + public/images/pokemon/variant/842.json | 40 + public/images/pokemon/variant/871.json | 32 + public/images/pokemon/variant/88.json | 28 + public/images/pokemon/variant/89.json | 30 + .../pokemon/variant/_exp_masterlist.json | 22 + .../images/pokemon/variant/_masterlist.json | 181 +- public/images/pokemon/variant/back/1011.json | 29 + public/images/pokemon/variant/back/1019.json | 44 + .../pokemon/variant/back/143-gigantamax.json | 62 + public/images/pokemon/variant/back/143.json | 32 + public/images/pokemon/variant/back/187.json | 28 + public/images/pokemon/variant/back/188.json | 30 + public/images/pokemon/variant/back/189.json | 32 + public/images/pokemon/variant/back/2037.json | 22 + public/images/pokemon/variant/back/2038.json | 36 + public/images/pokemon/variant/back/204.json | 16 + public/images/pokemon/variant/back/205.json | 22 + public/images/pokemon/variant/back/299.json | 28 + public/images/pokemon/variant/back/313.json | 28 + public/images/pokemon/variant/back/314.json | 30 + public/images/pokemon/variant/back/32.json | 34 + public/images/pokemon/variant/back/325.json | 24 + public/images/pokemon/variant/back/326.json | 30 + public/images/pokemon/variant/back/33.json | 32 + public/images/pokemon/variant/back/331.json | 30 + public/images/pokemon/variant/back/332.json | 28 + public/images/pokemon/variant/back/34.json | 32 + public/images/pokemon/variant/back/345.json | 28 + public/images/pokemon/variant/back/346.json | 30 + public/images/pokemon/variant/back/396.json | 36 + public/images/pokemon/variant/back/397.json | 36 + public/images/pokemon/variant/back/398.json | 35 + public/images/pokemon/variant/back/403.json | 22 + public/images/pokemon/variant/back/404.json | 24 + public/images/pokemon/variant/back/405.json | 30 + public/images/pokemon/variant/back/417.json | 36 + public/images/pokemon/variant/back/420.json | 32 + .../pokemon/variant/back/421-overcast.json | 34 + .../pokemon/variant/back/421-sunshine.json | 40 + public/images/pokemon/variant/back/446.json | 38 + public/images/pokemon/variant/back/476.json | 36 + public/images/pokemon/variant/back/498.json | 44 + public/images/pokemon/variant/back/499.json | 40 + public/images/pokemon/variant/back/500.json | 46 + public/images/pokemon/variant/back/511.json | 20 + public/images/pokemon/variant/back/512.json | 26 + public/images/pokemon/variant/back/513.json | 20 + public/images/pokemon/variant/back/514.json | 27 + public/images/pokemon/variant/back/515.json | 22 + public/images/pokemon/variant/back/516.json | 24 + public/images/pokemon/variant/back/522.json | 36 + public/images/pokemon/variant/back/523.json | 44 + public/images/pokemon/variant/back/535.json | 26 + public/images/pokemon/variant/back/536.json | 32 + public/images/pokemon/variant/back/537.json | 24 + public/images/pokemon/variant/back/554.json | 32 + .../images/pokemon/variant/back/555-zen.json | 24 + public/images/pokemon/variant/back/555.json | 30 + public/images/pokemon/variant/back/566.json | 32 + public/images/pokemon/variant/back/567.json | 37 + public/images/pokemon/variant/back/572.json | 26 +- public/images/pokemon/variant/back/573.json | 24 + public/images/pokemon/variant/back/626.json | 46 + public/images/pokemon/variant/back/643.json | 50 + public/images/pokemon/variant/back/644.json | 44 + .../pokemon/variant/back/646-black.json | 49 + .../pokemon/variant/back/646-white.json | 46 + public/images/pokemon/variant/back/646.json | 33 + public/images/pokemon/variant/back/692.json | 28 + public/images/pokemon/variant/back/693.json | 28 + .../pokemon/variant/back/746-school.json | 38 + public/images/pokemon/variant/back/746.json | 40 + public/images/pokemon/variant/back/780.json | 28 + public/images/pokemon/variant/back/782.json | 30 + public/images/pokemon/variant/back/783.json | 32 + public/images/pokemon/variant/back/784.json | 42 + public/images/pokemon/variant/back/840.json | 28 + .../pokemon/variant/back/841-gigantamax.json | 36 + public/images/pokemon/variant/back/841.json | 34 + .../pokemon/variant/back/842-gigantamax.json | 36 + public/images/pokemon/variant/back/842.json | 36 + public/images/pokemon/variant/back/871.json | 32 + public/images/pokemon/variant/back/88.json | 28 + public/images/pokemon/variant/back/89.json | 30 + .../pokemon/variant/back/female/207.json | 18 +- .../pokemon/variant/back/female/332.json | 28 + .../pokemon/variant/back/female/396.json | 36 + .../pokemon/variant/back/female/397.json | 36 + .../pokemon/variant/back/female/398.json | 36 + .../pokemon/variant/back/female/403.json | 22 + .../pokemon/variant/back/female/404.json | 24 + .../pokemon/variant/back/female/405.json | 30 + .../pokemon/variant/back/female/417.json | 36 + public/images/pokemon/variant/exp/2037.json | 26 + public/images/pokemon/variant/exp/2038.json | 36 + public/images/pokemon/variant/exp/692.json | 26 + public/images/pokemon/variant/exp/693.json | 30 + .../pokemon/variant/exp/746-school.json | 40 + public/images/pokemon/variant/exp/746.json | 40 + public/images/pokemon/variant/exp/780.json | 40 + public/images/pokemon/variant/exp/840.json | 34 + public/images/pokemon/variant/exp/841.json | 42 + public/images/pokemon/variant/exp/842.json | 43 + public/images/pokemon/variant/exp/871.json | 32 + .../images/pokemon/variant/exp/back/2037.json | 22 + .../images/pokemon/variant/exp/back/2038.json | 36 + .../images/pokemon/variant/exp/back/692.json | 28 + .../images/pokemon/variant/exp/back/693.json | 28 + .../pokemon/variant/exp/back/746-school.json | 38 + .../images/pokemon/variant/exp/back/746.json | 40 + .../images/pokemon/variant/exp/back/780.json | 28 + .../images/pokemon/variant/exp/back/840.json | 28 + .../images/pokemon/variant/exp/back/841.json | 34 + .../images/pokemon/variant/exp/back/842.json | 38 + .../images/pokemon/variant/exp/back/871.json | 32 + public/images/pokemon/variant/female/207.json | 40 +- public/images/pokemon/variant/female/332.json | 34 + public/images/pokemon/variant/female/396.json | 38 + public/images/pokemon/variant/female/397.json | 38 + public/images/pokemon/variant/female/398.json | 36 + public/images/pokemon/variant/female/403.json | 26 + public/images/pokemon/variant/female/404.json | 28 + public/images/pokemon/variant/female/405.json | 28 + public/images/pokemon/variant/female/417.json | 36 + public/images/pokemon_icons_1v.json | 5754 ++++++++++++++--- public/images/pokemon_icons_1v.png | Bin 58708 -> 61514 bytes public/images/pokemon_icons_2v.json | 1072 +-- public/images/pokemon_icons_2v.png | Bin 37450 -> 39393 bytes public/images/pokemon_icons_3v.json | 1054 ++- public/images/pokemon_icons_3v.png | Bin 44779 -> 47691 bytes public/images/pokemon_icons_4v.json | 1220 ++-- public/images/pokemon_icons_4v.png | Bin 42411 -> 46415 bytes public/images/pokemon_icons_5v.json | 1746 +++-- public/images/pokemon_icons_5v.png | Bin 41975 -> 51486 bytes public/images/pokemon_icons_6v.json | 370 +- public/images/pokemon_icons_6v.png | Bin 35860 -> 36617 bytes public/images/pokemon_icons_7v.json | 754 ++- public/images/pokemon_icons_7v.png | Bin 27054 -> 30580 bytes public/images/pokemon_icons_8v.json | 624 +- public/images/pokemon_icons_8v.png | Bin 46264 -> 46699 bytes public/images/pokemon_icons_9v.json | 2 +- public/images/pokemon_icons_9v.png | Bin 35130 -> 35071 bytes 545 files changed, 29803 insertions(+), 21471 deletions(-) delete mode 100644 public/images/pokemon/exp/782.json delete mode 100644 public/images/pokemon/exp/782.png delete mode 100644 public/images/pokemon/exp/783.json delete mode 100644 public/images/pokemon/exp/783.png delete mode 100644 public/images/pokemon/exp/784.json delete mode 100644 public/images/pokemon/exp/784.png delete mode 100644 public/images/pokemon/exp/back/782.json delete mode 100644 public/images/pokemon/exp/back/782.png delete mode 100644 public/images/pokemon/exp/back/783.json delete mode 100644 public/images/pokemon/exp/back/783.png delete mode 100644 public/images/pokemon/exp/back/784.json delete mode 100644 public/images/pokemon/exp/back/784.png delete mode 100644 public/images/pokemon/exp/back/shiny/782.json delete mode 100644 public/images/pokemon/exp/back/shiny/782.png delete mode 100644 public/images/pokemon/exp/back/shiny/783.json delete mode 100644 public/images/pokemon/exp/back/shiny/783.png delete mode 100644 public/images/pokemon/exp/back/shiny/784.json delete mode 100644 public/images/pokemon/exp/back/shiny/784.png delete mode 100644 public/images/pokemon/exp/shiny/782.json delete mode 100644 public/images/pokemon/exp/shiny/782.png delete mode 100644 public/images/pokemon/exp/shiny/783.json delete mode 100644 public/images/pokemon/exp/shiny/783.png delete mode 100644 public/images/pokemon/exp/shiny/784.json delete mode 100644 public/images/pokemon/exp/shiny/784.png create mode 100644 public/images/pokemon/icons/variant/1/143-gigantamax_2.png create mode 100644 public/images/pokemon/icons/variant/1/143-gigantamax_3.png create mode 100644 public/images/pokemon/icons/variant/1/143_2.png create mode 100644 public/images/pokemon/icons/variant/1/143_3.png create mode 100644 public/images/pokemon/icons/variant/1/32_2.png create mode 100644 public/images/pokemon/icons/variant/1/32_3.png create mode 100644 public/images/pokemon/icons/variant/1/33_2.png create mode 100644 public/images/pokemon/icons/variant/1/33_3.png create mode 100644 public/images/pokemon/icons/variant/1/34_2.png create mode 100644 public/images/pokemon/icons/variant/1/34_3.png create mode 100644 public/images/pokemon/icons/variant/1/88_2.png create mode 100644 public/images/pokemon/icons/variant/1/88_3.png create mode 100644 public/images/pokemon/icons/variant/1/89_2.png create mode 100644 public/images/pokemon/icons/variant/1/89_3.png create mode 100644 public/images/pokemon/icons/variant/2/187_2.png create mode 100644 public/images/pokemon/icons/variant/2/187_3.png create mode 100644 public/images/pokemon/icons/variant/2/188_2.png create mode 100644 public/images/pokemon/icons/variant/2/188_3.png create mode 100644 public/images/pokemon/icons/variant/2/189_2.png create mode 100644 public/images/pokemon/icons/variant/2/189_3.png create mode 100644 public/images/pokemon/icons/variant/2/204_2.png create mode 100644 public/images/pokemon/icons/variant/2/204_3.png create mode 100644 public/images/pokemon/icons/variant/2/205_2.png create mode 100644 public/images/pokemon/icons/variant/2/205_3.png create mode 100644 public/images/pokemon/icons/variant/3/299_2.png create mode 100644 public/images/pokemon/icons/variant/3/299_3.png create mode 100644 public/images/pokemon/icons/variant/3/313_2.png create mode 100644 public/images/pokemon/icons/variant/3/313_3.png create mode 100644 public/images/pokemon/icons/variant/3/314_2.png create mode 100644 public/images/pokemon/icons/variant/3/314_3.png create mode 100644 public/images/pokemon/icons/variant/3/325_2.png create mode 100644 public/images/pokemon/icons/variant/3/325_3.png create mode 100644 public/images/pokemon/icons/variant/3/326_2.png create mode 100644 public/images/pokemon/icons/variant/3/326_3.png create mode 100644 public/images/pokemon/icons/variant/3/331_2.png create mode 100644 public/images/pokemon/icons/variant/3/331_3.png create mode 100644 public/images/pokemon/icons/variant/3/332_2.png create mode 100644 public/images/pokemon/icons/variant/3/332_3.png create mode 100644 public/images/pokemon/icons/variant/3/345_2.png create mode 100644 public/images/pokemon/icons/variant/3/345_3.png create mode 100644 public/images/pokemon/icons/variant/3/346_2.png create mode 100644 public/images/pokemon/icons/variant/3/346_3.png create mode 100644 public/images/pokemon/icons/variant/4/396_2.png create mode 100644 public/images/pokemon/icons/variant/4/396_3.png create mode 100644 public/images/pokemon/icons/variant/4/397_2.png create mode 100644 public/images/pokemon/icons/variant/4/397_3.png create mode 100644 public/images/pokemon/icons/variant/4/398_2.png create mode 100644 public/images/pokemon/icons/variant/4/398_3.png create mode 100644 public/images/pokemon/icons/variant/4/403_2.png create mode 100644 public/images/pokemon/icons/variant/4/403_3.png create mode 100644 public/images/pokemon/icons/variant/4/404_2.png create mode 100644 public/images/pokemon/icons/variant/4/404_3.png create mode 100644 public/images/pokemon/icons/variant/4/405_2.png create mode 100644 public/images/pokemon/icons/variant/4/405_3.png create mode 100644 public/images/pokemon/icons/variant/4/420_2.png create mode 100644 public/images/pokemon/icons/variant/4/420_3.png create mode 100644 public/images/pokemon/icons/variant/4/421-overcast_2.png create mode 100644 public/images/pokemon/icons/variant/4/421-overcast_3.png create mode 100644 public/images/pokemon/icons/variant/4/421-sunshine_2.png create mode 100644 public/images/pokemon/icons/variant/4/421-sunshine_3.png create mode 100644 public/images/pokemon/icons/variant/4/446_2.png create mode 100644 public/images/pokemon/icons/variant/4/446_3.png create mode 100644 public/images/pokemon/icons/variant/4/476_2.png create mode 100644 public/images/pokemon/icons/variant/4/476_3.png create mode 100644 public/images/pokemon/icons/variant/5/498_2.png create mode 100644 public/images/pokemon/icons/variant/5/498_3.png create mode 100644 public/images/pokemon/icons/variant/5/499_2.png create mode 100644 public/images/pokemon/icons/variant/5/499_3.png create mode 100644 public/images/pokemon/icons/variant/5/500_2.png create mode 100644 public/images/pokemon/icons/variant/5/500_3.png create mode 100644 public/images/pokemon/icons/variant/5/511_2.png create mode 100644 public/images/pokemon/icons/variant/5/511_3.png create mode 100644 public/images/pokemon/icons/variant/5/512_2.png create mode 100644 public/images/pokemon/icons/variant/5/512_3.png create mode 100644 public/images/pokemon/icons/variant/5/513_2.png create mode 100644 public/images/pokemon/icons/variant/5/513_3.png create mode 100644 public/images/pokemon/icons/variant/5/514_2.png create mode 100644 public/images/pokemon/icons/variant/5/514_3.png create mode 100644 public/images/pokemon/icons/variant/5/515_2.png create mode 100644 public/images/pokemon/icons/variant/5/515_3.png create mode 100644 public/images/pokemon/icons/variant/5/516_2.png create mode 100644 public/images/pokemon/icons/variant/5/516_3.png create mode 100644 public/images/pokemon/icons/variant/5/522_2.png create mode 100644 public/images/pokemon/icons/variant/5/522_3.png create mode 100644 public/images/pokemon/icons/variant/5/523_2.png create mode 100644 public/images/pokemon/icons/variant/5/523_3.png create mode 100644 public/images/pokemon/icons/variant/5/535_2.png create mode 100644 public/images/pokemon/icons/variant/5/535_3.png create mode 100644 public/images/pokemon/icons/variant/5/536_2.png create mode 100644 public/images/pokemon/icons/variant/5/536_3.png create mode 100644 public/images/pokemon/icons/variant/5/537_2.png create mode 100644 public/images/pokemon/icons/variant/5/537_3.png create mode 100644 public/images/pokemon/icons/variant/5/554_2.png create mode 100644 public/images/pokemon/icons/variant/5/554_3.png create mode 100644 public/images/pokemon/icons/variant/5/555-zen_2.png create mode 100644 public/images/pokemon/icons/variant/5/555-zen_3.png create mode 100644 public/images/pokemon/icons/variant/5/555_2.png create mode 100644 public/images/pokemon/icons/variant/5/555_3.png create mode 100644 public/images/pokemon/icons/variant/5/566_2.png create mode 100644 public/images/pokemon/icons/variant/5/566_3.png create mode 100644 public/images/pokemon/icons/variant/5/567_2.png create mode 100644 public/images/pokemon/icons/variant/5/567_3.png create mode 100644 public/images/pokemon/icons/variant/5/573_2.png create mode 100644 public/images/pokemon/icons/variant/5/573_3.png create mode 100644 public/images/pokemon/icons/variant/5/626_2.png create mode 100644 public/images/pokemon/icons/variant/5/626_3.png delete mode 100644 public/images/pokemon/icons/variant/5/641-incarnate_1.png delete mode 100644 public/images/pokemon/icons/variant/5/641-therian_1.png delete mode 100644 public/images/pokemon/icons/variant/5/642-incarnate_1.png delete mode 100644 public/images/pokemon/icons/variant/5/642-therian_1.png create mode 100644 public/images/pokemon/icons/variant/5/643_2.png create mode 100644 public/images/pokemon/icons/variant/5/643_3.png create mode 100644 public/images/pokemon/icons/variant/5/644_2.png create mode 100644 public/images/pokemon/icons/variant/5/644_3.png delete mode 100644 public/images/pokemon/icons/variant/5/645-incarnate_1.png delete mode 100644 public/images/pokemon/icons/variant/5/645-therian_1.png create mode 100644 public/images/pokemon/icons/variant/5/646-black_2.png create mode 100644 public/images/pokemon/icons/variant/5/646-black_3.png create mode 100644 public/images/pokemon/icons/variant/5/646-white_2.png create mode 100644 public/images/pokemon/icons/variant/5/646-white_3.png create mode 100644 public/images/pokemon/icons/variant/5/646_2.png create mode 100644 public/images/pokemon/icons/variant/5/646_3.png create mode 100644 public/images/pokemon/icons/variant/6/692_2.png create mode 100644 public/images/pokemon/icons/variant/6/692_3.png create mode 100644 public/images/pokemon/icons/variant/6/693_2.png create mode 100644 public/images/pokemon/icons/variant/6/693_3.png create mode 100644 public/images/pokemon/icons/variant/7/2037_2.png create mode 100644 public/images/pokemon/icons/variant/7/2037_3.png create mode 100644 public/images/pokemon/icons/variant/7/2038_2.png create mode 100644 public/images/pokemon/icons/variant/7/2038_3.png create mode 100644 public/images/pokemon/icons/variant/7/746-school_1.png create mode 100644 public/images/pokemon/icons/variant/7/746-school_2.png create mode 100644 public/images/pokemon/icons/variant/7/746_1.png create mode 100644 public/images/pokemon/icons/variant/7/746_2.png create mode 100644 public/images/pokemon/icons/variant/7/780_2.png create mode 100644 public/images/pokemon/icons/variant/7/780_3.png create mode 100644 public/images/pokemon/icons/variant/7/782_2.png create mode 100644 public/images/pokemon/icons/variant/7/782_3.png create mode 100644 public/images/pokemon/icons/variant/7/783_2.png create mode 100644 public/images/pokemon/icons/variant/7/783_3.png create mode 100644 public/images/pokemon/icons/variant/7/784_2.png create mode 100644 public/images/pokemon/icons/variant/7/784_3.png create mode 100644 public/images/pokemon/icons/variant/8/871_1.png create mode 100644 public/images/pokemon/icons/variant/8/871_2.png create mode 100644 public/images/pokemon/variant/1011.json create mode 100644 public/images/pokemon/variant/1019.json create mode 100644 public/images/pokemon/variant/143-gigantamax.json create mode 100644 public/images/pokemon/variant/143.json create mode 100644 public/images/pokemon/variant/187.json create mode 100644 public/images/pokemon/variant/188.json create mode 100644 public/images/pokemon/variant/189.json create mode 100644 public/images/pokemon/variant/2037.json create mode 100644 public/images/pokemon/variant/2038.json create mode 100644 public/images/pokemon/variant/204.json create mode 100644 public/images/pokemon/variant/205.json create mode 100644 public/images/pokemon/variant/299.json create mode 100644 public/images/pokemon/variant/313.json create mode 100644 public/images/pokemon/variant/314.json create mode 100644 public/images/pokemon/variant/32.json create mode 100644 public/images/pokemon/variant/325.json create mode 100644 public/images/pokemon/variant/326.json create mode 100644 public/images/pokemon/variant/33.json create mode 100644 public/images/pokemon/variant/331.json create mode 100644 public/images/pokemon/variant/332.json create mode 100644 public/images/pokemon/variant/34.json create mode 100644 public/images/pokemon/variant/345.json create mode 100644 public/images/pokemon/variant/346.json create mode 100644 public/images/pokemon/variant/396.json create mode 100644 public/images/pokemon/variant/397.json create mode 100644 public/images/pokemon/variant/398.json create mode 100644 public/images/pokemon/variant/403.json create mode 100644 public/images/pokemon/variant/404.json create mode 100644 public/images/pokemon/variant/405.json create mode 100644 public/images/pokemon/variant/417.json create mode 100644 public/images/pokemon/variant/420.json create mode 100644 public/images/pokemon/variant/421-overcast.json create mode 100644 public/images/pokemon/variant/421-sunshine.json create mode 100644 public/images/pokemon/variant/446.json create mode 100644 public/images/pokemon/variant/476.json create mode 100644 public/images/pokemon/variant/498.json create mode 100644 public/images/pokemon/variant/499.json create mode 100644 public/images/pokemon/variant/500.json create mode 100644 public/images/pokemon/variant/511.json create mode 100644 public/images/pokemon/variant/512.json create mode 100644 public/images/pokemon/variant/513.json create mode 100644 public/images/pokemon/variant/514.json create mode 100644 public/images/pokemon/variant/515.json create mode 100644 public/images/pokemon/variant/516.json create mode 100644 public/images/pokemon/variant/522.json create mode 100644 public/images/pokemon/variant/523.json create mode 100644 public/images/pokemon/variant/535.json create mode 100644 public/images/pokemon/variant/536.json create mode 100644 public/images/pokemon/variant/537.json create mode 100644 public/images/pokemon/variant/554.json create mode 100644 public/images/pokemon/variant/555-zen.json create mode 100644 public/images/pokemon/variant/555.json create mode 100644 public/images/pokemon/variant/566.json create mode 100644 public/images/pokemon/variant/567.json create mode 100644 public/images/pokemon/variant/573.json create mode 100644 public/images/pokemon/variant/626.json create mode 100644 public/images/pokemon/variant/643.json create mode 100644 public/images/pokemon/variant/643_2.png create mode 100644 public/images/pokemon/variant/644.json create mode 100644 public/images/pokemon/variant/646-black.json create mode 100644 public/images/pokemon/variant/646-white.json create mode 100644 public/images/pokemon/variant/646.json create mode 100644 public/images/pokemon/variant/692.json create mode 100644 public/images/pokemon/variant/693.json create mode 100644 public/images/pokemon/variant/746-school.json create mode 100644 public/images/pokemon/variant/746.json create mode 100644 public/images/pokemon/variant/780.json create mode 100644 public/images/pokemon/variant/782.json create mode 100644 public/images/pokemon/variant/783.json create mode 100644 public/images/pokemon/variant/784.json create mode 100644 public/images/pokemon/variant/840.json create mode 100644 public/images/pokemon/variant/841-gigantamax.json create mode 100644 public/images/pokemon/variant/841.json create mode 100644 public/images/pokemon/variant/842-gigantamax.json create mode 100644 public/images/pokemon/variant/842.json create mode 100644 public/images/pokemon/variant/871.json create mode 100644 public/images/pokemon/variant/88.json create mode 100644 public/images/pokemon/variant/89.json create mode 100644 public/images/pokemon/variant/back/1011.json create mode 100644 public/images/pokemon/variant/back/1019.json create mode 100644 public/images/pokemon/variant/back/143-gigantamax.json create mode 100644 public/images/pokemon/variant/back/143.json create mode 100644 public/images/pokemon/variant/back/187.json create mode 100644 public/images/pokemon/variant/back/188.json create mode 100644 public/images/pokemon/variant/back/189.json create mode 100644 public/images/pokemon/variant/back/2037.json create mode 100644 public/images/pokemon/variant/back/2038.json create mode 100644 public/images/pokemon/variant/back/204.json create mode 100644 public/images/pokemon/variant/back/205.json create mode 100644 public/images/pokemon/variant/back/299.json create mode 100644 public/images/pokemon/variant/back/313.json create mode 100644 public/images/pokemon/variant/back/314.json create mode 100644 public/images/pokemon/variant/back/32.json create mode 100644 public/images/pokemon/variant/back/325.json create mode 100644 public/images/pokemon/variant/back/326.json create mode 100644 public/images/pokemon/variant/back/33.json create mode 100644 public/images/pokemon/variant/back/331.json create mode 100644 public/images/pokemon/variant/back/332.json create mode 100644 public/images/pokemon/variant/back/34.json create mode 100644 public/images/pokemon/variant/back/345.json create mode 100644 public/images/pokemon/variant/back/346.json create mode 100644 public/images/pokemon/variant/back/396.json create mode 100644 public/images/pokemon/variant/back/397.json create mode 100644 public/images/pokemon/variant/back/398.json create mode 100644 public/images/pokemon/variant/back/403.json create mode 100644 public/images/pokemon/variant/back/404.json create mode 100644 public/images/pokemon/variant/back/405.json create mode 100644 public/images/pokemon/variant/back/417.json create mode 100644 public/images/pokemon/variant/back/420.json create mode 100644 public/images/pokemon/variant/back/421-overcast.json create mode 100644 public/images/pokemon/variant/back/421-sunshine.json create mode 100644 public/images/pokemon/variant/back/446.json create mode 100644 public/images/pokemon/variant/back/476.json create mode 100644 public/images/pokemon/variant/back/498.json create mode 100644 public/images/pokemon/variant/back/499.json create mode 100644 public/images/pokemon/variant/back/500.json create mode 100644 public/images/pokemon/variant/back/511.json create mode 100644 public/images/pokemon/variant/back/512.json create mode 100644 public/images/pokemon/variant/back/513.json create mode 100644 public/images/pokemon/variant/back/514.json create mode 100644 public/images/pokemon/variant/back/515.json create mode 100644 public/images/pokemon/variant/back/516.json create mode 100644 public/images/pokemon/variant/back/522.json create mode 100644 public/images/pokemon/variant/back/523.json create mode 100644 public/images/pokemon/variant/back/535.json create mode 100644 public/images/pokemon/variant/back/536.json create mode 100644 public/images/pokemon/variant/back/537.json create mode 100644 public/images/pokemon/variant/back/554.json create mode 100644 public/images/pokemon/variant/back/555-zen.json create mode 100644 public/images/pokemon/variant/back/555.json create mode 100644 public/images/pokemon/variant/back/566.json create mode 100644 public/images/pokemon/variant/back/567.json create mode 100644 public/images/pokemon/variant/back/573.json create mode 100644 public/images/pokemon/variant/back/626.json create mode 100644 public/images/pokemon/variant/back/643.json create mode 100644 public/images/pokemon/variant/back/644.json create mode 100644 public/images/pokemon/variant/back/646-black.json create mode 100644 public/images/pokemon/variant/back/646-white.json create mode 100644 public/images/pokemon/variant/back/646.json create mode 100644 public/images/pokemon/variant/back/692.json create mode 100644 public/images/pokemon/variant/back/693.json create mode 100644 public/images/pokemon/variant/back/746-school.json create mode 100644 public/images/pokemon/variant/back/746.json create mode 100644 public/images/pokemon/variant/back/780.json create mode 100644 public/images/pokemon/variant/back/782.json create mode 100644 public/images/pokemon/variant/back/783.json create mode 100644 public/images/pokemon/variant/back/784.json create mode 100644 public/images/pokemon/variant/back/840.json create mode 100644 public/images/pokemon/variant/back/841-gigantamax.json create mode 100644 public/images/pokemon/variant/back/841.json create mode 100644 public/images/pokemon/variant/back/842-gigantamax.json create mode 100644 public/images/pokemon/variant/back/842.json create mode 100644 public/images/pokemon/variant/back/871.json create mode 100644 public/images/pokemon/variant/back/88.json create mode 100644 public/images/pokemon/variant/back/89.json create mode 100644 public/images/pokemon/variant/back/female/332.json create mode 100644 public/images/pokemon/variant/back/female/396.json create mode 100644 public/images/pokemon/variant/back/female/397.json create mode 100644 public/images/pokemon/variant/back/female/398.json create mode 100644 public/images/pokemon/variant/back/female/403.json create mode 100644 public/images/pokemon/variant/back/female/404.json create mode 100644 public/images/pokemon/variant/back/female/405.json create mode 100644 public/images/pokemon/variant/back/female/417.json create mode 100644 public/images/pokemon/variant/exp/2037.json create mode 100644 public/images/pokemon/variant/exp/2038.json create mode 100644 public/images/pokemon/variant/exp/692.json create mode 100644 public/images/pokemon/variant/exp/693.json create mode 100644 public/images/pokemon/variant/exp/746-school.json create mode 100644 public/images/pokemon/variant/exp/746.json create mode 100644 public/images/pokemon/variant/exp/780.json create mode 100644 public/images/pokemon/variant/exp/840.json create mode 100644 public/images/pokemon/variant/exp/841.json create mode 100644 public/images/pokemon/variant/exp/842.json create mode 100644 public/images/pokemon/variant/exp/871.json create mode 100644 public/images/pokemon/variant/exp/back/2037.json create mode 100644 public/images/pokemon/variant/exp/back/2038.json create mode 100644 public/images/pokemon/variant/exp/back/692.json create mode 100644 public/images/pokemon/variant/exp/back/693.json create mode 100644 public/images/pokemon/variant/exp/back/746-school.json create mode 100644 public/images/pokemon/variant/exp/back/746.json create mode 100644 public/images/pokemon/variant/exp/back/780.json create mode 100644 public/images/pokemon/variant/exp/back/840.json create mode 100644 public/images/pokemon/variant/exp/back/841.json create mode 100644 public/images/pokemon/variant/exp/back/842.json create mode 100644 public/images/pokemon/variant/exp/back/871.json create mode 100644 public/images/pokemon/variant/female/332.json create mode 100644 public/images/pokemon/variant/female/396.json create mode 100644 public/images/pokemon/variant/female/397.json create mode 100644 public/images/pokemon/variant/female/398.json create mode 100644 public/images/pokemon/variant/female/403.json create mode 100644 public/images/pokemon/variant/female/404.json create mode 100644 public/images/pokemon/variant/female/405.json create mode 100644 public/images/pokemon/variant/female/417.json diff --git a/public/exp-sprites.json b/public/exp-sprites.json index d6c8534e008..2595b5a7983 100644 --- a/public/exp-sprites.json +++ b/public/exp-sprites.json @@ -613,12 +613,6 @@ "780", "781", "781", - "782", - "782", - "783", - "783", - "784", - "784", "785", "785", "786", @@ -1733,12 +1727,6 @@ "780b", "781b", "781b", - "782b", - "782b", - "783b", - "783b", - "784b", - "784b", "785b", "785b", "786b", @@ -2853,12 +2841,6 @@ "780sb", "781sb", "781sb", - "782sb", - "782sb", - "783sb", - "783sb", - "784sb", - "784sb", "785sb", "785sb", "786sb", @@ -3978,12 +3960,6 @@ "780s", "781s", "781s", - "782s", - "782s", - "783s", - "783s", - "784s", - "784s", "785s", "785s", "786s", diff --git a/public/images/pokemon/1011.png b/public/images/pokemon/1011.png index 39ed4c0d519233fe80a1dea67dfedace3ecd65b4..035ea0aca44c649d77fd00c58467e7bd5f75c5c5 100644 GIT binary patch delta 597 zcmV-b0;>Jl1dRnQiBL{Q4GJ0x0000DNk~Le0000g0000%2m=5B0FW-m@Bjb+0drDE zLIAGL9O;oEMSl`>QchC<|NsC0|NsC0|NsC0|NsC0|6aj{J^%m#=Sf6CR7i={)M=B0 zAPfdz69Qg6|No!eya_0_*gCW8hs{h6;UR`YyRH$j)!2-9J8X~BcsqfflJp#!ZYR-n zO#UZ|1vp6O%W-s9!34}wDLb2?5N*R*vm0`~)8R8JrHn3}|gQa{qg#04&Pgr4={jvci zO2yTQWD=l2TJ7jzCHxC$XX;(j@cpj_A@kRP>)wqU@SC=kKRbapw;3o8Az}PY{ jOddMO4lFwCy#NtErspEb$7(S#00000NkvXXu0mjf4h$1h delta 544 zcmV+*0^j|O1=$24iBL{Q4GJ0x0000DNk~Le0000%0000%2m=5B0J$kScabhde*tt- zPE!Ct=GbNc00GfSL_t(|UhUM4Y63A3Md7_OlVsQ5_WfVBGq*!mr8FBCYJnb5FmOMj zqSJSkX=mk9UMdiHxj^7wsFyz>)CB&8eZXGfc-k#oPRD8Q9i9^oUJASe4~Bp@@30Da zFbI&KupT@s5O{?^!T}cu{IWnIe+2?h3THdN9ViR~N!Yuk5Eg+^!HmLz7J)H>?}7p? ze>n|iy!g=pS_H<4bD`jk10t$ciwh_J6l*or!F_8GTb6S4N2$d`Fk(oH%*w*tFoP!p zz#Ih32*kcI*(?Mx&tWjM46+@V=l38U+bZx5+~YxjZWVG1#Zv;lwkjIWf2k<|n`$Lc zYlq0KD3XDSXaLI+L@nh1H&^1G}~*wO(!g%HTn@T`#Vx`b+bj6f;1 z*5X~eg!trsE`VJNyGGU(c7QtoA{N8Xy;(;PQAFz=;)3s3tgZhqiM15e5#CaS755Q#_gWKrc?y$Qk{eh>`AC2 i4P0xG#{F2zhG!op@gm8FIUI)o0000Px#MNmvsMF0Q*7#J961_mu*Cq8B?gb@*(2newk7q=!U)IKeOW=j8hSv;FQYp6A~ znthz$U;oZt>CdzG_xHIS9o)aG#g&M3XF1uiiAewe02g#pPE!E?|NsC0|NsC0|NsC0 z|NsC0|NsC0|FDa5-v9su!%0LzR9J=0*z0zqAP@jxr$PfXU~F37|50}?fPgVY{j;1s z&E~@AFf(3wWy z=6MbdKTy74l;UoH4FmLHR;IXVWbmJqtW-E)hE&5SZW85rJ5$^?8REEB5yrPnpa#Lp zD4_3@Y&|phvI)jff2uY&^i%pnVX3$ZT9gZolN3z7chzDg$1;z?q6$$N!kmKHFaVT$ z`5AxZeT#9WJ^ymvFi}Y>Mu#J!ZXY%S60^w-GmtikJFuht`=U*%RFN|$rzjLL#aoa~ z>>Zt;V(MUASvQD{i)m80<1O_Ofmgl9yx5WWxS|y9dvVE4G*~VyZN;=jULF5vcRmnh zR;0KpH7^-)s1xc>3udk|ylJ`2uu~`c6vGW!IgtsP=Ow81TEy0P)~dGhUKbuZo!6iw$f=S4AT`!%-$pRO>tHVvbSy(m|%$7q(8#@R3WL zg83_$CL9QwuCMtR!Qpf>>?B5OOM@IOjMhncyCzwcIL6pG0H?>!F&LfyJD7O3BjxMM z=3z`?jM4s0*R&Da>oOO%jHcS)QPePF z`mUB?v#P{cVfw;Br&KW6+VSaE*3``mP%7Ww=!7DeZbsS{dreC;xGW8%V5#63gUIc6 z(^bI$3}`sQ7(&R&5YE=j^eTMkd`m+h4vyBO`xQ*`tr&E?U{+gl&N8d_b(FDoolT1p zhN=Ygya9jG^~?cmhGL4@0l48gaJ-Mh*!8pk;>@z(^bRFr?!AvL;8sk}|HnGfSqF{I zM;8$1mI<ezPzQf(qC%rU`i(3x78TQ()g3IQ_UbcM=&bHPJn~LX5oo1! P00000NkvXXu0mjfS_&$l literal 1107 zcmV-Z1g!gsP)cs0yGg0$}_0A zcn^2&s zD02$AAL!xjR*I4e5mOf>JG`oK*hD@PiL|uvorv=H9b8gCEb_mY^c>V~s7dD{Y4MTQ zPhV0*!bK8lFpB<-Xr=Htw}kRCiZSh?wZ{-arU1PeM|qcgkzgrxQ+f@yA~%pT=Ajsk zLuw)+!Ag!Lk#^ofJcx*rviPzZ^}cqsY`nf{K8Ok2hJ?vFPMKyeOFfE*aa0kvPv`Xn zstv?v#6=IBTb{Y)vZW(*CcdA{x(*WY zQjmtHijfn}byA4_kL4jQt@nB@zzEJHAWSV{B&EWpGjT2wQq1Z|>7LU|HA)>z`PMFqJs;Vdc5^C|vV;dJf6fwqG_<^_?R8&-q zoP18Q2v;9|u@rUDjbtV^gjfZMHpmf47cvd9M^thXLvYfB3{ebW1Ft{vBW%xN#<=o1XZ!D8F6Va*@flBSfs3?+Wy> zAf1Y>XA(S$L9)x+f>F^lpK=h+L>I--LFORmD1bhv#7_5!6XxL050f?vu}6%Ph08g_ z7`fj81>|I7x5(b@b_+$y5e)|H6peU7?j}P)#n5x24IzQMsUb_JL+Cpq<1K5lsOcvJ zC*%O}Nq>DHI`@R6*HM%_qg;IPOIk0#(Cuc*jFN~qek@oY>$JAsRbfK%>XDxq74gw= zorbqe+W*g)mMxdL_UklEOg@-ScQW2`AJ}t2_bT1GHFA)BSBUr`*IeZBh`8bh6_ipU zUl`m^on03V=(3S?n&zQKjxTvew|=vUW^eIk zvh|uSnCJ6EYR{j#)<<{NdPOw(R#k3Y+WKbq&PF>QG;s zYduuowq5I{X@BY}7rCDjTM_DpBOr0QSKf5SRYXml`Y89(W_4g4B6FInUB+b zP;I_c>@0@;H@~(`e?eej1(-bDZkr?aoTa_W-)?mKNq>QOzYRjGKs%nnx1U=Acz-

    )&yj0Y-$ z3CnWj+^&IE3^Fb$*> z!4hI0eSgX5kV1F?aHiiS{hFgI5BtOV3ioE$t*FBYn%-qxC1em)QWolcf*x zXlQuysa&uK$d>soT<6I3?#fKi*t(vjAy-nJ+T1 z6MsU;CR}(LjU3Ww@m||Vax@Jf?&y4tq$rf8lhyY-<1>Z+T#6|BA2k5ASZMh^jVUZQ z9Do$f=xYu`w2u@*EUwpH!I2b$8;%Ii0dPJ_<+>C?sV~TpzDpn^%F}#?NF$FrHm9h} zkT2w7E}5KT=cP?&X8}L7werOx>)-eC;fzuJy7U z<7tswK6s+6ee4O-02{>KcS9?9ZK*`EJ=kmrcCGJbZ6H5yF964J04wEZ0qOGT5PufS z&*mr#_{SJl$j^o_XoO)K`Bn1hvI)RQBOz9+i|2D>sq65bzgm^)@*dzqeLK!xE?JaZt^gEO z=w1=vd&l~~q=YR8@M>x6Jq1WdOgQ5kSJ7-0^OmkmkO zLVyvdJ$!u~3@|y}3Vi?;O_?!32`x>o4FIGxo=($6o^ovjV576Piu)Q3znBdHR;n3*D#$f- z=Z#me*FWzFgBAb^2W{oOFVVO0gB(5TKmJxuSb$gj#6}~)$Y$JHET0Lf*|s;LG}S($ vzw2AM{m3ux393> delta 1350 zcmV-M1-bgC3(X3U7=Hu<0000GwrUFi001yhOjJbx000J`UkC^Y5II3HS3faYdsKNV zVnHB@v@)QeprmtByW?BlR#xW4toG);{EMF+v>WLF0004WQchC4cTHtdjg9`vB`PQ)~eD&s+JdA}2N|!Jm>*AQ%BlxJR@mlg-5P4Zn#3C3^6?fvoVDuaF)$AKm1 z0bIlvF@L6{`UZCYY()R+p55|3B&6QCyczQlN_OlKr#tt})kAnFz{LZQi}**F0RO+H zE^&sz91bdBc*r~-Lyh+#;YEBDzr(Oa(a{G%fWt6gj9?$fFhQ7yF!17czf!6W1Bv$! z*{$yfes~{yqW=)WjNj{&9yr6VufqFqNN(tb0e?KneH;(fbFaSeO_g(6`tWza^#drHa06&6Nm*N57Qi@&p za)|3<_*cO&#jjK_#&ErEz};{P;0h&_x>W{)crbBSD=vm>go1#j=|KuCc~GZ>bwnR1 zp?_9AzE~HL1hj zuv^_0K0~cD*7l{Nbik4dD-2~`qu+EYs{h zfX}xl_tRU8!snCwj-3WQ@h9++prG`v@Fcp1GcM&vfFv~2drYI~jL##`6s_Q7OMh7m z(AwJZ@bvLO)9#jkQd4F4rKw||DR*~vch*jUwo^Wx0FD_%?FS4YrcPLbgLXeS)ij3G zvN~>wC>j7ww*2<2t*K*{Sc#%m>Y2(dcGqNWHWu8xiqe4bXd^+HgZ&18LJw$<;O%(O zeAVg}j6T30^6uvzu!let6?$J0oPPp{)Ik*cm&hf6N2ryErym&lSO5V~tML(CHK{|? z1lRzi=K!ve@syRDX0yftpPEE3Cg2!A4(@j?^#m-{grO;5AR+8^4kQ#sFbNd~K$HT= zfZf;E+maB7yBy+4KqHF!0Ths-|E--OX)vgu4*^}&5Mo+e83Hiq<`G;!)jyL~Zn+I| zL>3c(L_|FiBm3gb@K*!HtU)z#(o+OMUy-H~u;~9RAMzpp0_{@qldzMa%m4rY07*qo IM6N<$f-{?UApigX diff --git a/public/images/pokemon/143.png b/public/images/pokemon/143.png index 8050627a9a1ce6f1d2c4e78b4f1b27aff510d956..a09d0533fce0e19f77cc9c47f9f634a9019430f4 100644 GIT binary patch literal 27509 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

    !f+vo7pru@}krZF|8B#%2sHyeXu&lP`I3{l&X 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 diff --git a/public/images/pokemon/189.png b/public/images/pokemon/189.png index fb7f53ced67a7b0b8bda48d55538ee161a430044..632366956bbbc201a7fcd4bbad366eab2a1c9a81 100644 GIT binary patch literal 15032 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 D?W+!< diff --git a/public/images/pokemon/2038.png b/public/images/pokemon/2038.png index 71cedc8af136a791704dd3922dc63e21e3291b8d..7e8fd0ea1b22ec297b13ed800e3966bbf4906705 100644 GIT binary patch delta 1247 zcmV<51R(pY3Firr7=H)@0000?*Rsa|0004VQb$4nuFf3k0000jP)t-s0000G5D-yd zcK~{|IE9URikxP%*M_LTfx^YT%h#dd-muf^>i+)y{r&&{|Bqd0qW}N^4|GyaQvm<} z|NsC0|NsC0|NsC0<&B=E000C{NklTJW05(*Kbz%)!h%A@P8~KT3I=V0OMCbLZy_b|6SPv%M%M;Uzeg}VUJEEESNTj z{76$9h*@_t4(K$R6*Pd)w7St3A@*O%MskM*l{J82_IrXM_BgTbf`R*+gr}&Sml%#d zN}y6lW9AM%n17uE=z8`Mk2KhpSe(U$mH0~{9ri9XzOk?R{LFeGYmnaWgA|0q;6~$# z_RTP*G12ipSg{DeT!8um2G)0&+jbmchnZ4woF*9mfQHR0aGKx{oi}Ag@l>FV9F z-ft>2Xi--%$I(kyoXXbJyY=z?_b4F(^U-M>Vhr4|ihp>MDK`S-!8lP8>J7)i)lb<1 ztZ9{B1P0tmrG3iEdc8!v9SuZWeX5KmrNtI7VMVxv(yeVh0Z%AT9#ok8;krgz+$7a$ zgl$WKksD?~lTRT`*6jtN8bG>OE({YK7%U1&-5ptXYJ(*l2ZgW}-)8Pqg`}>&^+TnZo97vFSW_y6uq}b$j3OiG1^cI9c-vj zD_DbF%V{Bk8>KXWwGLLAOhAx`42`~nRods=uz#$qwB9e4)&Y*sHJV&9cfn|Tm{nD+ z_TWPc#tEdbP+^Lb=^rYb=paJPB3aPEU+t7b+L_^wF1!QW(TXK zuQton)5R0b4kNp2M;pCvk?yCi_z~NY*PN>+C*HrP=;SOgeYJ}hEG%yo9!P94Bs<{+J1|%wH4=}V#pf3_i4kgO- zf3@_i+c)*{WDy9)5??p;VZ+Up5eiqXez4;!@jg-iL;Jl&{{YLdb19rI2&4c2002ov JPDHLkV1m=sUFQG* delta 1188 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%0AsTd%?nP9j&@Ar-K4VSUliN1)o19 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

    s!qqC&z% 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 literal 11341 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 diff --git a/public/images/pokemon/417.png b/public/images/pokemon/417.png index 6d7100f66feeab24690d17693a23b88a7ea78f16..02cffd1c73fc2577610b7e2165531558cf174cbb 100644 GIT binary patch literal 7315 zcmV;E9Bku>P)Px#Fi=cXMF0Q*5D*YPHcnDWL0VEuNWaCqw7NstT>s5F8chX0pLnZD8bYL%a_cGmu6>gTMl zR#_|MYfTsHp*B95>N)G$!DN-qp)0j^(DT(`3#t0)r%j*X3L2~ZTImWJ7plPqYW>>4 z*5|DC1RB#jgGRs_^>77ciq*kxO~EG( zGkn(8N)SZ+3Bt|P`84$ShZ_2gAShALe9F{v+;@`h$@jAWmE7ET6b)8SajbkXH2OHd z6u-_&+p;yDe?TehQf6u?F3w11+KPH7^i9HqN47Uvr0Wt}yKXz8yEG9m2(|WP#CE{%z@J{l#s7 zZDNwp0M=}v1<$?~2!=4uf@52qa*lEZqriVY(0CIx)>=#8MQJO4eY=@|UrRw?z)h2n zHMC{}&CwXQ9&WDfHH2~Ij@3HLS!XVD!R18b{rtjl*WugJrIv))Hor4A)Xg1Dc zeXTGUWSn=$dYuK=naf}Q{6*o|>L4_FC4UJu(b(K82n}G&(16x_py@atooua3<4lHm zeLGN{xs2n1#&T93k2=S1g#}g$fUz%i$J<@l=)vhl&{%Y9VW7EZTZOTMA&m3k*zQ^N zhtwJ8qfV<_A>8UL9k>x~1r{2|QYWD?F1Qs6-J)9y0}aOPoVBZS!`Zqx&I@v^nxZ;? z%3sHWT4jpHNa|Q%^rh~-I|%$+D5Mm+MYUE2nhY5#;y821NTok@%50{8t#$tV`P1s? zm2@=7Qui7Ao4rp<@UC&_7R_22XseUrIQwX6QrG-rU`V@!X6+4hew)PZ(f!{Zzn=5ei4@!Qvz^+{Te%QGadqR?~6V&*#8>m z)ar>E!Ao6R=%mvTgU+(9HTXdLJ-Rr~V{iK^7<8$7wS`W!WzbpH!{vc~WSlP+wA78} zLdSLqZ&|!J(2tC>SCkL3W0}vTZaMt3+=IJ>V_j?f%s@Xza(}g#`&jqQg^ukK-je?# z13l!a_;L-p?%UqwtbeXl=6cFrL?gHEU)d$(-aKpAoC{Hz2NjLnx_|XJz&aG2*+Ik2 zxhVVGB)R9-{b!DSVKGL;a2f#VKfv8VXb2T@>;BDM!kDLmaeD)F`%e0gF}s13L9UQn z_iybIcx0@;N5_0RV)&KxAJGUPUi<~(`GWwEO`D(*b@E#@k7S;jXrKvgwix$rzQFlEdlR#)C1_3h?pRKN2|c$K zW6W-#?1;iKrO?>yV%B7ynu}=AawdaKOwoS{%8t;wn^XA#iKS^y=cz@)ww;ukl)M8k z@Y*v(#gB3RhdXH4$DcSFGn>(}F_`)%V*?oiR@>(dXzrZ}?vt&vn#Uj-{H@iDxxz`d zg;T#d2ne#B!CT*anda^hYO|WhPv|fxy|uD6a`Kqb@)*v-U<1N%qu(Iv5@oE~a7@u% zus^3++h~xt)uqceX<5tyNb8bI7?N@=hSC8E6-n zqOG`lQ!Bl?m z=p$|RYHy^?Q0us0Yxp?UsZq&$9>0}qI(5yXaDwP+Uw+axHhXalw|~H!p=!)+Ej0Fd z0VcZ&hM?(GHIJGKu1E(Tq0i15#y7*Lts@KR{atJggskb5{ZmzN8XAnl?yX@P!*0{r ztec^`;8okDZk!Gp4UWAlI>A-bbc!QrtKgI|1e^Wn>$t{JSN~)AH)nO-E9%C%c&kAl zly#HU>8(jkr>TOI*MfN-w=TaDo$?97M`H=CVTXqW zqG2Le8gwQatKHae(c#EyIxQ8PvTW3`YrnV6HSDxM%i^dT;Kpg%_HBP#YAiHlO{eCb zu7cB6#*wr==qSa-2u=P5m)t?^31Dn{fluj!OjaQ3Eo>RH@1Y_|o=zZ;xFwh!n+ zEKR3&$~~X|`;>w^T_5+@mA8g9+xeVI-n|*eR`H4eCl>n2Own|j?%@-JulL;~9D7^7 zV4*E|8+OKmS8dN&SH<}P9GvYdECh~}CGLy~SSOI9Mb(55O{cG7oa@H+I(N3w6+iz#$>D5jm$0VORWYvc zm2p4y#5PU4UpFe>c&Z`w*i?+C9CmS4jO&uM9|8BZ_Oj+NrC@@U?w7{@6!@)a72~V^ zn%;M|i<{fApl8vzmq)6%VrZ8xs2IoXMcq#j&SI`{)Z1iD_&24elJ@M6puflfAl;!E5-Y!6<@pbU0Qd{@6-$%0ymXqUc8>yBA|tv@W^ zjgQ6$pb^ZtB$jL1rEHO##2;(+?%@7}^4*{p>ss!lqg>N29lZ!YMOp17G*EwHqXVYW zO$qBY?b6YSu&zyB-{_~S0TE2kKKV>`ghocfy7vOK)SsTwE*-wyMgxDk+5@q8Vnk$$ zVBO2V>HWM5Wo-o(HyOYbMq{&)S9|v9>il9sM#mB^uyrO42c+`1rz0@j+z4@%pK<8t zpRQy{5_xqYyJmmW;kuVv_y)SkU(zmJLxZgL{L__@;sxjysBnR;d*OxeKm%UaE=~>a z_eEUuIDOEezZ(mmuJpt(P@_WFHR78dhl6n4FQU2O;m`6aM`>7Mli7A>e@UdS4Q(_=)1*FSA}`@b#&*{ zp-H`$0gR#H=-NCbS4Q)Qe{R#qSdQ|`SuwQ$Jwtk>npD z8WPP8N|^l7gzd>hwG!W<9nB-rrzqPWm>ZC}=Vf@%Xm+LSiMt}BNgEW1YW~`3qtOpX zAEL_j(7?<+Pb*^*^)GzZdqCG_X&$LQML8J}G#YcybIc^_U-`(Hq`D6z?&f7~6cnz= z5{umj%G~qDMeO~BEIIx0WRv%1CzksnzyAT_6^zc0obFKklEqYVWivO{ zlDN(SEDfD6dVIM}@FPKkQNs%*pSf|!U1veK7{@~q8t)9LEyXj>B6lToWA-`=OpvS( zyUboq@yzoK{Y#k}Q`cDtXnbG^-1NJ*l$9)8VCY}T+?ct}g3?7X7#rL16MIuSxh%?3 zyrNggXKqYgXF<3a69fZ%$qQW{4_SG(y_sanEa}XRL;N}m#>MF0ZAqX#&NGkD%)>c( z1lO{e8}W4(<}X6wQb-XD%xM#PPbCW;8VTr_bIHt&_&N*Sj&m`J^sQ!}W{@G-{%S1| zrk%acK*7QlhJGq@WBfXciUxQaM){L|L6ks5gg#pWdva)MTuL(4`<=+#7{AVfU-YPe zK`tVMUo>`93AfDV=xdbCSjlQ0V?Qx9E(S*fQ*|&AdPwV8t|pmk-sLrqt*ZVbNaJEq zG$@OU9@q%a+*2Ff7iv9}u$y*E3@H;ZzD^dGg+}x3tc8ha_^H>0TD?54c@%#GQ8YM< ziymLayYw;j3VueuA=HB9dCj93Qie{QU!xF1kx_}2^BSOD$?}b?Q0tqEa^(@FEiEV# z%#N?hro4Rh+w{R_JgYqScvWrC=ZDgyXBYDQi5mYeKDj@FE0OI00P>>0KtS zA76oQC$&sxx)jnwLp#3q z_h!LhIC&=`(xey|vBZso7f#^J6eE)49bcQE1%jdHorp-2qG&`CHx7O{fihFfYt`)I zYdgK3&fQNk6)EAwjea;G$4rr_#0A7a#<52c?kAaw6f9R07k^(Xa=5TvoUzY0BOGh!mk7?FNOxY z5Q{t5OsO2!46bncL1RenXz-J6TKkn?<;Bpju7K)^8~wl=4X!Zy0sWmPMMSdNuQ)63 zJ{rhDC-BCCD~x_1{mx?%k>pRCI4ds(hH)Vla?p{(^56>Ri=rze4>$}*LqBbzth^W+ z#)ViT14Ea?3c(edJ=@qAce+1dR^CmelX)Q)cF+#I3BeVUJu9;@E)>MdyVa8P9k_dl z9kc^)QgDS%JLNa;JxW28l@}@eJFuF#QBK!p1XtL!Q+@>9ivirt90H2)9k>Olse{Tr zGDSUp>g-tp#=URo&k4Vz+|QcGPq{~iubr)JI_-+Wo_&N-u$6m}KP_{kh(_`j9GyMO zz<5+ze7$Iy8)XNrz?(ERIQ_t5V?0r=ugG@pXFl8sIjnKnDhK01G;Smnv2#Cj`$R(9 zAba+aZ|JbxNwH#HDJ9sC?cC?xf)k-1Y?q5dHpTALl1ioNovfu7^ zt+Eg9&(Dmz0DJ(b`!}KSjDYJXN8-j! z*A__J7`yjnXg2W=?wLa6Y#{brpLJ(bSv{QVA0-o74D67}5ANZD7IHeSa$jD~g_-u>KC;nMx{rv`~P1*S$S z$gfyGkXtHTrnrAJ-V{N@;t+Fd@sq#Q5{%klurWpb4x`_CcMa_ zZ-E^scflR{B+#CFJGWG@KnFMXtcZyeeRJNdT##Q4g5S<96)V8OmbFp+Rm`JrdOpab z0-;pLvHK7-zFW?=7b&2ob+!n`QU=6xH=v2s6N?gkX&<^|-YIf+GRIa{1H!=N=RNQj zE3+uEAozF6+1gWNG=PU-xQiHKfp;yPz2D^r?8P$I8Hk+}1jpYrpO7py&p`NDOvojw zO`K3<3&$KkdZZW2MuWezSd-qrX+9$05`275e6;%`h{#Er8vW7~j)w4JVK~6TAkRFw zqJwXmPYAd=7%=>7%?(%Nq@$s@hi~9Lvm$^y-ISR(JTBk@Xn=sL0ETkCqayk05a2}W zZdiNjXvpe15(Ix%z;zc584PywR1^(q;+aA4X9Zj$8lMq$VGpQ*{!)<>>@2#6i`{-G zVNo&@PeSAThsQo!(eN|ZwDtZPA}5sPj)&^}K(3DlT^ODeZ~-((_!;;IV@RgR31zvH z0i-}6mV3O}E7bA*Et z(mOWfoJ8s@s%=la!<<|#{te$WB_~e@YkaZU`FcliE14`mfZi<_YCIE_c)P|qaiqXct{NsdPg}_r$)77Lfh}gLUB@ZF{gJ_ z5~-JdXh3t@pLjo0Dv^3xX!~77Ov)woIVp0=-F|3Kyq|+ZbW)!ENs*I! z`=MZMPCO$4)Z;~RQtos@@3`B;H1Hl8Kl4ezFWgCW_Opw|?C!#wryT2_`6Li2IQ(oz z7~y4?w&j3to^s>3>csnbO*xd*I6iiflN*affy+R;#H|P0OnUm0K(-)BjrFF?BNr6t zKc!*d($fwOr!eG&g|`0+8c{{-VPDt4k^NsZQt z1C0X?zqcrG83<~R{Z{;d*6{lZmegold_A%sKk9Y?oUi$6zFZBB^n5JVx@|pSG#M zCB7Cv=fIN%Nop*^?T)J5ptwoyvVqI&wfNsvGLo9Jo5hbsCIgr0Yw^FSTnRttLXjcs t?~$_P%YUUGtvq`9!j1A@>BrBP{{c`DLkcJhZ+id$002ovPDHLkV1i%EY)JqB literal 6481 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 pJyZThee8^@zrud!jH~}m`w!ec*?00DGTPE!Ct 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 AlK=n! delta 2840 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 literal 4029 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 literal 4369 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 LNkvXXu0mjfArWS^ diff --git a/public/images/pokemon/472.png b/public/images/pokemon/472.png index cc13377bd53d348a464d21746196a7b98ebafea1..eefd055ffc3c751bb92a2c4775f731f7027f742e 100644 GIT binary patch delta 13918 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 delta 13911 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 S@^*C$Mn*zWyy}}_!2bb!sawVX diff --git a/public/images/pokemon/498.png b/public/images/pokemon/498.png index d45f8988cc0bc7535198f893e98f6c745fef4925..f019a1f38b3fa674beb0ed9fb7a8cd5baa9e8760 100644 GIT binary patch literal 3718 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 literal 3503 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 z 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 diff --git a/public/images/pokemon/500.png b/public/images/pokemon/500.png index 9d388d33640151813f6c76ce641723a020c5fc0a..ae842c38bcd3bc6c52f356a7caf4e2770f968a2a 100644 GIT binary patch literal 30150 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

    20#0lb3{_5J{qqKwU2|zP zJR~K>a2@r^klAUaoK$L01w!TY>p^`!g9xe*`@qT#7z zk&63n8isJR_SV?1y+puqf-l*%*)3)ShM1uG1<4if)LJXG+DQSiJACT$ow3o2k^1?f zUe6mZ5q*1;y99vPP`@I#@h#5I!O{?WN=M^1D`8Al48N%Xp!3N^mmgS6T>C(jUcsr* z?8Y(fAQ>QtE-GB)u=M*j>!Q;}2oWhy#p)#MD3Y*L6>;}}EfO^(SN|0r=(|BS;~0D3 z4RG&?v`de!SATK)_oREcx2nLO3@{@0a&w#MUMyI3RDoB=X(bFVT}T0C1fYJI z-}z+Rd=P&V9)-8EnPG2pkfNv8M!0l~919b`>ZAr)S$%Rv4`x}kK6T2G5`S2u9v-f7 z$nPAh>bb!Sa1Yl#xs_}sOA5L9(vYY@daU52hiD}PQOr1Dt;bO4#YN#`bJ8RvMNbw) z+QTm2wGyfU=0`vsz-L?1VA=2Not|5Amm}PitomH?7S*Ak)&#|!Rq#0w_pEE|t7Kfx@O4AVS} zwixG#4t|s;!Fj-B^tz^w!LvcSd<_dwD6t%e{e3kbr|N4k?KgctZ1pxmxY`b3Q8fu* zm7Kp{4Y~~i8 zbgz~&#LZ!K(jk8ne;$Klh0I0}-@h&! zSPAPB087))e8y1%xD(}K*-Ud%2nhz=?QTMvEPXc`+bTgkQv~(^cU00No3KRre)~TP z4&4}67B0u_if?TvwFpHK?BFI#LW?Vkb|9zc6PH}|K*vQO&%|PX@9o-|*eCm##vcFU zm~1?i9T5>{tmvRgB3YL*L#%NuR<65K1{aK};BbDBSc5^+YTGQJIdNI`=zjIC!^tDNSXZ9 zX%X8H&?&6BAY)YEJ@GZw8@w8S&(Kvar8iZYQEkf?&kk@7{yWz*hXKFIuG?0-_obTQ zkf3{~Vu=TE-T~zvVw^1W8kD9V6}Q*bkO6|iF<#j!hogO8MA{_j;I?pMc(Ha6!rgK- zl%S&@%!s*d8^GjZyw7t_#g5R(0HW8JTeF@~$gjDx%iL2DG#V)xQ*wiNO^bM72!BQ+ zmxvx}f_nNOzqZcK9*SO|k;bu8V~}4v?q|7f5)VDvhYGRK2nI`aeUG^L79L literal 6927 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 rl%QaW6SR28Q2Hqa^!jA{;TGf637%y}RO diff --git a/public/images/pokemon/512.png b/public/images/pokemon/512.png index 94ae881fdb214c10d4e7fc4f3bc34ea374597e95..58870d253cb53b4e7ae14afe63c2372349753881 100644 GIT binary patch literal 11241 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 Ym2V;1_WXqD-w8!MZ9}cE8V-^F4=wyRH~;_u diff --git a/public/images/pokemon/513.png b/public/images/pokemon/513.png index f8d6e6017de4837e89004656915998bc0c087097..99f2fccc23e3628d7da42791fc981d54c9102316 100644 GIT binary patch literal 5809 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 O^r*ko23IJ32>d_lwyV4V diff --git a/public/images/pokemon/515.png b/public/images/pokemon/515.png index 3dc40ff122dda92ffd895ed9fea97c30e06db9b7..e61875685447e1efb3462b799bcde85711886cc7 100644 GIT binary patch delta 3363 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 R!dd_T002ovPDHLkV1jK}REGcn diff --git a/public/images/pokemon/516.png b/public/images/pokemon/516.png index c13615fa119ff571b0f4751b9e65effee178ccfe..cd4d5d6439286eaca4772b40dc6df20cd2a7dfbb 100644 GIT binary patch literal 11814 zcmY+q1yEc~(*}wJNN{%u?n`h87F+@g!QB>jU)*(Zhv4q+4uM62TW|>wAjkq6JV3a- z-~H=W-L9I`Gf#IveX48Z)Tx1dQIW?&Cr3v>K)_N|kWoiKKs5NTy+wXSl<~H9UKOId zy1W!Z{S4*t>ph#OG`ol-D?=Whq{Ue!t40|FUH>@#Ssu_5ENx3HNA6Tc_A66OxTgq zW@Alb9k76xOe18ZHwrX^iscnQj=^5mhl$|~jq$J#iD=e6+>gVgC94BAt4GjGfWnUH zSpUVCPrg;h3pwVsJIEwMv8p9A)3W1Ro=(>7z?tbCVo(7=RI{=|p0kJn@dTYa5~6XK z=(FjphT?O8a@+*Z*~<4Vhj*4_$=F#~4pGaB;PKp7e3Iwv-tM8819Xt|6`2w$$2B?v zaJ~KLYMd$QsPH=h!#&6ihG71qfpqJ|g*K;vGr^N=>F*B&oe@f@Qf zn1vY4YIuIre}r!yvo+~6Sku>HQS)8c(?ETNK#sn2nm>7^gI?$n0%VK5pAHFs-vQdySzWWyD;|? z7yP7o@%j1hNX3yfNP0!~uyg+E3yHBv@+Q~NPS8_7>b?K@K+uclb;(nf(CLG2roK`g zbK^`@zV&Hy|Mp)lESZO~i%(|=1snWJ&!XM=;*2wX;!9;q;1!>hD=w3m?oAh#Fxu`! zzKw(59TdA))PK~ z`q{Ueh3Fc4|5$o&>8g`+z@6JDv-oJ(U(xgU4S*l^tFfc~5#fd?@BPU#HvS)8X5&Bp zuVu?==8DMbM^3K03M%YgZT4t&Tb!*3eWRyiqWTtZN)`7LfFi*Ps+8YH${)a?Oj{nt z=_~G?;Av}nP%cPO+P^-ScVWc65tMdSZsyeW7eAr(v1mDQEZqCMJ1&JZArk@b@a?In zL1wwO&EMu4xK>aQMk<<8398}iqGq)b; z<8bj&Y}2)raG;Iu z7t>hy$wN11E|{i+El#cnVte6J9nj%uhT+u-6!OD4E|l|*_+yFI34~;d(z~i<)!!px zOx%1ZDLk6&=4(YRUm|&PYzLF86uddIeA$TGVr?ejjB)uz%rYP(9yy|v&+Ez-2aaGJ zk+FIX{S!f4!ev&^L*+PzoMBaT>*v#s-2SqL_^+znQDc{t33oXKU?=bkHI$quJe;GL$k0 zU&E{QE9t6^n-?Bh3qdWsy5ey?$rrjsoK@>(ZW_`mDF7_Tj_;me5b5S!Id@;xghmlL5K>0 z4wwLAKII+cy|F0Ct-*-fqHsetn@Z_F0@Z9kroFFP(?Hxc=wFhU1FOU&lglKc+pB9Y z$`^tUS$}4ctmILKZi4pSwcz}D2x>f?jPTsX`eVXE&F!TlZeV++HQ~wG2A?H;su_tr z6jQAidy#_&-6|T$_QI5GqVoE49(~~{=JR70E*st_RT@!Q8;S1NHJxZuTXDXMy`|~h zLR$tGoYDjrI*iawOmf#x=nrZ4xp*H&09=`0!U`Bk`!F(b-TwtX(4@dcF&@%ZF=OxA zIvKHlmheJ1=G?zTa|wo6c&wHfa=zb-S>4)c*drDuUQ3Rl9{01dvHKeOM6w}Ko*+>r zmOA-)U&G*m7~*IL>AVnqchxqD>nz1#6vItFCCgLHCGvYWrx5%iPt(!LXE-zHn;y-Z zLX_|*et3|8=RBW-rJuD4^3RH6nNX2CL~Kja(?ePXzr=(p07Zz$0Nn1iblXokE^TD< z-BP?u;ZqZloi&F)9h(~&wf8;L-A1}B#fv-YNkw??Y1@B*{|St=nC-~-TEKk-y8QgR zin#~HMs-tOgnug-EZeqyg3dyw)mK3^(aB`{SjI%4)STZQ))5=RBBwEVoe9Y<-7R+d z(_^qAaRB$lgUpw{`9?GjV4P;JN8rTX?A*O*9`<6pg{ExcLCD?yRJO0O1FojC&>3FX zufrc<){ip+k(k5BF$A=4TZkBj{-oIlnqYxG1Bg>ycQQ8yz4vjQ9WnLjMO+@%khHCI zsnr9%KU`meoPkYT=kRd3D{D8;n;CStoZok}tgx3tVJuV2gaflB*hDLo*+i#j39^^3 zdal*dcp`Cw4mJ2y;40pXh-AvyfQ?fdervYGT)8%3aVDUDHu;$nd$Mt@bHF;)exe>j z0U8HihNfE~zZo>d)^Z4?Cz7fpIti|I&?yH*HskBloms!77!%v-A``!8yeT1dPLLiA zjHE+wSEnn%`1bO3jcLh<+hiHKbQ&&}V<3d_r74hMzb=f4Z;(SOxQo1cRcP_;eH)o4 zsN(=6X(qM$Xt)~S9*aKd9mZJHv7doT`ruY26u@Flcy%(0YrB&26g^~Y)@WqQ*cnL; z2m3;EOh528KGuHRR%BDj0h5g!=`f9+fGv}<+_nh)W?_w)ZjV@}*h>v^y=33SOGISl z{JU~vR}tlrB;tt#*`;H+&zt#S8AIn;=5lV)9j|2;vJie=lJ3Gc;Uqf3fc4FKi)R2*66wB<+GiIp+BBf z@UJsk^%`NQj(EpL3o5|Kge)dTvZ7OMg5TnzIjVkOZS3zdxrYS(+FK3{9|`^}lBR4J z6`*dmBhjNACrCtr!@WHuuBZU;sJOB%D0zxe>o&h3LnTFYMa7P^Oww_yKXk=hK#OjO zN%!~|tP%qy%XZRWmajEL_k-fP3J4gFdT-$S(rgHNeNqe-g5j{DBJP2ix6Qr-o_*I= z2#iyZ8;xiMxSDEa3~*P>Hc*U6Z*`sM_W@@B6D8?U@5N*|m~K5;3KXs0vyx)(_Flg} zdB@(>!?`5z0q^gfx)L`HbIlNDv~7|Nu>hmh5H&B<+r41Lw0C4PlHyJnmsv1KTfyvQ zX7zT7ba>N0M2HWa)(FFI5PyFXd2O~t7lnqNRy(FZZ<$%VS#xh0!EcXPP8R zF@YWQzN6g$TjB&6r4;A)#6o2raDIw?5(e&&%qFZwIXd}vG5oC}a}K~JV;)r^-{|hO zCN(=fD2-f&g^B9>>DPKECJybmejer7Zar}y*L9r$sHRws{AMJljv0#udQS!ya6LCt z0BAeLX(!2?rN{{ZfrO;`x9YK@|BCRMr)2dIVI>tQynTmxJ?Zr082^rf7l;kR=k@JQ1_{3ZdF79y&jVAXp| z3`pBcJAP?Gj!UGXs_G^OCi_L2i7!orUmQktdWgsvJ#6&t zeo|;q&P?EdDs^uglqPy~#(!|PI3sdDgc8MZMNd+bWne(sW6L=lU0oOBkO0(#h78Uw47l?*$=&CK1_li_} zPXy}__VwaM^s4a1l8;30Efub7{uaA1L*%thkBu|eU^z8J+H4b8kVUn!h&1cVKHSgR zc89cQdeD3-c{Dxn851W_sHs7T0J@DQIH?|4r?Cq9Trn6(XoTIWDkArzwC5TMi*$|% z*sqH!kj?aybCusB5IlHsg#}i6L;n?dbiH(fUx=Fqmud8{c?4MfsPa$IvM6?+&fjoN z&3t1(S)TE%>P*u&bDwflJ=Y5HpPuDzz=Qm5rYnQ$62c^X(r>?r3I2>4~2o z&c#ZpUqkIz83kCKDy8_}xkHcNV6v82Rr8ok+M2&JlVZS*H9p<_CS=r6DS8&~?T8-l z-ks4h+D-UtnR{waK`B!2buXzu&6=&-dnbX>mfP+YP3B*R)qYyIa!+YiZ@BdR!4P7r zjfnGglN?kSDx?#S5MFeOMuL$jqv+7pT7T`HW~V;aBC%#_lC1UpZ^$2;opIhg{p~)* zR3t!#p*KQZgklVo;$_r=N&X|9Cxl&x^M;At?tnz4_q4h+kfs`6ezBVI*m+yoO%bOF zqIkkPMLLvue417Kx7yp%69Jp^^z~!jHcuZMj8sx3wtD-0*PbJ+deT^A*0;2iDV=kn zX1ut)Iz=K%D+3==t2W7huliL#wg$qvk1NKk1T8FHwKqtnFMesxW}rHZ;SS8vddF#B zhI}=(u)?h-k<5(l9=SV}(!9fJAO)jZrl4Pb0T9PK)*u>%n`dq|Xa8*ax^dNGGAXiRAWtnB%=Ky18r#G^3^ql!>qd{; z@+L$2vi4VIgKZ7lxaD^ZHS2+l4(f?!g?Uomd;PI8Td64_h0OLN$8^rSNtz5pElfS4 zu>xT!tv^xs@r4=8$1XFipLwSWx#hkr&;Mi?IdWsa*4LuI_e!(FkN8*^TVGWZL*S&P zm9oTdL)~7OA$VH{UM--+)gE5SGV;lz7I$s4<(+EIYKwx)lo}z)y&3Qa251=$c2~#T z&W8O%iuUjdvDK8@teZn(ph|SBwQtLRE=Tyz ze^9n`*9DVmf3v165u2gB6cTx${y_Xciv71HN$WIkIQ0tsnne4)5G6{xUFK`1OQ6O^ zb6vpLm7&$|s`W<&*D?}qLykN?MyN-f>E31|5)y_{e%=%CiwEgO&|49n7s@ytr#Nx9 z6|q#Z6>$oH2o}t97R7G6j-#0^?0rIEH9MvmF%=~m@gFUAV)9rr@@nyp1%=ctClHDVxuk z26M>UtlY3hgYMEV>AKTKnL?r$OMPL*gBs%B$lGK@>S~xVLXHS2et#kJt6N3oU+b7; zg10$hV$8S$2*a+d> z|N1L(LAc^gl(Hk@PRhAbxEcE<2`04GC}@P$an#^*5SzO6vFPC(oB3vAT)1F>K^q^l zzv6bCD%ZmXr>GwcuZqR5kNBa{_Ex{*U#@z^5?{EC7N6*KUHjRA-W|OzC3%}iN2s%| z!>K97eXAHic1dZB;Eca%Vcz?MzsD%OSAdjjrLL^UODL_ozsfBxOWJA%+FhCe1j2ha z&=9gK_10@+tUBKyA?>i`r8lL0OOcK&F)RQ0A>S(}gD#Y`gs{fJ`yBjjQhm~G95*Q$ zyoGPDuc(e?sUM>-(6(S*)uP|gU8s7J-NG4l=71af_l)0d&4JyOxY9CTUCQp^iLYm{ zs2kNyz*IEq3{iA+xn|5LS}%-Dnr-pypp&X?LA&f-i0zX4Fa`7jH#NvA%nnX!0P@I? z?BJ}Cp`rPUUht*d>bJc9(n4P#=jWx)CQ2UrzI26A;}ZRjV}Uul-%G?3y=3=aj`i)% zulKOog)H8InDl<>xdu$odr{c(pCzc3Yj(2vmns8Hvh)bq49DcKzgpXPkP_qyO*>fq z_?4dMaxm3dpGL%5RW)J1)ObDCwld)}i)q zq5ejNKQxOqXjW~;oCErOD0_0oLBDD}n#qV&cCAV?$HbL!T`v}+)F@<*YeTrb3D zmdK6k%jo(MoN=m>;ZwM_z{L!ctEUo00Od4%YO2_r;r*Tw`O)&u4OZNFXY-?VL$Pz^ zKObqs9-jlsO?%s{mRs8TtrzTs zRE~V|mD$2?2E@FA(RS81(lamsY_et%Q%ve!?td2fe<2X(E^s}>+t4lgh+YarF$1R_gy zAh-9*T`T6=OFJ5A8w9(*QrUmmi*yr-ZZl^|l3eb^Hp287f6Xkq${F3I#^WuV?3{sQ z+ZB`nAECP1h!)0n5VTaf7t6-ifgg1K&wf#TgPT3mXEj+!ryye_@N)y#6XU)Q&EK4c zmh;|iibYQ}59-Bl@ahx51r+1i{UFr1Rdg=31m8d1yQ3cTvyTxoNw5-mcj*Dx5%2g& zOJISeuY;_XIS9U^IXQ&;QMryXltir|6?q0MM$w14`j)Ps7ITKc&Lsn;_wW8}f|>{& z#zN-)_7Ag})X4-GX4=u5csFiYI9bE}+DMlOMdS0$V!kcj`1h<~wjw)Ml`4)YpQ0A4 zK=&wsoZS7KfwQ)X{3u!U$d(c|Vmm7q?KQpdtMzh}KVhCbeAH+2QcE`&yxALiPt-NU zh=;|SRlKEovmJ_Yz~5p81>tNCmK7nDA}(gC;bl_rpFed_YJ3`qN{lRpTO)$~g)m zn7e)?8aVq&S*kMcf!YS~kUGgIhatmW{vJ$XROKvv;Zx*(8Ys(D@zIznciR;igffsh z=MmnGoF%AhYDy?!*L*D{6#jq4soxT>nt)iiu`n5HP)X8rN~; zFj^x^g0pbN82V_ z7Ez|mTu0g-O``14dbUq?z0i@-7FL!Rg7pcr$2}YpNj~<`cP!qE5guujoQ?mFmu|Y$ zuqVp%n0i7}9zpUi=2~NkiD1LC*dOGD4eE>J+;X`B)pNc;oDs+pXpj=0xs+_Wtz?}T z0fI9?eBdvf4!@ou=nsRwFIeA?SJ_?KAkaBVeawYkh~Z|}e~CqK2h~%huiMK$G+zWn ze$9g)UnYFm-q6~D%T=g!A2oJ<{Z&1N5cuILZO%hd3@Iyi&#XQVX7GH2a`YwvSuX-+ zFq`G_!3?KDs}AloZi^M01H9A--f^$2o6?Y4{OF0srGsmI*aiM;x7GldJ}cp-|; zq^iiG7e(xZmm`|%ZtktsBMhKTk;d2$6(8d^zbz;2^G$GtQBJKJAxkW4PFJ`mwDgFr z$v2sbxSaG`3wb=zO|>WPNJm&yRsmVaa8B@}*+Y;ERxKBSj^Yl;1{j`md2l+p8LY$u zFsjYm8J+ViUy((*##goaJoT!U*JG|dh9dZpG(F*;QF?A?qiqso+csmD}7{CO4;lI+aj)kJ^b6|idXB2+qB=I z&t>G?n+CzYkj1Hlk6+%Vz0L^O0$&#xPzw@qxSKy?bdZ1BDrELYn5pz1zZ$BmMw`rH z1nVfLNo{AC)>*{#Fp2N}0Y%`%{h27;O`_Kr(qZil+wkJ?%(>mx+a4??`}jL2Cre(D z>UmFcnIcuc{dT)oy7z zyLhjj0mq!BPqep*Z>Da%;{dLy)w&T>_a1}#*<=m3SUcpfN`6$9EIO>g+}tq*H<+?} z-R(vs>sbX3MUpcw3eo%?YCJ{Z2lJ@PaiqiGPyuFedA7ah6l`~14;z<>E>&$mo~FOu zV|5%crYh)-DYnKO11Q^mrIZZ`6A(_N;9eYE1FzOi+t5(@@)Ft-NJVf7lpoAZ3eAAN zS*h<>kROGp{d+)8w80E6lhu zfVtQSAX2cq4zT&p^Xlfmse;lem}&CoT=|T#5%*xX+%*_?F`6e%|%#0k#}d+bi@b0$RI_+z4=06`+1S)6M@c zCc3491P>?e@7UnTIiF{VHLY~_7GA6j2+n)Gkf8tHT>zTBn_zEe{^8w~H(}TB2h+=< z0_^P!yoEEOk3zi9Irf=L1*JQPW=C!)Y!ItDf-7o%YLP~Jkx)8pVJ14Awj66G`CdjF z*1`6V_vonL$sh49n8p{HA#)y>IrVCp;>%8mswCY36*5?K+dYmbz>e@GgTX~ISt>+c zx^0~A0Em-x{5P*5e067P)iFG{@&sTw(Z6H>Ndu|Hks)Q88{u{0{240oVf8&Wc>2S&N2BT;j4qp# zsJwo%xILmmDQY&4X|FBG;-Z{Ye7q0xcv9bdK@@=(* zl@CW$o$wUjEQpOQA{KDkP(`D+4cOws5u!={-J8z>_~tyS!^$Uv!=y^{=~@+I;2w%~ z)GitvTyb=G7uWWR40~jjNEfh)`nzBA@&&s7D{~%IT==EbU*66q(x^Y7m52y2_%&Jy+z+o_Wi};r(fspl!a)k2-OH*=}r`Tw>RA^sBL4tHQ+(aP8j`ngX=!6*4_rNm4D!MpDa1P zchAPosYe?uZZjg(8n%BQcr8azc&rk*AtPv;8;bGgNOm7Fds#7Y0!l!R- ze(bAGBmaC1dpbg48D|A!{{z1NAF%v?z&ZHw$Q8DY-u^fnSj;~_8L9KSp;@I92tTeA z_{cfzP(7bra^t)`TJva`c$Y_&j^+e=+%QQ;%KzHO8xY|DJwNIKw@k1ab@HRU+$^7! zGot}Jc>#++cUXB9cvv_y=bPW>NTnB}0qGkv!X-vweRqa`NmIM+a$45iJDs2mDO-Yh{DgAXOM57x#~fPIc~AkuHJR^U(#_vnYX7CFJ^XxljSy5^Xt#P zPB2iwNPGITt@i;X)`!}&RUZ8f3q;mx;XTp1%u>C17Mct^c)XCAvD! zr&WGBG+bwX-B^(j!#@wYiH3KRF25kca{UY_#i*yOHfnF}a)zKz`1K zl_rDr>GIj%O>u61t`fEd7JZ?3KmtMeW&KS+K3tJ<|VD8*c~D?6bOIQaZ5 zvb6u<@xwmO(&30g6Ecg9s^N-E?Ju0N^G$dSXz?ML+NpodC+`qky#6sWZh-)<(s8PP zQph5TH4A9ynRTSwUCZ?O_m>L730aQJ-xQ$!V4D8Wfslt1S*H91$yZjOYd} zQknI$5^O(*$pX}2_}=kq`K|Rz!|v7eXWMHvxDvY~!ohD$^^OlTMOG$=0zY<8JC?Ra z%>+pHx+>m_|FN9?w0|g%@w+Vrc(m(bM$hyof$InMpncjO8HezarFn)vnPChmq7;mZ zW|3N-6O7&UGxlX_#oy>0G4U*K7P zotRa3sPXsFB-yL@;UFxs+K7zeNU=h}F_nhbhkBsal|Xw;o0cC6L84{vIK~i3odCSm zws3W1Gyd^u!Lh*HM5S)@z3I>;GA~!~i-KvH2D7ndx-e+Boe({%09Jmx5pUzq&j zyHapwX4t;lK#)xZepE7~aQJ49z1@V47JL-~=shat>CLr9{o7G;y15<|jr?J)e5mu= zfkU^%rAPn;W4=xCx>38mRM&_BT6=wZ0@JZ$6=`ICUw zM@;~*3e;S6vM?x$X%XBidP(@EPU_@Rq%r)buUcsArsf6j;%0jO%m>pF2i~>s=7+xs=%dLg66% z^T(I>^BPXSJOfQCaG|oF5F?Jt{V`UoVA%di;0EJWE%E$70$uVlmU{sA5_V2PY-dTU z#2DF@7Qyv-+wFAirfXf8y@mzB6ltv~G5g~$8rKvy@T$k>CJve}3r~D}I#Hs+87xMr z*!A&WO*P8*%amsAXZ81(Fvc~XS}Ps;OSb0t?H0bZZ9)3jIH$91y36^Y*)Y2INF%CO zIlS(|A1G50>tUX&HQ3os`kNJFOHX`Whf5JNjl#5XwS#Rp5Iy$gU?^5J0SfRNnL~lS zBr9WD8Cl*;G6->{+(7AjH~*YRqS*Nh?|MA8oS0C-+%7qxvfpKKEEXn__A12iKLO8|+20r2_7x9z3izEr z`{Sr%;@V`8RkG8W-~YvMQWf8?I7SR4mo@e);;b<4!(t`g9HQk#lPY7(oCU07QNH!j z{#f;hsm?K3w;xv2E+o>hFi=n+Q1Kr`J15GBOO3bS#5^XhJMSy$7V&Dxoew}|&G2i> z47$z80-HeGpWTI|*uBcG0|VD{&v_M^CTiqSBi*ZRR}A`JiT>k``|~%>7)F5n;obiw ztKDyd-910G+HT1wf!bEaL{{xvCMZ&`$x2tF{_DOUHhTPo$l&rUvC}~CdLJ9xQdiLm c2t;6e?Z16(|H*VHa6Rz;>>$~5%<0cuB6=>Px# literal 11095 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 literal 11191 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 S*H|#&DF!KNDSno>iugYO@zP8H diff --git a/public/images/pokemon/535.png b/public/images/pokemon/535.png index afa9cfb10ee242ea8b145ab3bcc41cfeaf588c7b..b8a82d204c5116399750dc38d80fec1e24440a97 100644 GIT binary patch delta 2018 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 JRLfb0|1W3k-Lz5oCJwuM;e00001 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�$af> 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 literal 15606 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 diff --git a/public/images/pokemon/554.png b/public/images/pokemon/554.png index d2483d4cec7b1b497d33421f374378628cd861be..b0c4bb10335f53c7b2b869fdbf874ebde182ac24 100644 GIT binary patch literal 4298 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 Bn(P1o diff --git a/public/images/pokemon/555-zen.png b/public/images/pokemon/555-zen.png index e94c779abce45d41efefe196dc67e9c5e30ecfa9..48cbf58a17a3b1b889ca5ab22381d4a8c479c094 100644 GIT binary patch delta 3629 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 delta 3459 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 diff --git a/public/images/pokemon/555.png b/public/images/pokemon/555.png index 0843ef0026bacd09f8d3099135863af668052489..0ec02846a6a32b52c9b873d906d5563919776c8b 100644 GIT binary patch literal 15062 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 literal 12997 zcmXwA1yEaU)5YE0iUbQ33GSNU7PL^@r38u>YjOAD?oy<%%13JU=N0ar;8qJ@Bf`1$#Xf((z)$|>-|UqDb*9Xa?b z{GqI@r6tN>NlE$UH9-s|TTD!LH3ManuW}axLRT`|DFMN0$(z$Df}5M0->POVZ~&sa zmbx~A^xl#U0s=2s2_mEO&SdT*kJBoMKrY3i#mp5*E*U^YjqRMz6%?2a=%L!+S!$&u z{JEqbgeOhti!GSi!#8lDSZh8-USC6$a(@|kV^h3UKTPs>-;#^6wX=px)g=sla)0De zilG!#CXoJcX@Q~%B2eey_CBEbBOk*>!q=!)0TL~{y}g#eMnxXbr;OTU=-|9=ekBKJ zpZ+SNoIU|P`^F=}TdxoLZc>|Wf&Vj<;Wct2dtU|nh&1mm7}S#?3rwI`8qa*Vp<4Hg zv5!?;UF|@l%uZS+c(4gZAJz#hdaQfP{pJ!T{oOGjXgfia=*A}874|W(!a>}ecl;`; zp-F#YJ3|)-Kf#*E<4T^Sh%`rh^Q!I=EvdrXW@Iqk$q;9{9F!g#ExCM6`fDlCudbu_ z+>9}OHtFQGMgWHxg+k*uk6!w^vXUv^K#MUnbF-Vd&WL%BqdeNd!58*2`x?3qr$>3l zV6-HGSp`r>Qu&`r%EduSf$VV)k-nZ9=Q00kIt%cnes0Tj+>AshBz{jlXt7 zUz4S)qE(C~51oX?$WFltU*G>&f8*cj>sj^^uReR`uCUfvw%(XZ3sbVlK~&*w-RYXX ztHe82Tpg7rs^GLO_ph&C*^Ao=j=Ra1xmNo3TL;E$^3{>Ha|bRtDXZk%021WL@&+nD z#A-^>Xt};V(q`D_yLZ)G-4kZ4{7~%fdG~jd;!s?+u5qr6WUw=5@Y*9qmafDvrrnio zDr@nT*3`i-c(tU`%j#1Pf!Oe)J2O z{IX7pUJt;eU|klapYcHz8}{I_=i zm#kJH4+)7f@TdL5FF!u9B-;@)O7o4MzdC>1OnzK@g5`1k;QlZL%2E?5T3Ksz$*9pn zysl|>z+7M$v(I+8PFq>|Tf!0fV)en(!^N|fMh;`4@n`CRr`HdJZNDq>Fx!?>%9`z* zbA4FalYiOTb&`H>*L-y0t?!(H|3HV`?Bqe|ifC$Z@RO9J%sY};4{3I@g}LiLTMG9J zN%>C5H`~1IQJ1>4_li7i6^yqfiBs3LJF1g<0KrS27xfH1w#dt9hw6di(s@8oj9x3~M8|v-^20 zw)`PH$tt^x!+zcH@^CVCo2~4l0RBtc;p}#2kDHbvbL9S&rQ(|(RZ-Oo1$Aq`ywY}P zKldzj)facwqh&3av7y)UnxrJ7pUJoBvQDeEM3uoIxQ;$^L|-|NoBv4}?ZOfMt`^Ci zsZ`ro(dOMMgb2$?+m#OFV>Vp#;gGB>dn7fRIrIp*4bv&IU1t6GBJJTl57tI&`z96t8Tix1``FT>j))-PWw-HtnqR{SEkv)}AHvE)|HFPPv zj)~~BQNzvbgG}Z^Com2GZ6@XMt`8K`5U;}7JNDNV^0eRBGBt5;Hdth;nn3%mEOGE* zxA^>7SE9GIe>#@g8@7`QkEPS7(3?oexy(9 z973_(vinlWw7!?~drtxT{gf_03L{3`MF|q|DpCx4o3Bk)1p~-dfV{1UFWbc zX$fzHKQ6m^2`V~zzVPxX$LPY3!;?*M|4E)!lp-t|>+TWF#Z~2N^*z?`OK32x(GF`ZbunN8=BJq+#*d51+c+-}9~`T?#uvMt{=u3bf>^P!CxI+_t@*|vh@O;u`ha`ambQ3??#9Qg}5sDrrL=G9_b zTC-$xx)|ybhz}lyHbtha3Kk_2%yi6re{Q|&C1(}ZR{HgiU%d`kSop5Ihjw1$4f7~? z$&OHgpFLBHg`qui6xXbQatwOYyMfN*fzp4PDryKQEySjn&^{jw2KQ#by=7M_^4056 z3G`m8?H0Q%>#f?Hlom%f4*G@RugWik>cobQg+u$W=Rv*$4erI;uMbrEL2M>DWu%EM zaJsE(^y{ym(jVLP7|j)oLQs`;7GxfesF%wf9lIn$cEjDl726a-uc{oabctn5KZ@vz zTgP5yagvnL^5seor$cJU?1H`Dx!{iWQjOu3FABfzw{3v=u=26oPC=&9!~th(+KY4- z)Ex4=m{kC&dBGHX9q+{GBK`ILC2g;5f*)2rXHm^^~F z#y7$doOZ}hFkAb7nOw9pg^V5xYe+THq%Dmts&AkfYO2uNrIhE9to&3je}W_(m#ZMW z0=0ZctisyzuRo9+pif0U?lTS@Xi5rb9e&aG-jz;cWmd2`-;;piANIX8>BIMDtZI@f zz3&&KMRupX?>yE7r>@5XJx3UC-`buo+Tw#&RMv+j5vw$!Pu@xg_be&bTcOMNR-A;a zXfSC8mFAi)oZnt5h^`hTiEyacRI23mX#aV{IGGxJyW8CAirY-PJ#UtcYdD(9L0^8i zb^xc-Ny@5d;9i+M;R-fKu-h2v%@Jxr7qU3E4ytZxJy=})(yLd`Oc<2;L#>6_LF(g< zjbC@m&kLIQ5m&#Cg~z6}Z5o8x+nVS)55C6CBexl|m*11X8ej1qFzF}WvtXjxx3(=Z zQ@A2?w{i|G$oaLt%}dhhDw^IQ=!Gqbg-pEX!W`;m&%Hr5Ly-Cs}x(R71(@KCyAXL8@BoW+9bQOe4&Laq>>wQ#%}|dQfE#iJ~q~@glL``O`=K zUc!eqCORolD<#Iu^LGyw@II2WLSe^%c#7l4p3&!P6DGiBhfP4{%5*q+q~h%dd~Txi z1fg%GS5kLNwry;UiUa*E!B2&vZ$UMLFx@|i@XNn$?dz8Q#yi0|ljR0I|vL&R;( zj2QKpwirGy7bt~)Wbh-WSd1Wxd^b|**-CYb{78aRlR(SJ6G{@Ps95Q_P@MILE8ku_ zv8;rxSaASs(u926^cKwlE36dolZQxKF)<>f(IK4W1(vNfZoYWC0I5=ZV!CV;gvm-* z?CQ9&Nv`+!K%1Y`JHC!Tl>8ry;*2o(OJML*FSWE!%m9fN6M&&&nc=CpsrrlDmjZE7 z48$SdnAPMDzjAsjXDGzN}zd zB}?ca@^k;jhF9eJ5+pbi7Y{y(@x=IU}3=^3I!LQ`}|f=y(vS>#zx zz~XijqlH>rS0SwAZXrvaQjBZNu?8G!h2PB9@u_}dOFlfu)>fioQ z5ltChz5kVRIxN|A{yAJTY(Yw@pGqf^;myU0({ztQhztRmQPUTGme#5tLyhDRmY-px zVxkf&41tm1LK-m?m31nN5=Me7lVQa&g(-~eOEyMA1e&->Nt?t$5VB`dOd{i&Xn@*I zuV5txVPLV&ocuV0Ct>aVlrr3xJ~~<%kSH*+i)7Ct|AKq1Z1`=b_g`0v&{e zGKR&A)=mn`KoFH8^Crz-r~%%@xvc(Rvy?8Z?Z7Yt1;XTjMK3teKY_oi6y^db9OA!Grp}(HK{`Vwaa|Mzb@p#w-)`7y7>_QgKf+iEMgVgZ5 zwk0+)rYI??0Ejdmb7DMNGqMhADsBept~WpoAzeQSLMukI{ppK#O%ITTWv|#t8bBYO zgb|!p8pPbKM@sr$HaTszDv=+M)nZF(vs6x07(FH23Pu?NwDIN6Q4h zTsfIPx9{1Hs}c=@Ao4Jgp?t0_|I9|MvbR7?CLdvBCM4Hdz;K3HR(5G1Z`8$8>R<+X zKqRxG)!YEj0x1n+nQWOm9%^wZ8%_eoNN8luGnFV zqDZuoZ=!Bao<=!rE*tV(9hG40a>R++8VoD#5i|_2&qY?{kO35-QGwQA1+nzASpN+N zb0!)kq(^@lrV+-c#ILq`KZ@5JIDusLx&?t)C22$xmxj@y@AYsOY~a}n27!-?aR?&% zb$3j*u5Jn|2rJplyx1s6|3qKY3J!bYPUH^=0P0@u9x@mw{aQc$eb;p!}up#i=vL6F=c z^;5T&j4yPmaN8)gK8`%g9nyGBQC4DKlQP0VpHa&cIbkWu|LyLn3O<-4yiDYOWhUFI z*Az@a(54y_N4@SW1rTuQZ6Wv}J7dflQeoQzX}_!-IdAVLlGR|frhaA}6971=mz zq5|L9H0N--j+yBQ|ExSsl#GMEwaaoYCeF9QAh$XzJvePDAd#E1N6Ojhl}?~P!>lT` z3lOP-2Vjd744Ho+Sy)lkQw1ctTTa`^E28Esz&tht%;E%CCr~lFvP8^EN+R*TGz@}t zpCdgs*cX)}J;;`3s1qv2l9?y;z^eQ%%`@x>nJ!`t#U6=0a)jk&N->M&qdO+a7$zMiCL{(VJ4ihA@%9M5p0osdP zm4Yrc^B_}y4&|y@>tp$~isXa=&>Y@dbD<(7E86h#jm|=ClIJJ`N*zk1qxBp&Y6eRJ z6$9RG2ukF!IBu`EM;VP&k#fSw$?RF1T@hUq2>$M2;1w07T0`6Ht=5e}^gZpbl6%w| zRZNggiMx5G-;7_`pUPKWLA%;xO#tlo${)EiA+ anJXZVd#DGW6$)vLzK2Y4fD48 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 azX-s>0fr>XZ^_U9Mp2Seht$ZL1^pk^D_y4m diff --git a/public/images/pokemon/566.png b/public/images/pokemon/566.png index 67b5f09c0564f7b89167da2b06925eed0008183a..e54a868029804950f95c7dd6f8fcd77c8c0ca173 100644 GIT binary patch literal 9129 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 literal 8816 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�&j#aF5mv;KxB1?CQNw*RReAHs;d@4CL)Ajug2 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 Hu0mjfOFqu{ diff --git a/public/images/pokemon/573.png b/public/images/pokemon/573.png index b827c23d78e1139a9bda5bf634b50b70e5aab648..a33172fe8d314756737181c9a45fee4296e4abd8 100644 GIT binary patch literal 26950 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

    1. |6%j?Eu_tmeGV^O8vyYFjr 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 J)hQAH_8KWP0tWH=~AWV)0S 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 literal 11157 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 Wdgvxo*MI+Y0HCF&uUeyQAMt<4$HcY( diff --git a/public/images/pokemon/back/498.png b/public/images/pokemon/back/498.png index 8ea4900e8f36e11330aa793ad29d347e862881dc..c14fb4561e7a2b4b85f8b4b498351430239f474e 100644 GIT binary patch literal 3529 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 D@I00G literal 3314 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 diff --git a/public/images/pokemon/back/500.png b/public/images/pokemon/back/500.png index de1b556bedef05cc7e605523645c8add9e94d464..082f0460ff2a5b8f1ef8fd65133194969b6f7994 100644 GIT binary patch literal 27751 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 literal 5850 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 diff --git a/public/images/pokemon/back/523.png b/public/images/pokemon/back/523.png index 6f25fd9cc7463eb9f698833094bbdceed8f1c7aa..023afbd10083a3fb070ffcce0e5be538997201ac 100644 GIT binary patch literal 35116 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 y02^V6flI-YL6oPfpUXO@geCxG${Di& literal 10206 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 RW`_UfYD(IQwenVB{~wf{>P!Ft diff --git a/public/images/pokemon/back/535.png b/public/images/pokemon/back/535.png index ac477600b72d859b7072319fa86049cd1b052575..2556d646aa69cfe83d9580cb7c21175b7136a080 100644 GIT binary patch literal 5310 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 Q00000NkvXXu0mjf0OnUMumAu6 literal 2188 zcmV;72y^#|P)o87V0#I%AANLPBF>V{5(tbCktIB%9g*0004WQchC&YZ z17vW`4(1QJyyZ`CxcaZGuGsg3m~mKgR0O|4nxsZRqNL_WVq950g}~gy;_9cz-xf>sbIr*_&c44sCEx3(U2=VXaVYy7!{SiEQgYMzx z?AvdmtN1*}y?#6n%jMkfQ$r2jJh-{m?_;XkcdGSaKj}tnR>c*Py(TY~8q>DD_tMm8 z0AH%*r&T)+Z9i%Kbgl2TybIfa<*Mw)aevr0jY9+YQrEs}M>XG1Zmz$p!?kMwmMcvg z^&-SOG{}9mo`|X&_s5|Q)CTaau5UE%Wr%wbJ$paBJjJC_#ozC? z=Vf_JX{%>%MYD3>>RR%+p+a1+_4IDSvelpg??v0!s!PjfR_F#!Sx~#dihQuIx%|OT z--%pn-+!-K<+$fsHXm!Tk*T$Y(YI+q++*Lph>6TjYmEQ|aW7AcOcM*4-Pq-|7*(^3g@p%&dDaqp->!&Vybu}YXzE&y}oNViDb3)giVz1Biv!rV=Uxo#Zj zTrEM@Yrnz!1s@r6B^^=Xo^nF1?u)B@(nz(;T>ZvK9%Yb2r;FvkWK0(51l<#p|{ z#3Iy^Gv@dhgM|RystvW)=URTEo_)o~7%T+n)LXn!P)yPw5j_*;=ok|V?^3@?deKsI zBJ~tL#$aK_y#zn-aoJPo7!x0J8E}0a)7}d86h6kxM*{%p`7$Asjxq7kGW1Nylj&Xg#X`H#r*wD1S-1;_Zr;~QYr;0epqz(=hGa3>zSC03ay zEKjvow?Bk$sNJ zze&L3B~S2dMWk+k-)>Y*f$fSqr&aPP@Mo-oCzuRqD$jK#(lt0+j@~&Ie|c)=(>awP>*nb zQhbM?YqLO_=oaF_C=Jx(8;@ve`)z|UqczbL9i@SK(XO5xZamZ)1JdM6hDX|pG)jYt zitiF9n3K*(+sAi10%9iF*N_&xX zA$}{8v6PNm!K1XYPql2Akd%%ST^^++Y!5?aAdO@#wva|?ai_OcWg=}UYm-@{wDQ~P zk!3B9(k^Bn%UT|#UCKU|wKPhjv8;(SHXfyw?FM7n%0e29Q?U-k6ZoJD8ELlhO)L1I z3k{^fNHF6(ZWMgbg%^$&ieHj72(X4c#DTZVPJV?>*jj7U^9${}Z@< zXT10LiLpp;11Ws=(CEEqJTVgKQS`MFVDzDM<$moe-_Kjk1Nk3Y~Ppq%LDbvK_ zC7u|D=A6jyCR=_L1;jTc8t*1s0$xL;8;LZ`vm_u1W=fT z^O6(!!`Y?0@{$wz!`Y?0M!M4XHgaZ3vU-rA)&k(I!O#)+&@E;LU3-`T&m{MRDe!RbE$ O000000001b5ch_0Itp) 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 diff --git a/public/images/pokemon/back/554.png b/public/images/pokemon/back/554.png index 4ed9c06f0ee1394858ee4aff982781a9bb5cf699..f6423a5e66ea701f3c3fa14db6a5ae2c37ed7b0b 100644 GIT binary patch literal 3765 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 diff --git a/public/images/pokemon/back/555-zen.png b/public/images/pokemon/back/555-zen.png index 48ef6beb7c48b476023da68588f710ca52948a2c..8fe0e672a3a0bbdf71704318310afc52b4c34534 100644 GIT binary patch delta 2157 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 literal 10269 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 j`92ZN`7Y1;O_3h-6gmNcOKup|Nq{sHLK@T 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 K;#H!CLH`G}8h@Ao diff --git a/public/images/pokemon/back/572.png b/public/images/pokemon/back/572.png index d7ddaf62136740d388f1917440afd884aaaa2cde..4d081564b50efc7e99ea76fe01050ec6ffa2383b 100644 GIT binary patch literal 7678 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 literal 6484 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 D65IAV literal 8869 zcmV;WB3j*vP)hK~#8N?VZny97mSNE3Dog%`IQ4I@Lvk=t?NVT$Ubsu(o~bnypRR z;KO!7?YTme4oWZ{Yy=ke$y&6v$u1gPR-++V4J`ODus2-{i?Er)AQG_`a7B*`UuiUv&O2jccob-Q8I{+=RekFi428ii*a> z2m7=M*qP5oRG(OgarQ>Nz%%R-dGXf6-K?^Y?L9rM*#&fmb zSlNs{xvkE-!Qz#RTSOk&073{8gIe9@o{z0QaneiGS8J6{5%9 z#O%?KJdB}(fu2UG6K0eP9i6#ej%)mr9DIS$aH(xq0 z7npJDp=9K_*d zjn`wi6=TVBZNELb>4C)Yy@}j>{m%z4g(}`@`6tk-jl)N$@FKDhx-oc+QfBoX}^1Gz7lRMU% z+A(S{(9gD!m^Z1YmC2^>3DKi_Aj`6!s7dRbLA|x9JQ>x$@#6AV?_XXn<+6oKo)x3j z^+B|@Ua?9lU2VR<$DNl8I(R0>Kus!C&c3I?wY)EXd*l7fO38D@bgdXUpkG}G=gCOP zYaG|5lY*Jlvt;Xx8(^-o*d`h>0w;npxVcrz4GL#e0qENl;b`L#AtaRFI5_2 zXylDs@?a=m8Rws8&_3ctP9I4#X`OS2r9CQd-pvL82T%GCOreQEc>t`^i`t8)a#^)7 zyqq;B;~y}>HEEr5r)L-0#FjkkW;#_GgYq!OJX{$LtX~N_Qhg+Uvi$mm*p;CVO!Y>o zB`-I1F_Sj)rcQbHbhg2LGVfY3ooh$3CeW{{N4TghZ?OFOtIJ=_uF5|LS{@ffUWt>| z@^GF4qqMxlA+Kmv*u>yyA58p{e&R-7uyuR34M6h&;V^ zf-!6Iu)@ijytnEX$BqueMOC(4fG?}3Pbw`hNpX8}j4U~-Bl6Ogye>pzy3H=Zy@%6+ zB`?!s@DvXIa|xz+C=W1F&N)cJ@>JqQd20|)0TZQzfhh7dc^R-}YF6(RqS#?ryn0gd zM4A(haXlq(E|Lu@oOsn41-3lBGBW|ySn&FFpSI-P&$@$7SRSbOcYi5-F<4>V35^tM z!cks5`e~kYm?dwNsvk(`ENLsQNC9~7@i)&lsBl;wfJmE1rbcUJRsoa0c_BDAN0)QP zL{Z3qusklypRoQPznKM6s4F}R$zz>7g%O~<_G9aRrhf|o0KKsgkjP>d#n|^iZBN1yx}TagSVxQ(QF&m+JRoG}00{6iUiF@17EQc`g#B&zO?8dI0eF zSttcvVT^DOmTP%=p~OMEc<^wk56B}O1|SMu%y&t?>>}r?JUNG6&S52=^?&n=b_%_b zNdYU&s?Q?wu3TKmsq=i4bz$vod-qt+@W=$7ymP82d`zd%@_LWdLE^oO_6%Rp6hy1S z{VIvcs~*a!Fa9tB0Q(gVcki_2vFb=yq$1VpFN>s+cTG-*@{U*Xt}HK14Co5inopLU z*yu}n{fj@SXgd{lT~)7t(#SIlyW~}%elIQ(GaaU`>yIgz7{;5JD|bImqVlRE*P4yo zD|e18d5ng#DlsRinQk?1e&9%fC5^lvz5P+=wdCQrez#tNJ^Y2yBB;D2*42`C_srobS+DuZjXB>&vmbg&P>k)f{Z zaXlRw;S}N$Z+`N@#<7VbL%_{RMl^-^xc&*5IX>tiC(458_LE8=yH#*EU=Iko|kI;=)SUM8k$ihLLSA7WMxY1!} z13rIEv zceso})Z;_-J7^Mc%fng-F?gFIAa*F(>$n$0p&ST;8TRw9uH6gjllx*$()-?5P6fZhXI4=9!3)Ge_o82_wU^+ z$-)`xb8_TcQ_J3QHB@3;8|4vrJRzuFsmlwo7|$&#)E#2DAHwrtyUGs|x6c7RAT&`b z&!Bo7kh@vEE$^Dpe6=JvchazMO&6{?JPgD3=DX^uu-H3qΜQgbZo!mX}$l=X8X% zYo&dzSop4i&BkMK)eciRsQ>H|TiBO(O^k68AgV`L?{wK@EqV8gGg4$j*cHxw@jy*# zJQg;qe^aG;jwPngw#hS_)=q*XW@FhSuo>#pNHI5j{nfWG4bIgb3$|~kFv+YEHz&h( z5*VXH?Ic)sVm6lZ_07kGk0XPewC4ZXV*!h`3fm=SM;%gOVLS@?JvKS@WYn` zpIRkmWpUbpl5k-q&m_9EpBaz|SDUXBkvHdZ(tqtMg$5)St_oWvX7jQbmBJ~{B$}W+ zXg%8;<#F<=XCs~y2&+*^b?~M9pHdg_SOAt77G>$A>is&=w(rO#Po&D-Gudm~E}3w0 zo>k(Vu}@xwiMFgW zDe)3OSNTNxdSRr9l;;|GSwc1_k=H6Q^Ee3x1JLW?=xgE5Ty(K-yokz^>=OJ=p`w}Ol`I3Nf|l~SI0 zm3}LoW#3*Bc?g^osZCIx<#mb66FKf-;=_Py39azFB`-6(`L=x1%hB-WHF-TVIie;i z59#Z`vWetwd51P+S++bm9H%vw7yXu$@)|cCf%O_07vHo%-Cs#rPM?DuUU}SIJ$C(L zLm5p_+s0Cwm-vBv)BpCnDsjsz(w>yktG=;cj!}7gCNW$sr7jlyw{UhbMs=+TVE_lW z|LtkNLU~#jQqF-gLqPu#1)(Spx4je97sSzl1MZj|cmcpnyq#}$@C2S#4e|sz*{GIh zFd`%XiDned*d=bjv|bsKw!E=bjMO~c!Ma09L$1CSFm}lsBz@rRZEubdM~tWmkN@GK zyn!XJu;lf$JOCFtfT~)#e)DyCiUOk%qVYPwxCLsj_~aP{Am#l$vkQ}of)gvr**zyE zIBBpL1CclRE-0*L)mS8Y-|$Y#Q*pY&Lo-_*7wsJYq7XkH064rFC=XPz7f#T4ykgL7 zY~-!pRA6&37%4ojKrO)dXDf{LyCZ91Ef049D~iJB)xd26KA*$&l})L`I8V7qjXdh5 z>l;jW(MwjmR3lUkLC`x~oSKz2t}m3`VC*nMoT5Cgo&$J%4p)$Tu%yRDkLlf_t4A;$ zf~M*r@|}Ojn4P@YpBx|sajNVFr!F%D&yBjA_l)NLH*N%a)S6u#PNsH?GI%9~a-uwq zb16tH^#Nyz70xQT(a zaw>J@g#bO7I3>%Xlb|ZNF>Y<*b3lWI+ARRx0gch(!rKXxytUCC;F)U%)}Fz z%k}SgqfHh~z)0#Jt6u<=N6$|Wl4gS_sV4IQZ0VI1z4fGENOe$OM_ z5aJCTHuXAqofuawP;1c4@X*kx=bLmxh@}uOo+_WuiE(B@-^q&8iH@XEwA}zFCV@Z- zfsxoLagP&Y$Kq-n^oM|o(@7Baoh1(`e7s`3!mgPON+|qmHFUs{KzViGf>GIOJ8!gD0zlJzmdX&+3M-aYF|jX~c1%bdzX92Fw<*bQORh7Lim13EDxHkPi1qnHOHV>bj(3Z$U}AtgR1MtBdb{UfiB z)K}OIA({e}$J3Y-gFY0*oG6ctnxMi);q7h+sZSoJ&>D<<@=cr=SQ&ysOTjF;HH_NzkL5)*SA3$AmnZg0BNiL7f<08w<)Cc-jphdPSrbs4%8r z{XuJ0Z|rtr;IxD_YRsAVS`y^=DQ&#MDh2vsm9ACLi9zKRIbu%4WwhM@HcWs{yu$R$ zYu4}Ogdw_}7);3`@{l9CfN(>g{c#RJu=k@I5F(Cxq_hzo2Kwi=!1DqJOZ0l*oKLH zjhP|f#Gvv-PfPB=3Rf3oBisbwWW2p_L79j17nHAcw7<;0*qk)GhGk*6`IP2rhk zB_R+#Qelb-sz-HtkQRO?21B1nVnDL_B6;a-Nr2z{vwlP##|k^;om49pJ|<2Kmruli zWIgWuZsu%B&|$_(LV+ahm|$0!0wl3YECrErj}xO0Bl)X*B1&rmi48A93Xk9XUtA!4 zj5K|~3e$13MZcI-*Ks&8a2t1Kcnc?n$A}T7@YjzwuJG1Y2MUs-6rLp;Rd{=OagZFR@bL<7@5I=G!pAGTy%R%O z^tPbz!3uBh#1OhoK9b}Zg^yQwTPFqu&YY6u?VCPq@5DeTNJui>0J_3iw8GmvF{r%7 z5HYN01N_`nnCRPfFo5V+|KdFY!pH{DoDorIxWd~HEMAx-;|9=UIQf1mEQA{FIE6wLj?3d}w#kI* zqnvXpq~gaVXROtf^G-SBP1Cx2b`@>QYfui>fEH^xRu@_V|Aznuae9y}ZaAFJQLf6Bnx&L}VTUH!doj3jeyb+J?6r3hAd z{Ynqq3iP!3LARy?QIf2YKr98j!gg8kR3Hc^HVh`*@-`yL1Cm0p!jW~kt9q%c2Yy*X zfF$D=^WhXk*RF8zsohfY6wS5eS-2EGTnEIkc1#lo3Xot5JI)lW3fom7@vvqRLC#5= z%$FtUy^r#c!($4&b_%q@(Ps+^<(_AFbZMh+>$`tQ94X*u;WkO$CA^eY7zfKW8=)OQ z&OdMbAD<%Uw9@8AUU@6=q)=d6X-t8{AR%+Hdf`4uLv_1>z_)lCB#JhIE9TGa3S*4< zG#BEZt(V-cFx^s=gu~Y_)O9W8WfGS6?3V)NOq}ziJG5lmP_UFx#0?$`R z!y`{&VQO{4ky`Swdxr55NQHQsh`bT+sxT=FZXP>hz@W{hPdyd})AW5!ca?vbGS*Vo)yi*%BForw@jdM99uO<%$9?r=n^@Sdaa>j@{g??ky zpg32gbqWrg8<#hrAkkQO5+*(x}?Asv*1SB@!b2Bg>Oyi(2 zbqcJi)`28R(~om|0=rWH%EK2u0g2UUWOa}C#W3i}6xd0XkQ92Dri=;UTvkYeg8LNZ zA!`nIj}ONn38gWkk%HjXSDP z@A)`LjN@EFLTOA8=jxVZJL-Ic+OCj7qHc!(IpQEO4jU;6r7IUI z9UwNr$Qw6j#}u$b`gulM8*JVI!iAB!8*-j)(474$X>D*`k=6#U&;ep2jBGYQtT{WS z<%3M>uSjcySLguYykUM|L(bZ3ut{_Fv-K2)8EI|sDjgswMy8O{Yyb#1XTRq7zMR{w z4akUgfY=Np)AskYIlHOwf?@z{Z9qr714JAn<45(O=Ir~6v9ou;ppUH$$cT4+#Z4C-TR13KazAX2wHgq$9)0ocvi+5Ws-xN_)YYXdUk9U$0E* z&h@oez&8 zdhVvHpaeTy(?L5xn5<0s1`!etxG<)$y5_w;G>9Sa8iL)PS!S%w68^j3>B|(~MCH9C zOu}(t`q44~Pfwk7>8sDnN1_hu;Ux)CdA2>`Y!M*gh-KZMg?Cu*0@-qVob*@M5OjW; zHhzR3-TiEHd1Lw}q9mLGZ2DQaCTAFCFl3^BFUE;!8E?ih;ko{|Rl$XR6FmzMYy{ZB z=IknL=4$g_XM030Nr=nK`AABA=kf0Y1RDW%&}*Q=j$D^Gm{3z;Qplyd9c-FPjWwpM}5vB@S`p7W!l8V28uC2Hy8N-|vVUx4>Tl zI3G@seRw$?9Fh${2YCeXmucksfH$TMjclH8X``l7y)K((f$QwYT7S&v5I1ho>jRXw z07evr_Arp^8K@UxdhYQ##Eo0=>jO~URU;3{A?Ml3B;dWNzN=y;1dl~urt#|oU^+w? zzB_wx`Q2Jfd22{0{JnJ}0fOeOdTh|^12~os#O_N?HL$=Y1uSrLdd5}yOd3U6h&qSpuPX+V7blkDZ?uiw}5sE1)_%ezEKL46Ke z4SIb5KObreyZrN|c=6pbq4ET@Df~=QcpAdjeGXf7SvgxrN9tQF#Sxb-p9632PkEvA zlEOu?ChtMAv3VYt^yD@ZmZ&5@n!J&Kr#x0 zP-5;Vzj+HvLSa=0cj)-!-IB9t08t(AO5e3lj0A6Xhq}Oq@GN8QD6e_TP8*4z^#u*} zYBVjVpNd4cTGt_@$$S4m6P{`rc1H!xTbMSMZ?MLic4!8f+@5J=oXXOVxt=7{EyyL| z(Fi3D>%rqbqL7_@H|TZ=96W{3>P6^X>s>8R6CR+l;?5@wahnOSafL%(*TCk68aPOO zw|V|gcqa(!sdgI&?K-S)~%v+v$4gEm0;9`e!-j>(v2|5;-!N#zDtwY6*wKlS&vfHA~ z!~$X>P#(+O_>QpV7_8@(dCTSR7@Mj0!Q-*OrUl5tnIGSIk45UC;b`6>YommDiSl4w zo>?5QG(920_-=DpZ+EC*oOo2YmUq7ttI}Xdfxl{T(l3GFJNMS36-Rk!-g5Tm7rbtn zU{E48G2qjs@{BOVcY|b8d3c=Ayya?uFGgmucYX2@&H=G%5PavC*GqeL#p|5Wyyce1 zp>CNlb9yXLUO6N32)=VmqZ_fD zfz|ilmdEvV8;~IWARY^$>T9}WQ!hke;X6TOxtna5U)$A0`}4OxTmSL0Rp<(VtNk;I~jfvx0mAoA!v`Y56zeABfd=y9U``8n{Sb>01OBM*DzOLaL% zh_-ayqc0=Cy0Dl~9&euz$8o~7AvqZ(IIkwLXky@sR&#)~*F^m2laCy3lg0~yNgQt~ zZ^ZF9(f<6V8Te|zhsnB$p_g<{;B+PL?Jpc|6XS)zafKiOZ=aBE7X|>NYW62y1w%$I|sC8w?l#9;dbi;G&nb8GF#gK nZipY`zzy-k8QXXC|NrqnT)&fE1@v1o00000NkvXXu0mjflv=>} diff --git a/public/images/pokemon/back/643.png b/public/images/pokemon/back/643.png index 30b32e7902d585673a6c231a95c605b6abbc95e1..597b4bcb1891b84f287d7f081935e2b9a5418d56 100644 GIT binary patch literal 122695 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
      3aU>c3+Y6dd=Z9RZg){!AqNJKE5<& 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
      |u}ie9%KQGzp(1+>l6`4r@)j01Qh^bx!`fT$% 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 literal 41502 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%0AkTXmMoLYW4!nb?7xj*6UG?>7Xc@8 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 Id8_FE0VDK5761SM literal 34555 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 Ss^`All9&s|!>JJ+l=(L}-+CJW literal 14970 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 Y!s@o8sZ{Bw9shmNQqxy$RJM)!f5SCa{Qv*} diff --git a/public/images/pokemon/back/645-therian.png b/public/images/pokemon/back/645-therian.png index 2e5e6e03e0547758bae6270d6005c0d19d9482ac..127a759f89af9fe0a5b41ca7c6498170f9722222 100644 GIT binary patch literal 34724 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 literal 24955 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 z%0A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 diff --git a/public/images/pokemon/back/646-white.png b/public/images/pokemon/back/646-white.png index f5db6867e944be7ac1dfe7ab2c0b4709d05b79c3..1dc659ed6aceb6d729e8a1747426b6d6fdbb5bb6 100644 GIT binary patch literal 66976 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

      uLDKZr($iCl#Cv=cfwM9JQ;& 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 JPDHLkV1mzPh0Oo} literal 63426 zcmY(pWl&sA*ENj0Gq?o^1cu-m+zAB2;K7~XZowTgSa65I2M_M<7TjHfyM)0$uIH}z z$M>VFtGajZUVHU9)w1?a&{sKZ3~~%OI5=$i&(f-JaEL1Z6*R=R7GB+f)VGQiq^K_Q zR^#E}aq37aC@|YZdAqoHdwc67GSgNRhE%Ngx3~B2D@eXpn7*zHzP`S`p9TCk5Z+bw zs~Vj6{-OmO+`W{%w1m3n@`-+APyrN&D9?mQAX~N(q zdGY?r$H&Zxm}N zuS)$zg;o46nv-O5pg)-Mv~>d)=EnKTA#LH(FLz+Jd4x@^9fPXamNBPpgI zqI;EP!;=DsxnZQmNxrpd&@ys64G}=x1(Y*GX(0kLs4GEepJSXj>JyXW4ilU;=6AKp z{xoUaW&HW>>P3V0#M?{kh`fP|=>)&T+T&@q2t$2zIw}{Z{s6l_5x3XdQr4lEDX3iL z3~An5XJV?pNx9GTznCvLN6xSwprd&nk!KH>H}~MuDF&C)@2Gy4o>YK_ZtIb_);n8CZYbN; zR6|WvOStFFJgjc@lGY$@UsW;pTdQQb)v8^o>+@pplMu@oxAcVs)r-%=`83S=nE(Nt1DFkb?Zw;L<&b4H>ZEI<4ttxm@xY;9uNf2l@a6_*}=7su#A782%#q(>+nL3 z77rAzh_MzoG=yW&%GpCy1Tw${D&V9_Aef4aXZph1h7UwZ9n(*xOlTNIx&_qo`jw?IaSp_9JwvyI4#)-15> z#*%1x3p$O@qMkt26^(wRJu*A=F63ReONb6(W;4|X zg?~~ST=e~La3I|#SL-dY$7#KB!Ys28C8=NQ<%S11q4(O%PJ0}3GYWE6>-r0BSz+X| z3SYYq>Z$f}$FvOjxn`2F#vh!nQ2*rcow1q3RlX#R`yS+wbg2Srp|8wu6^(BEB?8(s z5(+RqSxZqz&bV9hr8z(XJg-grB3d5w582lu(znP$B7R2huhG70PX6UohlH2GC(<#w z3FiNm7@oTb33$GKsHezX=h3v7O zHyezze^w*qZTOzS@g5K?x8+(`nTKReT{c?{O7%3)|084S4Miia)BRJC?D`xQktin!#qc@JkvJ>M8t)SfZDDB1 zLd_$lL&;W9OXeKGj>h+&tmiBGr1X~#nNk8v|Hxv$U9-O|)?R)S)Hx%CZJtNIp=mG3 zh+fI^*tXAh|dxb``JiNH#_Cl6Ha}#}85dGB;xe{MFEDZ(!|8qhPJMYw-e}MIkV;gqI_$1=_QP#P%N8~$ z-YPb!R&gnKfXb>Z^VbH*=Pc?)Z!#wZmz8@wB{Ol91 zOlaq>!56qkKW>;x@8km&Zb_YUYS+8^&em@at-qpv(VWnGKm2P`s&9Nl&mYuco=7++ z2T{$7y1X646^t<|*8c`l-?yReu^$QoQzb+$4nGHGsXtIWzK4e?JE;4be|W~^dk%cz z1F@STQ2hxSfg3SjJ+H$Ay_jcK{qS@CrjySJYUHdj0%4vacc<$Z7us$RPm76?%zD_u z5T6m1#4GY((kjk>^+Pa}|7yKlYz3ZkSTj6Q-xHxH@R1KQBsTq`Vxegt^wC?^`(JD% zfC*y*@m6j~Ptb_^z$3Wl8QbIOcRT8Q$+!3@xt;=l<^YAQ6l+)A@GJ)!EuGnv|0ddl zcnZIuPi6<-VY%oI)IAv2*(O_h0>!ZWB2{iR2W9{q=yN_=3f=Zww_F{$GXJ9^7^d}= z5_RvqEzXwTOnHD>eM{+7IjE3I7FNAEpcs1J8XKaJUj%ppj0Lc?=mO@Z|63?bFz#3F zF@2EU=R%0;2%+y(D+b)Qm7%3n#vL_)^DxB8lycn=dNHSQqR?=1s@vahE>nHMU-L%) zeb7iO#Mi(VM$ofYCz={wQEn=H5~}!PN9|*j`*)MaRO#!TtTH3Okq?y- zTpPq~ zc51)-oo&!=$hWwwVX(s3rE@4zQJ|5u9Hr-j#aL3AyacXelp1>ZwI*8INl2Uo z+^LH01>1jkKN$obzp%U@1__6lcP$YU$vjc*hqmtzieCDPMtthQ`sYQ3aGKO}4I|bX zU)kDST^SvwX<#aL{+?iMO~^O!%jJVJEY3PQ&cZ*Hd`| zd#Ir&<_>?%3R-`GR6Z@|C60O7ii11}{8_z=t? zGcB{|Nh60rkgOT@hJ`TSv$K)rM1Uv6$!F13y4N!C|0L=g4Wp?E!dyu536i`sP-tGf z_zI()4iKOzm*WtdF}DA(<3eSX$Yj!D=d+rBNOFUoM*_GM)e{qI2EVjQ?lYK+Efx?f zTlpRg31MD~z@uTnX8U8GIKGwG zqk$3XLKlTH>M71fEGr7q0-1>^>vW%8Y5U~Pt@qNwcH7{VDaIkbf%vGT6~Y!YFUpy6 zW=I)IsbSRuCS{{PJydp5Muwf9`2&;stj&CaNbk8wr{VNxYZCR(@ky)H)fU&m@LkLb zpOlTWf3`R2op?WF8s9+ZZ8M*l1f6tLsz;`ZzU|$wAoXk4e%$ev;OC5vBox=ec2znv zL@6yVh{{thg{Hu3lvX_PuRhmDF%>>}}Y6dME0A1}*b*LW+@s+pUu4 zf`%V8KP>^u+QO8ap18*alP{kkx~Xb*AUY4MQhyptP$EuH4LH5%-WK47!n48pjvmN6 z0r{+Q2O`Z;n;Z7)rbH}yD8|3CLmeGJnL-?i8(~=l-1ghnel_>uKOo*$r$`*C;6%|K8+K{&Y+!`bj@)KWolMxQhXL8D(jSmvj$)6bni)C;K7I4ULZS400wdt{CPt+MkS#a&NJ75TlB4V)>pcJjtP!QSoa0As^ zkbpHm6B3oT-)N<>7QIW20&+Q&%KqA8MqZQz{y-@Ve_>HfL4;M98~L-mutiaZb?{$ zXyCik-F+P@($Fn0h0gQY@yX(8lP#c(151GiUtSqO!qM!w4_@r?Bg{uQ&MDrr(jL0Z zs}b7O3#KtUuC)bxuzhI?Ng~_jclXk28y@1J(+Y}q;;hYw2it~lI<~6pwX}f{3$j87 z#kGmWaxRp5c6fr715|5Egm-cg#l>mqi^iD*OpTzAEkeU~(MCUgvi;OYAW zip+G5xPSYqh3eBdNN^(yJ|CeD1hW12K;Y+*lD0r4RP!h7$@FZx3f7Gi-1*OE8*rrp z)bfY@Zxl>7Cg_r`i}nuA6Xd9NgXpMqLA2-gDrRbVS4Vsm8E%>boj8d@MH_9pOcnmf z(5oOW-w`W}^E5}+qr&qKjSQ7y=Ux9!7%;k2o}gr|SiZ~M{<`eo%BsmcO`zcl&$@%!^qU)dT%9E~vqt24iuawU>da`rnu2u1Z|Rthbji0I zJ~WDa3Yke!P72*I4&)HhmQncy^)XL?n#?prF~5Cs$KKYdGLX8ne_0UsU2kpB$+z?y zS0N~2;_dvbtg_*l1M&1&W|6!mIm{&K?Zk#iwt!l3Uh*ktC;-L!l@1gQao6pk1iv2} z$RkQr~jHfIsAw5o%$&pApl;BNX61(Ux6&uzh9I zZ?h`%G1x?rn%AB23Rq?Rwq$B#Z^unoxE@o@<~=EuU09KS4_F~$ z;4?EAFRJ-(CJhihG)ML<>!)MTkL>9R`7h_CbM33E*rv-8 zBkkLTkpk-X%(6?2;1?FtVK+l_Ky$G1_x$?);ql4$MYMBE%0r@r#$qOxtMr^DyputX zv*y+a5elQZ80z4WDC4ysAG05nNQo{r)SsvEyh)nQa&r#!p2c{UHOnPt8ZCYhVbFdh zqQ2$La{GX0!S#qN5{U74`A`o9s975nw&mpiKG9cR`_C}B=aQ>jQxYh_r-+s>JjOp* z&TWxOT%^G|Zc(JxXa?G0z>BG<=0?^*^}{QF>QqrT*t$ZM{qg8wmSy$@Q@B)9T)ela zb|dW(Qmx|kEUz$niZwB*=+p*Gpy@(sof_>J>1vkLPl=ruE*(76_@zN;I5D46ngrl_ zipkqpF#3lwj#uS>V<)9MI4&}2y|)8r&+5)nm@fCvG@l9Yo}yku7QGI`V%L0?ow~*W zfBAjGZL*_+f3UfXvsNFg8hS@DGz+G0#iOF@RyTrRZ;DV>2tD=Dl3XKuEUjR_8yHuh zdZ6GvHq8f4>+S`MVbw#E@0cQ+;qK6wbVKIf9t-E3m|NT)FZn&|1~lfo8etkdpRch9DOEh zsk?_qQzW=MQHr50Jc!7^0Cy=wDqSyB5Y6hy$4BC37yRU_4Dbl4h6n*1al*RfTG%Gz z4tsbLPf15h-U;;4`e+}cj?B6*KR51ICtxc!$~w_ac=fxbgrgCAydm6PzC$CzTrQf3CP7S3nv_cmjleP0PAc`HIGTV z?tc*Ax^$n=WJ0k%y7N**bn)SM^-5FtQSg%}y2ws2;aAI_;JZptNes#Qc}*rynG2II z$5UhnbOc!r6wu2y3of$}Tq~ZqKiTu_u%*r{7U{o-u&TiOc$!NkKln{?by3xQpRUF- zqB_;BZKa)YTr|936f7%taPC42V*5p?lu-fT^_Lp-^boim2wQzYNWdYNLAL~8VDys4 zuUp;?@XHwJo?Zv;M z!|1N8Izs%RRogxva&VRz2KFMCdz4e7YTc$?$;u#U9AI3dGoQYeqYOarh)HK;klr|| zK@WrfshP9BNxQeBa=+dYRh+O;U0%gRyskMF&8YWbw_~lL{d>Ia?s2Xl*lO?xv|%hT zw0o+RGTi%5YMTB@Hyv9JY;G*rOHP-Sl({YT`C@${e+r{nqE%q9paGn|GA{M&$~MDN zys8Yz&QN!$MER@p)z|6gu9}~apkf11yCv!oV9tV;$kQy#j?a^W@m9=;svp@+Xa5KR zVth}VxAe%-okf5!%$@(;)Pel+s#D2Ymu%*IiX)uN&9(Hwcv_6_*def`roMTq{Vw>bRj z5<9FdhEUGQ!2?sH@G=zltL8525y-Q%D_>9P#q0vD11DLb<`wow8hEXg6l_lNk2~z0 zhslbu^x#=mO^qPp;LBz0B>jQ?YF1Qt4kYQ*=i}e`!3&rB{*ax2Ef=M+sUl=lG|beE z*F#61wYp~D@E0ExBlwPPEt*T*eF6iWY(Gi@)E`BOV&0sUwHfZ^i|xJKv1RSQ%li_K zW;rKGT?7DkH$!BfCxAlux;L)=BrBl{ImIR7Ij7NS7ugK6^~6LY1&g<{Ia*thgWoIN z|7ba>$V;r+vrXlsBufD&GQSM|AkLnReqrfQ%et@?@T~8XXU^q6AYkh38{$Y=WPcSR z%|x5_p9{r~CqixzK8+bAo!?r6Qh9F?{RMLCLC1#Zbs76R@{hN38*N;==l(o+RZLtF zwdxv3OZ8MLm2r8QQBI>zEDqf#pEE58D|0;v%u;T9^sD+P24V ziNb;F5vwX7@q5)QC>{Z4ZRdhoX>MHp_^|*&KzWJX57(fDDU3gaB`k@<)O@M$_4`{~ z?ygTX_4{fk*{|q>r~)UjjC@)Ls=bY%b=E72%@vl5AE~!$Q)`Gw;7Giqzh{Ug^t+rC zt&nPSFliejMM^wY*iP0{uD=VqA=@sn4qo`cy_C&B#~gd%vzQ= z9koSDW)?>nW~Bc|Pve2>P~}=N5A5cUVWNdc=U!%T3Z=Bm(>~}s_`6hb+Wm~*DiujS z&Zo|}*AV4wEp`E|wKMX5PUpz!#XIdzEi6UVu+NYCR@flkNEQBWha~$8<>)^SOS&Cw zP=w7Of{^Q9@!G=PZ&T;2*4q!Gys~Nx_=%o8DAr%{?s_i|R{tTF%Y=gK*%JONMT6(U zjpYnx0NmgeK!46sV(DrnbK(1>`@wsRr!l$RuRQfx&hzZHwDqg&D)l}02TWc<@YMJx zDpuFwq3iamE+8>GlMB|;lY79Pxgtc~^In`gTNJi-MKp(_CHyC_2zUmTA)J<9k52E< zy&<0MhJB%*R@H@#JRMAo`+e+y-GcS!fHLFUR(sYSTc<+5cx?EwFaJ4|uJZqRnGGH= zTFUy>TFa`Ss+`G~?2Li*6_$sK-5b}sVVB?B3Lp}U4gjSH1|2&-$D1{iW`(mZj?rx4+MhO zqFugK`wVZJJD;+c#^3V*skM?d1n8MWQ~za1^+t5nR@U&z0L9)p`xxkda;I-b*ED%z zonZQRE!^`twP_&!WR;Q_^I?&!_tYq==q0H>!?W^YVHlO@o?7F|{uCdX*F z{`?+8eQTwLJ?3?xQ0jMYzsJqS{P&o?2-a+)m)BKIMQ{71kp;w>Mjb=>BN@kD+A`>ge;@k>{< zulnG4;nCc>)X^ava)78&%h^wPx)*#$D6AFm^Z0rR05rB9A(+P>z zccxYn*u95vzY!<&yvS_gIS;>y<>*4%IKB8<$sl6bN3Lyv5xjLGrgN1J1MNvf!T?<^ z>yEE7N@-4$&KdieahFWe{Ou#2pF!1ST?)i5bLGkwXDlq#HD552+qP72xkgq1L_9VL zpLaSnn?FK*Ah@DcmOSQRqC)>Z$tcad3nAT?QJFx#W`3%_!?#G49ko-ocWKI~!$rFR zfU{7`)@3GrEyhe=yE0U+OF?-b_Fc z-rIHWQ}mC-8>nadqW^X&UV4)JXu+bEfw0eWiu=mnY1TuVJf{q%7piYbANaJB!o4)p z@lH;O5wVz<)dAza2Fj7i7c>?hLHmz&Y8z<+iV^6?0;P?d_5ZV52ylhJ|LcQy|hnM_p8tY%N`;X;Kize||wR8c?P zju`1!45lV8H~Gi1I3QwV%FRYOH7aGV1THzxX?*+-<)KJn(4NiUP96kdii=Ogt}_6= zg|}UP&+p~vV%{=sgMO2L35P2CR5~65Oz^J@MZj6iST((e!(25cF{9e>Cc~UTyVdFx zU@lr0;^$_dl3&8C3yA=FFC{>BoW#n)jNxo%A7AhmDWZWX-QibZeotL&q+v@ z=HAaFCIFtzHu69!2|ruVUj>%Er)j_b_|S7kPHq0tDj`qWzQbMDk8S$1)$!jbZ&k)s zixz!x!}G@MRwWSasb$?i7K|^8SWpv4TvTj89{6(Zl5t~Dgf%z_o~oh8<~V6>j5u7q z&8QTsD1T~3RcMsHfeR;8ThC*TIF=Usw`*n18?@hQX#IRssu{A+sx}#^@?7b7(u_CU z{^I>#fSQSALS(NTPY+7i;L)51ZweyV;C%45UM)c z86V#Td>eZ968)PigpuBHeSiebL;w73(il@c0EX5O*zPWQ@ue#%XzhZ=)HR7x}H06oe&DSN#wX^&a%1U z>XGhC=w9p9r|UlvP|1PuJiS!qmZMR#oO_Ln>fUHL8bxmaSc-26laUYLlCr$}mt99M zQ6|Q6_*&zuiZz7gU_V7AG5sWag#cAo>O)IW&O>*D&ll$YWH9g7^hg)>os#Pr<|A|Q zq$A?&TRCwdTA7#JTtdjqClF&vqV)#}jp7!1h+_XUEl~<*+%jggfkgv1w|KJLbd@F8 z_p+``U6}YfoJ^rZwtnZPkckFt%4aOYo%?N&hAwRCTMe!Ax1Vnrmy95=Z!j~Mnu7Xt z57<|iP6(%m$CT!*AvGM8$GL$@JH0#PG&ymIkiF_XM9l_sTxt-FwGgs#gOTVpDJ z*W<$GoB}96>;ZZ5a05vn(caj^@MKTM1s?ae7*1s0Y$CJ;!Ut^vmDWvK~-K4Eh6Hl};%wc;E|uYmcoR9!HctaQ&d| zXbjtqQhGcWR%eih*WVyYKO50Ee&`e+LbJ<^Bg6cNT6kScC_rutU(#hA~RWU86^jLS3020BRGZQC29YloRAZ zF*9OV>8e7JRweD!o#0f-Aq@HUZ`F5_PJN8UR}^;3zh;r>m`cY^oie`?D5VJdwy#GP zyLQcNm%eNSd~FQ0pByq3v?f7zTb`1tOdi=KTBNZgJjg2$XWBEchWllm}z zSFj_9Zxc>?Pjm2Nk}DdG(CQ}pujM6&fxGL3hMDTFwT`f8NV`P>Zhtf%nY@G()gId; zF}M9a8BOum1yEssMziUZr#0J9+NRX{1Tn<$@`iX4o18T@YWWw*tXvGWqej_dg4b}7 z8Rj9AS;ucdhyLUhCDGUb zo^@)-WV=vPik^z_d&}-YWm$*kD)~kkpGOebJAZ(yn&Nv8lm5O@Qy0%#4}#GExN%l?U=D!7H|s z^5_-ycnCp7j0A}qfTFZZT}ZqY?CE#*gHw)yq={7+b%*1wtekEjfi(h#n>e8sKHv;R z<66@b-G%Zz(*BP|`%Y=~CfA8m#=a~cdVXOsUO@D4djh+aN)M58*+={uWxAJu?`I5S z>{skpgoC=**DC>G2eJ@T?8#XT1fs^^(&!5v#Xs~-5yN_G!R_27gSOLlb~PqfsB~nZ z4{(?aq_PK5bVe8t#v=Ja&sXIZL3zlg2)dX&@lHyUiB1S)S){8FjL%f`#s*yCbdGJMMPntqZ z!+bJ82fyybS_CAU&t*}hVBm7YQn_w2Q*qMZ=yyd(zwr}}vxlk1tH*91XQK3FOasz! z(13~*RYalcF(3M08f2~}%6O{|;p`-ocRxk%*@+LnWVqwgmp<`AKTDFx{ql6=nX{j)e!w}TL=a2xzJ3KZhGExJe3{q?quNNG5_%>)(u|s>iczDa zqt!!NhAaG-K6TgQ>Y&qmF$oQ1C6(hKV!aA%81fi+>q)2EhJ<~@_tKvYt(3AWI$IAiwdo;q)W?btd8AuuxK^B~Gl45tO7 zgdq158i@Vn!_KH`+}NfZ-<9*zMAXlnM`mqWMyTWbUsy{OqL)6B%k3bQU%ho)1NwQf z+4wWY9+$U8gcz50w@tqKa76q8m7ucVeLcHvD;K%Woui4`;Ty(Pk`Xttr{*QXYkYv& z!flSQd&$z(c-v~YooZaZHpmITE<}g0?vVgmtit_YP&>9g#uE|f&UsELuV#LO)Cafm ze?3S;4|w#QxhGa-Ho9ZQ_$voL-09nt<|xatDY=6t#kNI(6OPU4*;!A_+lDXND)M=;!nji4Xyvr zuG38Iq0J`Jin=@-UQ`Xx0@V#lR(Vrcb5-6V0&MtC7FGP8EF1dNH@**{$$fDUXE*g5 zo_p)~_y2Wwmy`cWr3EDlmB2rK;e63n;vSE4DT;4MG@8SOR)=^1LI?{@R$ z@)^|*_W0zI6N@qb{{-87nxr2Q1$4_KluzTAPn_>zX?6DYB$L|cdt`;{nI}zm4GqD6y%uiI1xUYnbr{&m%m}BeJqOHp{9YS=%;bq7VYbl%HD^=a z@6CW}${a%0#MNYeTO07*vSVB7zczTz6p6u=Pt3ofgLQO^$bnhL3spNH3vopG&?e1~ zTTaoc8qX}(MMN1|>0p-@(y3Q0rF!+2kxflgy_4^RD7(v!;{=uJ1N}NLNuD#6Vz!ne zs~c=4l+A)W7=H6Nsufh_%touJLrkSH{)Q2M-O+!J?%o6Hr-W@-M6~uw zIdRe#YHiJIk{yR`p*k-_Ki*uuXLuiXdq1!Gi;6g%NknZA$Y%5A>Y7Vdz0?n#J<3<( z$%bYk3cZ?WKFnBLX1MC~tE+ZxI+HK9UXl}KrIJXnhS72IMN~M^^XOI44}YW92U(@j zs{2WQZIu#j)+8Ks`@LLvodxcC`yRJ1o|(hTFNJLn3jT0)+q@IKMt<1m{1EJ#$I7DB zP(K1M?!vN$s4rxowb2k4Yy|;FnYnxR?eRufFz0qC`<0IER`OBf@}r70U)i6!<12X6>Ur+yKjZGJyvH1LwCXWmNQ z9_VL$L05ZmGZFe`|{XmXhd$v@l_DR^L6_6o?st$-;!55b;g1k}Q|yE%WyQyvk8;o*#a zUg4^!lZ33RAI88%lcK7y*l#lQz09$1g>6?_)eYtSpW#P?9h+BJP977>&AdV}IX^!I zd6Y+kecdGimF+xN#P;|xFT7u^SSrvYrjJ6->iw-L;1;>Cm3+a`^0!-lT*^TA07Kgk zV%E(!crgf(d5kuF6Nf5>sxS}Ig+HSWtoc8PMK<3EBmz*cTEC4R=%`|T){U~+HD4iE z7mkF#`0^Y`T(&bqN?QoXd!+@#(x*H7nlud>ShvP&N#Q!@XjboH@zq}s_SBxDxIc6j zy8a{IS@v9N2;rZgLwr*8-wf)Za47H*9i+*J?kj{py!qZS-}!&OyA6XV0+GxsyPuF` zeB}?nf=0$n_cbDi0AzO^Y+HEznhUUe? zw>xM{K0dw?^C*G)q9gxiUJB#89wGZV>y{XMB;|#0b`nMtx98y(M##m52+3^lxd8*1 z+}`&%trjVU@*|l;slH}Qi|mE0ltN#V!fm-E`YW8h<>|%;Pa_)YU`Lou>>B{~yl>|3uf{squ$PouOJK`-r{ zQQ02jTOcLSe1bmiJup??ITCq|V^ux6o9YkdkHYWaDn4z>12aeHg)2Fzf<2-o%fbjVTJP%|;xT8nt4j2v;^t1KX+UobaKhDX!&cP$fH)pAwC3XhH_n{jS0}Mi z{Vkbv$$qmojWP)Hy-(;T#iQ)6Ht^_`5!w4jxX=2BJfSQ0@?B9m3LJzz{=Vd!5^HC9 zo>yU}Zvmf=XKrhSl2hR$`{zS@(rDceX-VIBCH+4iun>9MxdC@g%X-#?3NChzD6NGZ z2cv|VTGi4ElGei`1z!&dvZ1^w{iMHCo&x+^FOcUKx!O#W?jK+a2_&AM>os+l+rQR4 z*z8t%CnXx=`9}M08_0*olC)U#G7-8=0R@0Jb%x>Y6+WV1A~wcC@5knu?jv;FovssT%F7v8E3JNnp3DhI+|R-6VBx zOM{PFnQ*)FLB*?GRA_&fX!kl?9#qJmG9*5231ljw`K8)#Vjyn7<)@grFMT91s?;;o zQBBk~9pQMWvxsgJ-x%8u!EpOh?Pz27@8>|saoPY5-D5BC2sUcaG~KMf@1Hhr1(_;k zp#NQSlsf5FY9awo7OjqKE(u^DkizJ@bqmak8 zwOB>Qfeqw!OQ2)JfH8s>K(SvgSilrvpgsI(l8E0>@R94xl1sfPgeB<%9M_+P+08-< zyarBgjhTlsu9Q1Oy`1AGZ=~@0Ul6F#`iprH8$thsJdk>7G=QSKxkUw&Os0B|a)~k8 z)J%Fc_eprS={<>^zL*Lx`^{WOgZ{(PCfxw zb&Cr>HajV^6nWA!vp}ICOvzN<@-sXog}kY_FPD{pJSVunIpm4cshu^obJ=Bmf!iOq zye0(5wx?)}^p?}NZAei`QRDJ(xGLK$4B9Vv7zDojlL)F}8!sS;Nmvw9pXGAigQ?HN zDkQ2NALBo>+2AB^ndX^Lh#}4ZPK%q1gxNY7N%B$Wo%fPI$|}1$WK7LTt(V@omXWYW zPt7`3C$jPgxH24x-Y9c1j?vgL zpM1|oCvHT!iyDH+Q2(xE4w<=G`NFq@DBXniC+^$_w<$F}{M(U$w4wNj(fPKlcrC4#o@!JQq*db5$0uyyJ)+XwVUL)fR$>Pt4;-&vkWhpCg zP#s8)m7yf8+<4!#Y(Y7rUK!@V^#`BLJX1hb6_b^|`K7)9b1N^79k-EaBFaySK%>qV zNMog+xyDc3V3i18tCSO4Hx*N_-#6J1@UeDZk!(Gp8_viBcJi2;J@NgU*f;H!?;7Jd zV=|BU6$hLH8H+?+VPF76ooKflC9^`sumYBW0JN+LFWY3iYL-Hi{)%{+wh(D>7tCN?iHJzY>T z{6gb&1^f~c)wdm@{*ibW!IK`F>?i+%RZu9CTm>DmEa)DYDO$46aH<&KVtc?2tP zq2YytSCmZlpxg~+28SE1BIxe8@u~M?%VTE0PM^H)iAE_Dd*C*_3dy?go-_q7#zz|D zC7n?3F}}LDvF}SiuW$iLL{Oe2^=U!Az^47eUzckjM5tT>SHvbJ zd5cvZTLIn(H!HKiC<0JVDnXlVoO!uR^Gli&zX|v}`N83b5Lt+~`H4^&N~d=W1#&7D z1$mik?XMnb^uzBe4NXEEaJ3Do`YJ_)97IhaPW?XRGW8QpA&wyth&_xu4asAd>7TlW zMac_m9Z~-c+_%-4kW+`nELal(LWvz;)sYs@-Jk3J>dIq3rAPK0m)XnguFzAV;vgwzzr!xtLOd=x*2cs2DN^3grq zk>5$vK_-5g@Z3}*8ve+H)}aQkoMR@WiTH^e;+A~^6ysZ+W`jQJi8PmH2Pz(`(vf9f zR`M)9xVA8UeU?O9;BTKkMQIdEg5F2AN|m+#iYZ_{@;nmjYKrzTt7>74QVVq2yg4SX zZg-L5Y@?ULfa4H=@VW?Y<_DLXe#E&;-u&=@!hvO*gX)R^4bBtpJyr3Y?(bMdK8k!SRMHZ;8hCt#M#%(|2qRPfd2#ePjVxe4GL~_ zGm3StPHHEdW%Zbx_KWu0f+~W!A}QKx)#E0UGzlU4nui1x7~pLYQ)Q6&HM_xt=Qwd3 z?sj_?SazMOfW1U}VEE-5Hf|J!>Od&LnSwP<1D87*N$bLcx2a=SEamK1mG+8kzchUO zC!~$dpDY+C2gHXwuSOG%_qpG~Vl`Dl%xl15nM2&_FGtsV zDZoldB>n}@V7_a{u!qbWX?*wp0pdU%zlt(#!Onl9QM6N3=evP?Qcvpr9{SZ=(qS05 zqF(rTpoxv1^^-cM5KlLiPF(3}k7A6IdoObbOJ|gnVL-B?^omN>ZfnLJ$_K0A5#ts} z&p7L=;-G^gG~4)j%dq#yoaGxns%XbA0}qi8-hL(BlTf^+k)rJS-WNf!nqnAG4AOYM+A_F9hFqe zxE$e%OJ+xKyl01UZ6|3D2fp#c92`suzQ;GVMyEx((Qve)m}CDK!_h$-&sf8?FQmLXqV2d)}K_jf9gQDo95-H_8OIn|! zDK|`fCN{d$PEqEgb!XN#s3?V<)jb9g*+u)mqL*P5-CNwH4CvA|B~s2WDMfDy&RRx^ zaXb026wfh^I`I>Wlkqbysg`kT!evUhUosD2$=qe(o;2Yj9CI)w_#WTF8l6@Y*!I&E z#egzG|5gmQgBb@rP@=qlK~V;74htBvDZ?5f&8ae+Fo@qpLy`)LLIY4yrZb_UU{tti z0?9<=eE@>6@l&i&^%x%&P zDFZm=kO4?J+YY;k;J#%P7?;mSs^Bc+LMQg+jF;4&^(am_&N%CyTQWO>Crf6*;hdnl zq-9uw@9-@F^eYMmXjc@XR2RLXdX*!1PQpH%-anc!VmM?Ce%}D6tdXb7aJr6Sx9XP^ zC5B-lufgs#4c-PPDSw|V?g$y`$}1g;Q+rA8>;2YB zKkXY(N8-|>s z_RDa-J0{OM+1DlGAn)`9ViwbcD@G7hzvh|jWQyt>Nd+BNhb>Be)|`BC(-fNp@x4eY zRn&yLYQ|zCxL(eljm|FWoPHFgNi@4#V(ZG90D<50>}$A!r&$1Vf(OE78JFgxRKs%= z@O1-`lL3JUAfIc(MI}6XsEzrzUNVCt988wrD+iD8EddP0dIjj`pQnGMG^3~hn3HfW zoCW_TaCo$3JHaz%Gm_>=8Q$7K=Qn!-0DyrVLIV?c+1%jal^D~jybbAjHKMm4v(0t> zjDWbfX^hQF8%4df6BH`yHS38|AQnZv7U!iaHbLq3#&aA+oucx)CCMg@Us4tsH%+dj z9;k4ud=zVVfpNl7V99?}Qjq|CpCep<#6LHV93=R0zC}-ZTf|{&{;>>4VN4rBTnnW-HsqhSp^6V}M1W%yv5qU(oBDfSJ4Eo!2DzP<+-?WjP-3!+C0g>a(!=#?*# z#x=%fk7#s$A2;`i2_UUYC-e^)J|}h2I=J8kz?FpK zaBlc#xojtlJZo^aI#P!BchKD(0C>eECIFtx5*qtd_)X1)jE2?oF+hR<)bwZ#x z7L^z$=m~^pT2e(Py96!g=7xVX;b#dh4Lu_VJGKM0$+s8~j}LgRmlU)vH9tQ*!pYbL z7BI#$3Km=O%=zcwLU&Ll*7Wjd87^?i^rU3=OIj4xEt>t@B9$qMDoHeDTza|ls9)bWX4M9OtR`P2~Vw{zf0kK;-HYkuX zZqsDOETlHUS(v5;P&F&igIGl%S{Rt7&r1_CiV%J@z1WARRK=OvV;44 zivg)rM}Tes3Jm82cN?0vXK=hD@m%|t%v%aC43t>2(B?oH-r{g1srVzrWH%-#*r^T1 z2mrh{AYrTcNKv`sX0&5y7b}WxAvTJFyje`=Ha>FW;0wrYeWn?4jKe#W^A*+hMMr_7 zCA>(1JmaF0`snuvm-R2RX6A7HhJ#1=2C1lWfP$8ZX|?8q29^wmClAH5=${?52sOu= zz~uvFc=L&%lA;9If<;?vYa1pEI>2pbHD`*O5svw#xuDF@H@{zI=;NWu#D=ZyHaAPs zwCpf0t*CbCMtzY}P9F5~1IBqLJ=#V^Ev=c;O(=qsu;t((zU>1N!?m4)R#^=555qgg zngW~w(ym9W@ggoCD8pNdDoKhfiVG?sFqzTa@_`)PaGx)$s5j&UwbHrR-z+)6IO-Mo zcI_%ENy=-gFWo0StQl~Waccr>6K-qGJm=wH&%q;nI|7)g*17pd>?n90&m5drl!Baq zV=f;l!{w(|ONyEVjyM9Jhg-KO@PBcmq&iT!*zoqTXh~_c$mt!osIjbbA$B)Qt`Q)a zfBjX2QbN)a?skQa0!B`XLnDe=GtcRodCtS_Ie3I`25-GcPZ&N4jW`FD%vVQIow*mb*ftkIy{UsNaxz2TQJwE^mSlHn z@{B7~IMx>}1vV0rC^&cDMNvl9`F9kM#}#~(aoNy|V-w2unmGqocJK(_wj8AU+7w*`D+!9X46&o&?Re4^ zAUaN8tylvAeT;JW*$!JgRK-ra6PW^yyfFnUZjqEOOUf*t(4e!|oAI2iq6Fu1 zif6Zc!rry`SW%EO;%Tq!DqfdYf?8Q|%V$GTOOryY%rZ&?+^O@eT^gz_n2-X$S0WbT zFhg*bL~*4jPN8Hdk+LRPfj=%je-3oqnVaV4 za6$^;&IIj2k(=Qn<9M?bYelJopzPSE%vPV)XxDg;&bMkf@jFL=z_-&P-k|uzCvK6= zd=mNt6Uqj`=|qNY0e|A)_KG5Ac$VNSiQ-C6q=8GB*>-U-W=%5Y*c0=|%^)mJ}Ay zw2aif;NOWPZa8QFX(g;ik+24$3vZ&oe7}O1ln?@frY5l{YE(v1<_j48hi;j<*@~5- z(%`)4wply&;az<%9ocnR=S2dz3g;Pj&&W__zy{+k5MYbo!N2KV2Um!G09vv~1dlI( zt^7NssEmVQ4PyXDL+6M!0+~Zz-_jg}QxhGAXU{vs7KM1IC?g`Ts2Wz}G^N5_L8dE_ zpzvmims1os>$1+HHD$<0RN;_ujBjv7#94}OFzzA&k~K430&{R$1-QE$v?~e@$Oj-x z@M#=32`y&}$aX13a(a=HQblPS9dFh} zox67rZgsE#$k+vNi+?*F20)P`Gkq!V zXb!eLc~KdK`Nk-efZ%4B{BE}*rzpG{_VUf?#RNq=6Nz0{b?y_A%SVCW31lz2n+YH| zl?cRRRRrcdzzGt?st2!?cV2g1a^0bIgGA^AD&W1j~rEBJ7!oS}^2N*3W z!T{umb(P?24|9MCYv`K>8$N$rHnC%gD$^7Q7)@yuA|Q*-$C(~KyWfheq835D=tJ8Q zI<%;lQIrB!y)Ww=b0Cs@WEf}Z%~qG6K^`MOIv{)=df;njn(%XQ_cH_H9CH>i_8wd-2Jfd5&>zKKdl|g0Gp~MpPN@1_upyN=u6D0CdT} zwTD?ik#e~M!s~7sx4fWilM?ZuDZ~hcXT9#UB7aTF&H31&UT-l9e42wEnj%51yt$8B&XM5b&~L4o1Kf=c+B5XlONw*=^2?};)Ji|@poz2FzkBe6 z$G(&ZwjeQI80WH&Bj0O9PErcEpcYBtG%9EeG!vhyp>q&PJ~kN#wt|0(cz^(&ajv9Z z3w?gg9Knq@I+y_3B?TLRM&I`C@oyJUSiknSIRIp?m`sacQ}qDC{T5Do+H4DaW|%a zp8(?4&=(fXoAvt|zhl5?O<}OtKT=$y)<=L4w%qR8>a$BJ5&5-Q1Q0ieerwU3<=aIEeLM*;UQ-CDKrPq;G?&!m zx~T*o`}+iCmJiVu1cujcHa4)L(4v;um=^kayRE+kQ(HmZZxyR8As-RJZ?7yn1h|=T z@uFEAAov~p4uH{`LTnamGb;6W1452977=H&Tb}cyR0?>Cl%5?bs*M!|K|KWtiVnmy z`xPVJz?-*9T(k;or)KGh7L^!c~yk zR^$X_V`JXXp}AE!`qi*Xhz>I8IKc0FG`wcqy~WHFPBz$f4G3NU#LEUn|1RVZo*iTX z{bnu9r5&xFUY>lJ%c3YKYEf;h$fjT8?GolihOMk}g31%__WUyq=Lv9k*kBz_yQXUw(Lo_ZY5$y_>=2Ji6W5Qh!afqEV?kB5s+9jNe&3(yh_<9t(mJiSX`xV z_;)Rb8`}cAv)BalJd3J|`l=Ng_0-ZT9KD+6zf6D{Wuv@iuI1ncV#&XYIV^7rlu3hk zG5F871XbM%BdEq!L3xv=QvTsQ0WLto#+tc~gQ7LR;rY?cmEY1)Q!DgoL0z^=i0;Q| zxCZ10vAODCYktG`rSW4w`t>hZ*<8b|OX|-k;8g?q_xbz$eg2(~zuV_86n~%UWc&Rt zf^ugaDD@9$zdc$*%(j)yqO}dF{sL%wO|fHn)Q{GaF|k!TlzXvfv#5B)ulv{6dA1-F z?}k+K6PRi*DI4RT-Ai?wbT~8{m99SJ7-9pCC;laP@Tl~-4wR`@N5zqdTe6j(B3Hds zRY*q#Q=^!q46i~tkJyCc0LiI=ilaTMJpmVi)|YW0jcVI1AUFC|D^)kKT-8lS8LbxO zw)}h4tr-!&D=I1mZ6RYQ6~@X9!yXzO#kOK#?@37QbR_AI;rgy2VjaM=PcgJd-}Oy2 zRbR%XGF7!ub5U#%v(tf`;qT8*-toTB<&k zex3t$Of8N@)hJg)tOA%Xq%NG*hpVU9bKo3Jj_jY1hXU8Wm;syE%(oxye6`Z4- zY~^2VKzAk7gmOW9Lrt_5W*ZqpPEidSMsTx5srpCK5i_m<<3>gEP)ju9vcM9+-dC0YU2*y=c3Mdxe-*O<`1~ z+BFP{tnso{sruN^mg!)O^OWl=1Fj@o6A;3i>le7*D5`qqGcm0zW7KfV*_KCkZdR)P zjdU=^Sa`0glrmnn!QisCVCBV*q$o-G@OiEPtS^^c^(GR_cgfOiAVaS1m8L?>aM$8qf2 zB;KjGnTODRwza@WoJLu^qo}qr)e>$5(HqjqR{k{sw2U(+^~n}s5!uMY>M1l(&o49# zOB~VvWJN_qwUMcoaLcC==bV3S0I`G{2SrOowe*lA+`3_at5i)()xTh>MKgFpv|4Id z4L1OEf+9&Zs-?`sR%~nCFlg2sr^cn~A25}YKO){Jk>V{Jv>L7s=%Tqm$tK>V9*Sm@ zd((yy;@Zr|f5cQu{uA>r7p!OXGqb__*8XQ$i-+i0wk>0_4Bxxi*3_4xR!$bclUgdw79DG}%s2 zi-&`Av8s+gs>13_Sho{Q)0rtV7EbIxRc=&nZQI37B<0|*caY5Djgct97z>Glq#^qe98 z`p4sz+XzmCbTW!M7E|SCvG`2{-Qf5duPfjk0(6;9-wt5@Di_Y)ugd#CMe857FImIIt&k4G-p^z0 zcs<#w&`s{F!Zw~Ptl>l@rf3(u1yQ*|rDPJ>N5$Kn_)3p=Q);K|y(B7Us=VFQ9SJ9J zBXk$%q8fNQl@$1Tnh&Q!Nx2uZnd(hnli2#77SeQ4vl_wNc+1Mh4OQ4n$_Li{jneD6 z3SU!Y3zdCo5sn%3%}2#ULhN!b=$(C~a_yX%>Pc{)sYTAoEF7#i%C6&e{WZMMrGPaD zTT5B)LpV*?=ns8w#~}){!r~=%CBV|zt<@@NYlee0^C zYPh(XyZl$6v*f<33g^SRer=-bkG-V8E?P1aS#bduCMCPTLsj2Id0wSH%!jb~4?;$Vhv=Ch1T7Zr8Ci@7yoku$ee;cQrQZ$8Dp z?6LJzp<D*CT5tet$wYLap<){QK6 zh9;(ZLFG(U-qf=s$X&#dO}w?JR4$$!UW8JTDar}&L2K>@-kftT^J+V!-7PL=Ca`!{ z(ZNY-7+Y1?H;nUbO7V}&t$g$`OUJNqv#Qr9WBGWNl_;AM}z2nQT0Mv zlvGTeV^!ESjHC1pVO60^sv+zzO56lVT0ec~@vu%h72`#U2BK0v_lj?YlBuzxN~ZSK z)WcVe@|=4p9i@N8xnAsy3=l1%^$y1m;vG#vQcTU4!@%O{xJ_JB_KpdJ!+=WHq>dFR zu3+lJRYF>vY?WP0#Z}`_!(jC8_wGdJ7x`Stpo`OPe=(BqG`Yx9SRW7VD?eTMd(=4T zBJQS4{OMNcIaBGjfI?ZPIu=#b^m2woJjsf9!a0}zHR0S3j8pG-rm}eQFy5(3#p3yz zpCF`sNhRlE?=Q-wJA_*oTBNFz7v7Q}VmoK63XiOO34 zJo?C5(YjfxPicDZOF~x3u;O1`Uf4IalibphsY-iRb!v5+cEUMd#1qc-<+;d9C%G>O z3#l)WAK;;Y`@`)Y0^45pgm|kdw8J$i3kL2%Jet7b%$KTnxc3KiJQJx4A??qT#*JX- z8%Dx!*=f@01$7dVGr%T5fuc;$dIOWVXIy{FkJI*lMIu*Qhg=+LZ zqKn87m@cqHI6yDk8xeX!Sjgl#u`icugKjPtboa*8tD!Y5wlJAOLst*(9~ zw=x`e@o{kN2JYq?znT3CoHH?KPoad_hqaWf z^FCl0LOWG3x%UcX#J^*zESeg2gK!*U`2d|>b=M*NzKDb6t(;VCV-$QlYAP8gz><9F~JD4AqSyhEQL>eD5Z>SnPD&IqBwwME z*n`j01a3@0OV5}ZY)$HUlzJEjzmaX=*lTa0bDZnlHFqlFNIAzjA(ObQRvG|o3BBM2 zx)GioQqJHVr5m^%D15rtq#Z2XW`SW=N{Och?qNbjO@L^4Z-ZA9-Ub6Aq>-tVmS`INo1mHw#DD0#c#K6-ZB^ z_eC5j=Qt;NnHh_Ui^Lor4k>$hZjDB9miQeekttEg!j z#B*4_E2#6^xGp|ME+V9%smonJls6B1uA5rzo7{8l&sI@Fcn%yhRXUP~%iC;5K>^!E zn}sv^Cpf${O$d;*&ag!sDF?2guE!#?&?t&3gNGYM3*NAWXG=O0uzc)4#Dr+H)(L6v zFzrTATH!7Q(1kxiP#(@OO=J?Ec8&DHP%fmVYMc$}UXkJ>*gzu~fMTS9q+z60m?Uff zv1KNt$sH550KtHg!kRJ1(rq{Gd^Zi+ z?^5j#$N_NE_@1fO*5%J4ZB7OgyPy*=E~-4-jBx&Wghj;k6)WOkIkz5*a;w@QEf_H# zx%afph9|Kt!lMbLAmDBv%>~n@T?io*3Ch8m|A5|(v3S?n1A=5o{Kjws0NQ}sp|2cL z7*2$=Sfo}H7;(lr?I3L#4h>^fg-OC16&3S4aE3b>Zebei3qWZ}>LNP}6x7oy3P5QZ zw|$|aLlBiP=L7mc%3M#p(44G=p_`Vpk5$#1YO@hcMaqfJ+iGeK?T3bYFT-*Mlc97F za7e$0a}nuW5x0Pra&&QB^pA8bGJ@*YUd9C@gNOdnzf{D_2zcERQ?!?MvwlcBElLFr z)XLt8lT(yWyf3ANhC!fO@4HCNb1S5|BE|L>*Ap0VhE-vlYlo;|prCqQg*!<%wJm_G z3@4n)Yij5QFR4{%ahir{a+QjOwXrejgG&~PnyT`&rGL`Rd8l;T7-H-+)N zkdTc$+Uun)n)YZD)e91o+3gB+wDA-e%{cM7;vKt4ujAYaDHRO`02vo$-bK#1%mnrv zcooJWI#-4HWJ@_z#BWJ%dd`U4IK^+YB}oNEAsmI)Hve4f@1&p$*u9kVj6%-Q^y)RJ zsGF9xKLMEgDvSz8lRMOMEy8G1vw#9P5fp$Un?pU@!Ucq!Rrp-*%mcHHw+xF zFop4!IONe@i=@B_3em(cP+78IW+CCwkZx3>L?`25=8E?RE)LY9Oh6C0=tZ`{nG038 z!@@xe(;R7no9r>?lA>sB0ys?DZTYBBb#$*JMs}X*gq%F$J(_Zo%2_&0v^j;@Sl3jd zfcY&lHJg8j29OFkE>7@FU0fo%S)#srckMpLgkjd!mL$gf4`v8c3KcWH`P9mxnpXn+CVWGG2FyBw~CFSoG^gNIGn+} z6A#h2ephVEp^>7r=6Mf_Qqrx}J=!$l5GGmPHxqwrNNq%mHOg`ZV$P(9z6#@Txm$(J zYQd967O(Nl=`)LJF+?fFzQI|VEmZFP4Z=P-(r+MsdM#>Y=bre_m?|?Zu_WLKZepB^ zs`%(AX8>h16=fD0_u`pRuP) zK~rXd*PO{9o~gnyY2<;*;h!io4ztKAT65#hOA^=7jy86x5I(m3-A7I&hUUc&HXZiD z;I^sE)?SudcOu{z4gy|O#U1AeP)IfvW!4#Y$wG zJ*ClfUycCaFMEo;N_xMGJ^jA1tqck1)hZkjeB&teVFs<@6P)IGh$Sqj_h$0124asXqrZ)ztxLALHEBM5lKxd}O!$v)$ppNdLj(d~F!0xqB}f|^rq zzt)NO1q!bfxSO1W+^eJ&Lb|&LRvN+L7ImTu8%M?N1M0&7TvG8z1Vt&xuyl&zN-8!h z)f(r_Chc@Beq*E+{~=RNBQKd+5b%m~+L2(~;+&s~&K8W%@is4EHQ(y-vi5zU4S z+jLC0MRkX%c>$-Kv&CkIb8afy+OfG4Z%@Bjv^ejGrd}#;_;#HU;>#qpPqe#TJg^6r z9l_=+RrmuW?(zFwG&O+a6rvj{^V)0)vbyL8Oa{`~KUJncj z=Y(rh^23605^q<(+h{LMBQ!m#lC5_W2FEh-nXK6ZjNI z*1^$`79N!zFFf2$=NSau8n13Mbu$@2oD&J>((HRgoQk%0Z0^L{XWJH^&U+c3aBVz>G{aiiWTDvoPH)4r9WO5t%+xJ$<^rfw=Y z;897t0r5t>1G_^TXs@@={3y&VM^iyir&E7tNQJ!087v#OR$-5+!^`C6aB3TfiI#3A zuD~6HD7vC=qo_^s+r2(Y$33Q&vk~LP*-z@+3B)_`WU&tnnDp%m<>&l4lSb<3(_oeALq-sJ9qR=GDt63cyP0qIX{jspU)xXeDeLhPt_7 ztPdyjidur|6g6f(6zOIyioNu3E&dv&CJHX#`66yVk%mv#(}s8)PHFvmy>w8N`7DYO zBWa3c1pwk>@4gaJ*Dtbw)f$GEln?@frY1pgT_DAn_$UHRh3I?PMp4`1zu(kE!6iIk zRorrpYgmdOiWkG7mKI&Ty`V;I73Gj%41YTB-B&`Ij$myXhHz@ahos$Eh0aChBb6%V z?eaVHvQ>-Xib};_$JE>b%4@s`GSRR+-xS;7aX10go%EZxD5bR*QKmwDkowjkEdo}m z!t^l&^^Yq1cLPT*hOmPFC;mc~wo(*@rzrm0Oy$KjUDYgE(AXI{Nb zQ6EPUt)s-XV%j>SnGuYR_MB=q49ie2Dg*9SE0lnYk3j$L`c~T#uAOd*|87$w1()y= zK>KYcV)=vdA~>^-TH2G(JWWZXsX<{G1zjgT_U0ciIEi+6yv540ZC9-?CimW$kh%H>+9Nn^5U;#YNFsA9+ogWGk6<66>(#{7|uuv zGcV{(Rt{{HflJl2bx6%81*})6_`88N3|h zu86oX9)~k$xR}%jJ>BlzcS4#1R;|KJP!?5)NV1u*T8aCE5L*f=ul|q>akHt3f>XSF z4Zk4b#&{9j%cUL#Wst?q-hC&eE5OQC*y+d)n}ToYMfM z#e)sR&qUl9&%*^l`87LU-jwTQ(AC_3C8P;p)ha9m-+KXJmxE$6tW+}0zxR-h6;)Kf zs9Qt_8{N-rTniX`oDmx7mj;Hw+pt z1w2JM4wl0TR%?$((3jVfW@n}5vIrT#mQ(6B`GhC&LH^vKaN$w4|g~%RAd^Pt! zB%~D^Mp`S5gw;LQIgK+wV?~krMH^EK{kvKfZ;V%h>oyL4xtjYQ64HtdLp()!8?f*V z|EM&~^DJabJ+(Ep(7&ry@y2*XxDC2o&3$_p^LRh0VbD5J_)p8dzP6^8C0wV9H^$q5 ztCsurAr+0Q@Mn8&AR6C(y3NQ!^lQ+Sw0P)D8tI#0OXdZ!#3`P@rz^6TtgZzo+3E8H5eMS_2r~ z`d*TheL2=o(bN_Ns>EkABQ-F004vwi+QoEF!!&>|Sq_tF$0@dOJWscXc<6Od3=Ki>ta_=e? z(@hQcjTuvI0E4(kC8$4YccMsvdhvm+s#?8{tEyAc7m8_7!?iM41gtxNMWS-3!+?sC zKdDC*DNrjuP%h(jFcUmgwT44+;IC9nH#A%)gJr<#0~p(jF=8@`dJp{%Q&gD()#9_g z7kWD;=*Dwx<6^q4;Tm)17Go+8U;s)h{hH@tFuxW>z45ib%@1n+fCBa6Q>H*2%o1M3 zxj!nVq^O$3G@rnV49@|!8o&Uwe%V(&4vV714^&i+0(Ik)r$C!JUVpB2#WWsI>K4f$H&DQ=oPo&o`+@O%J2-q;fG`Yq)j>Q^vF!z+j%i zoi4MW_C`_t50q3)fd=tODG+i}9k0#YpBYc;7E@@w#7G#^Y5>ER7kEXh56;Yr` zd?E@osN+#htv>hj@uW>LZN9`?FTR`C_FyRNb1Lqecy`D(_$LPzR4igZ0`R;F@@F{Y(9X|tT8?f ztdvrS{wFKy8w0AxlzrbIIPkztLe}36aU`!k6@8(Yw$9+UY6e1DMall>uA{y&pax8WY(s%@8mFo9 zRP>Ev+B$>qrJ8|JeM%{NDb3Rf}fH%PnH6uKA!~QavBAAQAlO!d7>`vb| z22@z5q!9(GPeorSrp+_Rder%vk#-_`qNk#x&h2;mhkS5NC5jq;^80nZF`)9I>LII- zVTdD4fa5@%CVj{=IfsB2S^Vuz0B2L3qp<`Kusg33uail>)wyROK4;(?k0 z_8j4GK9&DUfmW+?v`JH1DUy^@F5vhZ;6WkZlT_`Ry4v&1GJuc7i~&bea`Kb7r#&Dt z?!r{Wme9F@KS})v-Q~pRB+TQaxLQvOTGY?{0Hnzev?6N$+m zeQk#f@g+T-tf~EQF6>ly*i4)SeE5+#V!)CTGkXp9rr%IaT3K;(%x&3bL-E2?#Fo%} z;HO%;PCfLGi`S7$5`JW>H%>%Xml!80b9gf%5t0S~4io2*<~&pQY+rIy22F!Y#2?>L z)cKmaS5#FTA+6YS?3b127$EOWzsdds=Q#DoC|s#4*nrAJm_I7v`S^}sf3&EH_7l9!d#}Zx-(uT(r;2IbY@avkz_}OgQekz1%A|f1FHx>qwfsE^ za}C?-ePz*JgEEn*3W^Hzp3S12Y8~FV{F-JzC2G$bRMexd`BJ!O?*FK!?j!`tBeBx? zjBvnp|GuE8Qu;$S7@nm2T(;oS)|A_oO7=o}Ca9h_#E|-pfgiSeeon)Ygjt6Q624PW zx3%Gds8m=+sa0hRlo|b;xe!L-o35pAQaH@_m0k$U#_;^TyccU~IufU^^j7OP3hpxC z<2B}f`q%StUrS2RKc$ay!HnaT8ZmRF8^!kgDYE-HDCiZc4eerlvtzEiygv@(hUTjr;dE zDR(mcT|WKn{pxl`DfEmC!J}QN)n16CB@I)QOZ`$k|6}i36dc8IAVz=*Cj9^Bo+bH> z4Ftf+^lffuwr6^;%eJbdk}+UHFSc4}52^AixglYT_<@ACc5v;IK0%obf1vN(`^Rbe zeII5<$rq%|Z8*~G4i5{tJZV82bJ*T|@VZHNi=NgtoJ~V1Aas!KL{8oI#5usG-DSWw z<#rVn6M&YU@!b44YOhxecihy5(+fb2;}4f}8Ku40#-Wx@QN_R2CB6yiH$rcyjvl`t5VT5^^5>0tU;h%tR9RPgr4lAm4l5(=rW$KQNirAxU z2LzX0May$KAfGe9aW1Lfj&dK@T{6%e39!&*nPmi6@IM>*(x&t`jhdw;L0x^3 zk&{lw_}hTUTuyb%b0HwBE;C56oN5xlA_F|-c8!XuOE#S-wI%?KL*tqG$t4Ge=V~?< zKU04L;mSVh+oZDD)JzWS{pmD7HvGPYE_BdPR#e=yOBEF1U^$nMBK`veP-{`3L`wTQl#N`ep*m=zvi0et9=7L;itSWyP8 z^@_T_-3Q4Yk<8`PW|dQUeXiuxlnMdh99ZHt1HdD81~8^v88D(8$n3dgsccsZOTafo zqm5u0>vwlzK*q!<3P$h=qc`rvHW}9KTYut0?^@_~XHN>^CeH0LhE01QVT0&2d`!Zt zYi^!8wsA`?ofjzsIm#4sVt6U5=ci`((~Od`g3?+-L5XQXMNK3qT;Xv*(K$uY6%tgG zomhLLpp2%VaB;}wRJqEjv^>{xYC?qo(7wqAJRn(O;W-yFAfVh9Aa{&O5?>!>pzynM zmJ#2=jX$-uZ(#fHKZdM#2UV z<7YHH9FuUy?BysUlfx+oDYKJ=Lq#>%Montgk^(EJMd0_epiognAYeo-sgWcFcB=~? z@Yq@jwRT`YlW4n@+R@6+(s!3`U1rz>M zG=)IhAdOj3RuoD~L$-8l4xQmNz_;HtWtV4_Q;ll~a%uy%DXtSDMh>Y^}_o+&o|nVhZ4ky*y zaw;1VcIO5V5qqlNJuzTnK~X*@Q#_0r1~etW`04=7kDZHwQ&RQ5X5d%^*yQHs$M>&g z6GpqSHD&gs^h6{;?DyH7@XN`}0jw~an&%{Fz}LEi?skeIm1Rf+I88jQ$q1?up@t7j zINiz2P=>OwU($n=*-XO8Z5edS8W=^P^{|Rs`jOixT2?KsrFV)VNj2u0Vv9egvx<7% zET%&_)dn7OocZc{P7N5~drSd_a}7bNCpS7FwsC#Rl_*#iF;XoAo}^aP!lQDE zYD_h1ZINnk?4h=Ds>a?<)BNT@Q63I@ zuP6$BGC%U)EBSWel@!jTc9+-fNl_be z7s_tBT=>al|*2z!1#O^1ICx#I6)| zE2)g4$ekd|I9=d#VU{49f;IeYn{?3ep47(y6vj+<`SskD@EOYVT%xGq$tWtfriC3; z{i8wp^(6-~tDts?QPS?BDNz703|>%JrLbW$k}{go6BMuZUP+zFsUu9wiJZC@j})*0 zn9Mbl)=JnSBIO+8vUo}OmFn$vjMW|y!GRT&Cb*78I6vmMnVr9iv5tOxTb+{>chITd zH}0ejvneH0AYa0EKkT5>2giI8K$bAkoF$xD&pioWqRa@>iZYuyF(WBZ;qodisHG1C zMUWuqU#;E63KT_=v=z{msXK3v`Z%Wwn^R#rlT#1J!vQvER@xQk!1S0g43MEro2==!3)3-_aWfT0*eFVkW@j-KlvR|IlWOnQ5r&gagrMQKbGBErkC4-ksrbA23%8 zc>og$`xzdQ@a>e@&WV}RWO6BdP*6@$k)WKS0KgwWvUTd-SM1f!shjaA0)~`J04?K6 zc<~e4!s{5k>k9E6k>uMQ3iI>wEk!@xk+Pz~7Fvdi64suOvt7sDC)2$S`qKceBup>h z4gAoqgzu)zc1}F5C;?`Avts16pr|-P^kBNXUpiYqrL zGb_$hT2ZvPev0u-SyI71`n``ruboqi@z?;2@YaB00}oc~?&cS5yAqCuGp8lW^9$rF z4mGF#Srtn9g-2Q-cbkWy25J&#KGe#-3R#Pyx38;auF2OwJjbm4uahXZ(zgzu-!W=_o9l~b~PT2eTMkw&rxtfr{SIkgmzEx=*i0c7qTmDYc9y^g?YU(=_zkfV%R-JQ`CfG2=(X9isD=I4TRsYAL2!>@fxYRIdwZ8 z5#Yi4y_3T?;EbZEp#=fE^E2w*y>PO{H^RfFT|hFs)1g1Ro+l-IH)RfA7=qwoA&PE| zpIK0E zpV9gZa0?DMiTH68BZv|9=O>OSs<5IHU!@sYQRBw!J_-F!0Ih^q>v=wV-%T0OHiso8 z1pX3u+u>Ua>&=211~uTG?SRKJ!w*2T&nUVYZ@8|XQ#U&)-UuZIWbi%*1hpwCRMaS8 zgp}f!2)Evq;v-jhFjvP_%0Y}l2Bp}a4*gyL<+#6|pJngblriQ9wKPqF&)O)Z#iX2~ z~MGb>Uv+4QJ?*C-!^q89?y*@gXEyMz9~V ztgdq5Bx}6ix^_-21jHh$0_V;Gg34aWu-inVq-ZeQT{XizvDZD8l*XwyUd)KE7!`geljiSUL zfE=IxMac_)Zk&c2KTYVWDyn8qjRLZPC>-Uk0VWfSHeRh`K)5?=27j=Jb`QCWC%4L` z=R;o(U~WC_1g~W8`jp{AFdD#FKOIE@gP`YV&=_b9g=icmJ>r5Tg@1+1+BQu^Nma|K z>wpvyhad>20pt12={C_|np$!1{Dg_UeRi*7l#n6-@QgbjdQe9rXuFJS68-{ZY>5hs z)J#ie@bPDopc;P5Jj;py#FK2gN+qg(PK^UnMob_tCvoLBUc+r7+tl6$XLqIC2k_4> zIolj6!ek0pLLbks96^zZ;JNHwpE7}vQB-7KON3kA?U=vL6QueM-8PNoYoNevK!$1`(t0*uwlYT@~^HVja zt^;xe@ml>3CO8NCM9ziZ3TGao;o=|evru|{AoL$c@M`w1Oc^IAAVGO1(Q29vk2TRu z;e@90r*ckR2jl?aCBS6oHP|P50uI6^dJ@64Mm8u9g#P0QUX^fd%7BG2FYa?6Tusxr zt#xX>C_RFyrl9KQ)Homs;_ZO(1m|F%=m|J5b7EsFhS2hhXOii51gir+KpEPWXar1R z?FUIwkW-YICOO1cTTxNfbE*qS7V&mKh<9F7xSNw31XM#i6j=UZGHtFU)9na85x~ln zab7R?{}!y8>~oj-{A`P_s;VccZ{$=PkPPDR1jVOh=QV(X4Y)JOE#8(AvE|=Orp>8j zx*5SIBwU>`>)I6kV7sB%=C4Nqzk|2h{(1eJ8U-Xle4u`BO|X>Q#OdVbx257HnttXp z$#iFek4U&KWwvgdcZV`zDK*6Wp7>ft>N`0VN{A0oZfk;1BsVBD(N85)*q-4168-{Z zHsyvtRtQnrf#Gw7qMD@Y=hP@5A_5c-P!6WT1l`4xo0A*&7V9qhsbpG=;4|y_l`_0D zp7OJP2YVCC0`RJ6`>N*DFd*7pM?riBSU=Z9)j=Cs!A3XFKO zgQ%*gia9k5NK=X8*$Fzp3BH$X35n0H{Ktg4gd!%22#cO0Al~H^Cm_8^q7%l8-{B`i&>~5ZP?1 zs4J^@U1c!IUz3z)-8v-yb_P$tR^NUq5>@kQD&QFIfhmIYYg)Bdxu-wIlKM48C9GR7 z(#>ggD}z7I?Nm{Zg`#RcO_uce^u5*9JQz#!I>(Hn@TIRm*!2}?etTLiXYji9;?d+* zH=mZ$)MI2Tuj+&Q1mTunI7>W5*!@_Yf(=PMK!Q>Rea8p3UHo#UqDSCAmS(e7Z{CkCLsBrmE}{ zfK>Cc^gaH1zv;d7-R~WB2bsyKPo~uz+Jmih8vQ!St!_R|)Ayrf+enI!cQv5Y%r7(5 zlN3Lys7y#|Ifp9okSj&iNp6+%X$8gw-x0pYK^oS=(j>V99s3{ z1^^2Hh)R$($rky{diw-8#RZ?dG_*L&pMO$}dA-K-Y1QkuPAko3p?Y$o@~AQEKvpGN zoD^&A6R_XVlN>pYzyItdFj=*ZbEq1RFC;fG;jaS;b;;(EBEY+vl{SJJ@E`H(wl5rV zrA!V0=)~%@($$k2BNC>lQ#9(64eI(@L(fUivu#@;x?fimxTHGNN~`F^YQ&>H-zw+R zuaJ$qnrc?s?lIvUJ8f$w@#D{!^Cop1Dr9o-oO?VTU*MYwe=SJ(0@;ELTpU@LB`4qlDwlD*Wii#SbeeopqvJO8lD9)-C(yFUa z72;8!Z%{X%25hTGwjcvn@U_8;8b!5T_v4p%0}?!)R$U4wBldJW>hsMb)`9dX1FDfN zbYT^IZ4kss!|4pH=h%sVKv7u5+o#iN5RKvac+}@xm{2P~hK8sT*@78X@wMTKP7_VA z?Zm$!C>S5NsSxY;>4I3BZ(;VX0vV)?T4W0r_4x!GfC3)DYtQ=^vc`F)$(d|O5T z8e}GXY5d|D)*u^XO4Nk}oSEaRec4I6M-1Vr5<&Igukqe?G-066@ zu_v(z5_rP5zUd!IPgYZrY6$UyKws7 zyACDe=kS>UkH;hCn-4|IH}4k`zFm*Q0f%HzHQ?N;(bw4GJO*U4;aVPS_;_F(ln4A zr-z%%;OtQFV`#nj`16Cs+WmOQ9N&^q1hI(d7VzzI0^dkb7o+c34B=ZvHp1uP2WkAS zk*(a+l#B2sD_x#rN5A1G*vsN|YAasaU8V8Dl695>o&lBu?b-1bJxa@hLir}~e;v>- zSe?dv%ZEZqF2DwU#kZ#t)V1jQc}WNvT@2sL$8TB1?*iSnnwtA8*fEOwCG|nH!>Xt# z@XbY&-v#SvTs8p&0kIT#ofcF%gJ<9<{-`#wowyy}Lb|DDgKo|*wC##-?X8Ns9Q`y^ z=#P8F1E`JgwRS<_w)pMX+S@Fca}O(Z#T!^@j&hb0e{X4yPri^>u45x@ND^nvYh%U> zVK@v0US_yAX7Ez{)mHprEuOW3QoO^0xn&EiZJDCVtSM7en(f8*^u&{bol~ ztCxY=H*_b_>nMIfLM+9vyDKRkDZuFJ6I88IfS9|y4h+UW= zPUL;>gRyePt)&31&p28NEbWy95IAFxYAmLV6!@*(EI=$8;SLHawzOH)jIrU8)Pr~8;Fqew^F6y^L>p^QJfIX zg1$0zJCPJuw)RpHE@XYfLzn8(=1uxF#qV3YfpcU=nJ{**2VWZvec$(1QoUEytYlQh z*A(CrC4-|tdnO_>m%>d3*JvDnFJG*PFSFZA3A{U$+)8xwpJ6$TcvPLH%7h@-(2{&OU5y}`93-{C^j7Ckb6+1Hs}Vc-4GMzIG-}6%i%lG z-&@XjmeM3@o@1ZTt;;3EC5a!??Zvol`3jWT&ue7C)*iE9<+2|peO^nMI1P?tGD$;G z{2I+WQxwSbB590!H=n!jJ%WYH6X3Jm$@JlQE3;VhIBHGtaMhwr88=I00s@1%`_E9I zjU#fnM!_o6OMBH7LP1gdI}?6!zz`pzo8h-t6iF;nu;p8kZmSDKwkF!}tMsr2e|I1luAfhPwOd}xDv7h3NidyJB3DE0*a~~zA32PH8N`Dld6IJ@VO_1eibb6>Gz%p7z zx#9YV6cd1yfSVw8D-6a!Qa#wi<~D_|`Q`|Izz`py8#xqZx3X=zu$GnqMN_7m%h8$E z#!xHCr#7?WdTvMmz;Xt&bW_AX&dU_i%_}NSh(jE|h;Ciirt8bOBibIqnW1` zRurZj@PdK`M!Z)kq(FNl0Z^NPZ;>(EXcB*p)l|O-w>U(&4BsgH?QuiAqML*a-K?T$ zc8j;Pd^Amp4Z4N7l=l~-w!%jrW$dDF!(WX4vE_8LM4w@`3nSorFz`kzgNTbp(GzJx z^zrj_>+*sM3J}f`ya`*`T6g`UEf?XS25&XQPE@8%p&t$-&{$@C(}yFClmc2I$YW+H z>a#{yP8#<}3J0tUl+udQk|NJHV{t+~%{?iq5j0%fZG(}9OV3>cPk|&LdHsXgSHx`) zN~aW7)|9T6B1+*IzOe;Q4e?&rsH5ThK8#@KW{Vy zhB+}U!uELC2R#jn3IL|5@4cc%0LgJg*7Wx52C$%-grXfr*gxv0eRWR=D!fy9k)V3C zd^1YQDT-eBGfU`cy9$Juz>Rlw!%aVz2GI?tNYUfP4e^>ZfqRyxEe;eWDD68zu{-reSaPG7Bt`u<_}^N%gEbg1YjGNu zW=#!i7GljbN$#m&veJquN*|4Bldr{0lEzg%_5Bi@VU&Pf6e>zuK^aAjW|S~ZV7}s^ z4jd6f0W;dN3kPc42&l*9nFB>3)fQi(8cN|AzEMMO6qO|K9Z5|_QkHL%;aix%NylSa zF(`rW@{OYo@ihr)X9yti6@M6f47%h&ZAE`~Ic<_MvE(Er0l?F3V!DxpF?uX05#ssy zt?1U8WtG9zp~QljlmX7x1{RER;;IOnje|l@v-NRP^op{qnMhGgD^xIsBA{r)H+*-L zf7@h=cb2FnIz+BDo>kPmP`|?>u;(ISHC!5PLH|8{q~gsGHhrXDek)9etlntRTOnlR#79SoQX@69HHrZSSu z3W82}Wx;#|Ayb5%16%hrSzGIZxG_bt)p9Z^zeTtynxnwWUu`!{_FO>sgrK-(kIIzU z4Am5W`x3RN8HJ=Z#p4}eT6jtW*#;V}8EqJlV7SpORXy#3Oq0@zn!yT+)<*RGh!#Tj z=8)lp-(T@sqV&Loo$j(eoY}Q1E1CX!^zRjn!niGaUoM9OJ z!g8*Yl#wuF7U`C?7&OP2ZY@7+N|de+vA?qxOlE5$>z%R{`p{evUiCEVwmS`CJjH-D zglQM-HGg>`wr>Mm$Y8=gJ%hu{YGu$8` z0Rw^?v1xUr>?y!&Md|pD#`H7aH1UR%Z{5_U2|Tq#@B!a!0(W=%WD2m!;BILVy=80`aixd?JMH||zr<>mV44-)zo=Uo@ zdDfCrtSB!iCFgl`2g1#0*&RVJ+%O9O21G=DVOdu8lD3Utgn9PO9E^M>m)54pH)3~W zhu4DYkMfOUF*>@1c+M}Fno;7Lbtr*?LkVXIejxh!<@6-aBq;+ZGjs!4Oo#*+@vShy zPb`=(!kMJl#2&NM(nLYbOwqCi?3!xQWZIykV`D7Wr>WSQPg`@#uU5J z+ToHnw!yHLxwE*rp87Hp#kw`ot4y#%!Y>`&47S^{p$6vag~b9`1% zv`xJfK5BV;MdbwLhigV#DyXm)6(7n~iJ&ylD0cXU&uI?)u(-gtJl*W(l&u(;!OL_@ z9SU8F@De^1{hj69N>VZg^hv6KXXw_1gljh^c!LEK`#lY;=$M@%&rq2l<|qmPow;8? z6eoDIq6(5y?`3(@B;LH?=SQ0v?#^ga@3-)+jY}H+*_gg9zIA(kxL*$Pjjpna0^NK9 z*OS|zo0(oz6!Q}PAo{z(FC;14yH1nTIEo~G7H=5A(aqJVw#!_oxz~an>1kH;D^HQv zG+t7NNZXC(u$pL#6TDMV`64yXZ!M`emMGR$PEg@+H^O0Q9_`oT(gc4L90x`9u-WF@ zcK*)NEgKB3iDN!pLZ%g5{!^Owq7L(9s?!P0`HJMe*S`mKG)Tp5K&@-is=vxM;ZLa5zap*`G-7WVN5qCc9d02UL82>5 zYF3=zXgK2@-#Ec-+u~Qq=mh)(mVhN{s9&QX2 zr3sgPXZZaV>|jrmMltzNIW)KV%JPy9Lomtq>GulcB}K<(71_NxF@33^{BR552=58l zQ54@!E_V5L#13!L&7?Q2C>bkiC@1i(2?78d%BLShe|I^zla!&Gk?=9LQQBy$Sg?aV z&2|(=!y3Aj2?dH`NC!VhQA1IxAgIMt0Fu$>hbwj!wIM05DAkj|3L6JrWny}$S-KZHg>mlEZD)8W;2STkD?R+`6V@m)A@H%Ls52R z=tLji*O4fyB&cM#Vnx6L=AH*A5?`+h~enJ{D;L-=5%JKK(rU;)tT; zCf%%rvpw*NZ8a^}u^4Vf(I!S}!Nmv>MU!^_^{VxX4jJ6fJ=1S2D5EHeXZ@rd>@Z#$ z?uMikU(4X@C;NOmRJ)JTO_T(+O5hjrsZFT&Mt>_wMF~7kh+`Daqj+~)uww>nBZ@pn zY1cHSXi@@RU0p>f!v*u;&7^BXL|mF-kW%r|?8d*nk8ZF{?@#Q)RziIw`enLJd|_y0Ma2mb z&f?u`!49@G`8o2b4LwIq8-c&vAws4oMB9uHUxdnaQgrlOy!8Mntr~b$C?>I4T=;chMV|yjBeuw z+^2RS$*0dpKS@$3=p0_05Y4yF;?=fbxjE7-N3(EdO(Tj9!5s1GS4}}F5cF6Pmec$e zLjTJN3JXcf@zcZgiV_-gHW$9a5+#*Fy4}OKgLE4JhSkTxeHM#E!~x_((a$~2_(8UP z!-D0W*o=)z62*k2o;J|cRTMp-NC;)O`DQT)yp@A;x)v0TF5w)U9WGckQ3$wko1JLn zER|As$A6b@FgUOzfs2pr!b-#m zZc*Mim)xN6fY}M2ihi7=+-n}U*~aPP4Bj^^7-Z(?X=B7IL_*QV%n_QdZi!++O_Nfr zCyA{L?--DvBnir#UIX{+|C7Tts}e{`3<8{-6fezi7vB!iO=Jw8Mf>=vIkAXS$Ooby zB`L1_E4B@TNbs7ocwez#xjFKbgs?zsiZ;MgY}zj(zM-N4LLD|=ANhbLq z2cq(w!!Wx+~w)YCAVA+VIJX2-9?tf#1X zgZ_T|^F9iI;WoX>@@cSLx|I|71-B5XSUes5Vv;gDZ};c#`W7sjV?0S*Hz7o6N0Sdh ziJFqynuk5_cqauotqGV!1+dMUSgya<+(M+{8qqH#sb^O7TNbRCiOYvtz}~bnEC4^D zs7EM(%%)=zHNdv$wowwVxdjMRTqXL&B=yvae#3&5CV8MBjCihB{Dh(&pg>wG9_L#j z5?cxUqFWGwimODwoTMIE(eGHW;v_eE7C!kU3M2Zl&shq5kYn!QTPYG7(ZB2#KF+6? zqQ8-(p32|#E!c@k3IV^bqw5q9q9WL4B#J-ix?A`-pI(YSoDtNu{9WIIoyx@j)Te3! zxB&KfByMmEXR5}P)u|r7`W8(5bwT|@%Kt*L`0EMv&s(tnKL5Uq|1m}VCyw(UNeBGs zxBou>#qakr#y>_-ey0gP(?`}^p+6Um?*u-G-=8d&a+{!C_j3dG&mN)Qo*ys+)uCR+ zbP++xuf#74+x_dB+9oKxer|%vb2<_>+&*BCetn*1-d?(R5=wq0ei>Nk?#>*QEAbvd ze@{}YXWz(Y2Mkb&<-5^%b``6UF42^HGKa@Szmf^7OwcEY_wax>DNr#QH-~@qR4(~6 z)$+&>=I~V|eptYV2&y4}PgL&dsFel`6`8jcjjoz}pY{92_}!~0$UV%jiU})E5YOdy zKUb$VlIueQhKkJFN*CReP>&b;Li{3*cXy}6%~Jf(G&dmOCl!TzlvM`|6SnPY<{v%Qw=+6XAzK^{wFdGq5IrH`l0b+xOfwGX#D2-481Y>$$W8?)!%a zT#@DZXgn7F@ZwZWzn__+4&VbRv0RFuHeqXmzUeL6UEBQZ2c(*prSI|A(*v%^@=P=y z41WOiIM(JAA4`e(d|1PTr34kft|+YOvw5#w|M-9_vV0wlN5gNSYG4(o_-IPhNYwyb|o(_K!_-cMX!hJj?rir75 z33CJm0MLj(uP7chkGIBvE3!OH7mtTO&P?_EzQ?5iKAaLm0oOEPFaa!!c{BaLps2=- z7b*<6BFkO6s1<&gzT@{D;T}(kLE@-t!mv8xv&@DT8Tt>@C_CO-1BRN+1AwVQ{${AD z8dffVP$h@k#8Jxl)%-|sY8dffVRZ=1c4=M@R&2Jc( zp+9f?{CF!4xEk|-+i9F%_m{BBgsYGejmfMfU|!Wp&#`S=A-W$|R50FJ1FpzCvprSC zgV)3=1h7s@^j(6erznJMJKZEqzy8>BKi*mcuFrC<-3lJOCRRRxRZ=22lUYZ=!Tjiq zP1{b>@Q(dea zW{g(P4f)xL-xrh~?^I>LRax%E3r~l?Cf0U|dNw15;d?;A-B!k!h@5Tr(;E}vc&iM! z9`ihsFThVF@S0c~gsYJePb*j+c>ZqpN_*-s~s=CmD8|gnK?CLKMDZ3YO+ke_)>2D7O`rXew4z|9dYC?TX{=D-2lGV!2ZDd&UpX zO;7GQODpLqkZF`=D z>oy1n7{4nSagDbsiD5$A^)z7a_;nBJmhP*D{t2EmEWM&$ym+m929qHSrrrMAddd#j zg(MvE08QVu*9MFw0Xdv!9&uZX>NNAxnNbPC-}&z_Rp7*QDDW@&`x^B9h7r)7pG@F- z$aA`i0hWJ&F@5m?R_KNJ|LdOsBb!r%yOI&}cu7eNN>sD!Y3NCRUPt(GkHH5OEu4Am zP3JsI$A9hC75Vb|_5s=AkU1pDkS~vz)wGao-Yb>|dis=k#hH<+5Nvj-f?}ai0vvmC zeQ!1s?WqK=$IXQ`UPXsRlOZhgVxPlUka!^_gRkU=gwu-B%h}({mL@KVVNKL@Y4<&i z5m4|DO|V~se_xNAg~pSTW@x7mZe0gn*DrXyaE%H>Zf!)&^6=NtT^cb{d$yudG4ohY z=a`p^zMYxT6xPM={pOirygIi>kK=j2-lxNXMJ`>%rZcOkW+kP^qPJMQ%G5zf1%ndwk;!JZ<1XF;`zQ-WIF`Bl_d z^LtLPBuU{Y);fhd>K!6n3l|6%kBmNJi9s@FY=GTR=@lBrN;+iym< zByLcYUquZ$CwanT@(-|*%w2(S`TScXi|ktGXqME39j?Wzw=O7|dq*F?{msnJPtZ4a zW?i3pKUcamk%7ox-H3(^%Y8#$Datdz3M!Nnb|6mL(eu*fQzUSnu;A-QA7YF34iC>E3_0B`%v*wvq7x$6{}NKAPw8E;8e+s1z;ef!;O|^=O){)A@dzm9Fez#`(Qf&J^z}iaT=Lpw*nt#pr5t*Hu09)H`I}o3{|&ntAF|=7ro~wbCUiIvYWIeUdzi#p0_{82|R|_a=_!3YaF> zABO2%njIHx4LueXLT)o!={v;Zc?sZV!kx;$E4JWI+;lXY5s%Fic36s#ytCx!xs3MW zz{1ScL*WU&+J~O)9cXH^u9k*8EOy9xkXMFGuHPK`S-1u<^R(0g=FPT7onoG;8}7ga z|NiF9#r8#v(qJYQR!=y$_e0G%f*Mwi=GB?_9h)a4Rgr&I-@83ToFHdKo}jcBuopV8 z7UqoCt9w{etIZTMWEov!@I!VXxo5~y$(j2jzR-)3LJu^nfO)v-_dd@&Q#Xv8v_8`u z)tIqFz26o~S~;1SQBBb^E2RqiYJ+82jClJAFJR8Ng#zOU&@{Y`Jt!(sQd%r5fgu(x z@dnlbUlbCq`IvA8;Bx+zk>3mOx`Lx=xhC3-czmJ;S$ek43tcDxyvm~P7kM&bQdv%4l`_s?hLnWx!#jd?Kj%C-b_GQyco_2#)~ zKWSoN&%42}=;@-?>1+n4ip-B*xI6(rC0~n|PTBNYtSBh`0VBOd(8Isqw2lx8%3zT* z+rrw9WJow(;SUK{$cO9vs{?2i6}`$P*k|$icU==(TcnQX-$YR}Jw)9?l5?>+!_SZI z95D;aog&fmsWO!nRS*-|2dm_U9EC)4AwOgiRl8p{IIo4<6MS)eo|R*s6VzwSW2Q?9 zR5p}ppVd5$PE%@8GnJ@i;Ua~{Rx}XMeR0rsZ&s8`6@~lSGy?SaZ%NOs){?^Wfksg* zDgA9BC3!(*Q^h;Nl5Q1CSf8YDBwW8wxFL>SIUlA}(UT0|AlOBBSEQVxf|^JYrux;2 za}w6%=YD#oH6f^Dqhgj1&o7v#eNRWMCi zNnszul7bO@{(7h7m}C@`60*qaTpLpFm*#oHOFOxN#004#f8k%g8Gnoff1vv zaDFy09dMG$2uh_zt!a}itWn@L+M#3t)6(yy~MxJlN?Lwm`EKaN^Qk3G0 zHQl_-2^M!V+gSUAGa;Pqi!g|BIl?VD!ufodGTdY-;3YKy>RQVcnQeQdEp=-H2FjnfLyjd65%iMagN>jg1lSjJidr z*{}^=AGAIe;|PqkM2cz+UP89u5~h(9ZO^l!6erXkG=ZBPkrD zRF-i)pr%apka2F3V?wyL-Av(8zvu#}zeG$nx14`_ti@yp5=X-sacIrn;(`3T?z?#p zganMMjw4tE7E2t4m<&@p82!rP!fGZtdK#yhrRTkxqUABWn>1wmvL;+1rZ||G$Q2jz zLk>pV_hH=t^bC^f1}e(cjgaNcJavkB;YCFS&`;B>w4&b1D~fExEX~=Z_ghfuZA>ia zDUHy+$qkBJatmX<1V=Nat%$5BMdgVUHKL->Wl8~bxhlru%c9#@2QCjF-#`KqZb}G8 zj4KjuCxgfRA_ma*i&jx1Q3w+V#}9l>3^L-_n(JQ&@^4DdKvAqIJvR-92~**^gQ1R~ z8Jd+%6MmS6+ecq{On2jxN40xYlmu|doaGvzm~agXxlkT*>)t-ilyh|heBCIr9GQpr zsGne7dtxzBJ#YNjE0gStso9jP72+Y&HkKt`#D&t3!=1S3Fp45`RHz#v z%V(tE3Fbk3m{$?SHJFSPH7^P`cCDf$V18#DwEPY3o(J=anv7s(eR9qQ047!x@b^ej zix@|%DD|FUjV1T7J|mp?gm5Wv*0DQ9HRXO0M38@JS;LIjwA>(zt^6A?G^JF=ha}%BRL}4E|C*XJcva@6I;)Vpt`6Djps&}LIFENTcThwiUR2A+Q3Py zqU*azI0D|u;9lt5`IL_*|%+Be<~?sFi+c(q9#kn zw#(4-p5o*h8y@pyBo!nbvqU)3iGo6zJRWgz$mxjVy3rTw#zmG(DWigD&u1De^;Ql_ zV^OC*@(waC!4P5zoY&O0DV8Ifd7KfX$3bcHW`ud}SxvN#q@-~K{MQMrEr${0!*hfS zf>$7T+AlW6evxV-@yR=ykS$abck*vk7d<_3!!}j$NLLL6&kuJId+U6ImDRA*WDnW2 zPY5b$Y}gpn_Kl8Bq9`8nWQROr9~^R_Fl7Ck2)A{Ux}jEe;}(|lrL@?IEsHzrHsT2l z+eR^#9>vHTnJr=2SaA3?*QPekZH{cg;jMlRx1eF~?QDZd_(LD0|CzpQ#&~39Kj!rIbYHVq;;& z>t=@Y!fA!M&BY#qTekZJWYoH$e!?M$Q6h{Q&tYvij9fnalyGf=oB=-GFS5(znz+ut z<~ddy`8P`VAw9jz^ok-p4G4{JX9>;x!j+}9U6w9G&l|5nWh9kRlp8W7I}8buJQ{Is z$S?n76=q(B;&I)$h2;%20E+NrTBq zMUs-UTKYgwL~P)-JcG6AFv|HbCfv}L2-lhuLY8m241TmxJ*!aJlTTj*@A_o=3CEDU=GH`&8LfdHYef@ zF)HImQ8FCz7!0|{g(e=eD4aaos~dN*+#C{=QQ=T3qB(bLjMYTJFccX0q!T{D)+UNq z`Ke}!qSk`4in;--K)5g;=AxG&oQ5|KcVl)3{6TS*vri$_C zNC=nWF`1uVSS*e7c}`I44KY{7LCSE*z%k(>UgSa(j=3~swd~f7J6TT0V@otwbUXaa z_j5G4V9-_=9UMH8+(5|!mH<Ieo?u8v5*nTPweI2 zDB;KS3>7TAosQ?1E^H$VKc5m*+G++i45XC#A#ZY_3CG+PB^7f#sT+5*yeTV6(IZ25=*-sVX9nrvkJfw$(5%~M$y|LoY>2TIZ18wi}{+!3dVie zo&3Avrln_86j{16m&9;>nT5r=xWmqyH~jpwu9kGj%0_0`9%+od#EdC1IpB>m9*I<3w%_VZ-u*7%=R+(^NK8&KbOSl8s@KC>KYR0Y! z+t0t0@KbuKb%QErDV1F7H(6MM6zwKEZ;{ki(g7P2nZ~3vWE}HmNQ!j>N&dc>q!xF!x`&e7~6V!|)e zbLNHR-9DN2Y$i^!>(|%{57pE>VFChsG@PynBS@jm)y#VVOI|VaSsW888sm zf!qdsSi^AJA`zMiyo^oX1+36v6oXfaUMeUby}fLBv|og5{>?a=UBrHip0iC=oU4k0 zis@P5O&uGG8qJV}+K7qgg86}>J>kS2Vfng9&Grp&+_TNx*g_u4I2C#d>LIG}j+=cj zB!g)*?q^6*BaC-o1rFn2^h$(_qqh&e(=VcyK7%Saz0WM4>5d$p7t@DMh1`D=l5-xCqmC}dLr{%zBLxbVF)+FLhhMopf-mkB?P~HlyqejH4Ji=gD@zU zu?`V#0Y^BQ67FpD4)lv~ye3|xr_(TB1dG=7^aP)kl(pjCuW8nhPFAW>0DFw_lL#|Q_Ga8l%gcOrVb z{i0D+Nl>4c3{b_Sp&_M78I-Js=t$qm3ErcqLR2Qc+&&6tSnlA0+Nc|Mv)o7uPqRz& zv~vqZFB3p4rJ-Cf219y(&F1j+3n7FM?#!x36ZAs|MT!b$bpWS`-Lov+&=7;m9@*vB;6t-+{H65VPT16YivvxBA6F zQ86CU^n0mfB>XfYUKwiP>EhP)QmVQxspw567?IHo%ZB78E=aYi8!5}xT`Z^RG0W|q zgyy-zJ4X0s5>9gKg2-UdeWEC)u{VAI13it1KlFo>(t8?fGa;73Hv}v@zn+`@qO|>D zrWT(r8IbtQSj5&)Cu@5>Ro$W}Og-))=y8r)k>NZSTS2a2wWcLfi}ArRW{%7qj{IWXXv6sZdfL(>Q88J>y+1G>y2NsxEv4 zj(74Oz(2c;Vksc*<3d_DQkKixn5Wb@ZEn3dZNgc`;R8l2kwj zmXsN>5S9~kg6<|Rtm?)?EH~P+g*R$ZWHJ(&}BIb>yT7NYriW| zXfM?31b->KveHSb5ciIJ2YGZ#hE}kk(M}R{yGMUyk9Y;3BA1N{RMj)bW2EZW5i?kjIL4SoECvYp{@42^Ah#oCY{!+y8VSNF>ysu9_i z&(~K@XBy_5mKO~UGCfAi%}*ER$An$v4{G{SSwpbDHD+EPcKm`3nd(JR<9xv(Ke(%LhocYms1IL?c(jAc{#HgcSZ zKy$}pyxwDkPlefky~>s_dL@<5!M=hdxo^FZmkr=9wGA#W4F;}o@FpulVzY>5wj%KM zZ5*dxLV+&HU9nCl>^?X&g;ut_JY60c3zA?2a`VoohIX`|HIu| z$X-m15YiUG?e)srw)|VN|C=bHM#S#>7lijPf;s8ckooQHIl#u;k@={G;=OO}h(BhT z>TBC+GKwBr8TLEafBov`JqUdoRP#!+INZ1vU9ywuPsb%r6?MEi_aFK7V$CMFY+i_; zKijn64eBh^`0}f;Z;RwA``h^=kK6!4<<56&S8{+^k|-_)vzZ*2Poe_48ISQmK)I#) z@Fotb;AVJ3pXVJtivc|r%RdkjCd8gPu(=8L3;K>}J`6RS`01#{41UK*0`Cl zz~4T*QPtf(u`g;a9}2-r5+#bvzVX1czF~8DIA+njp2%X9)?21NE@*rnSqrKd4f!;h z6^TU3AHh-NhYVvam|I%S^8oxU^D3LclI(>J4M8m{1 z`+aEq`0g>q)#P}?_pS^IEgh=6D4Dmjt$zLs2~e%`q%nRYRc~&3X-`cQ{XLW)QRCnB zS9sabQ{~FR1+dXQQv19K5jzi^M9F~<72f0Q+R2DXe7n-C??U{nK~4-%{K!?gz+APw1COdwSFkh5zm1BYP{JGt@6 zOm6M~&>28f*RINz4X-{@9Y!9Rw*H`EV*8IuE>%WRp=31?Pz0#Z5CZ@)l4kN}@zB!0 z8BGLq0Kfs=?7>+1m9sN5<AY@&2`la>%2T;)OE*evW z7MX(aSbogTm^Ze%v(L->Tu*b>H#dq_6kAhv^HrDIa^5OLTFwbmVO)=_?aF{lReV$ZmfnD3_0>_1>ZnbW;tkUPMOg}e=DtYTQ ziu^{rpZXs3#I;njBoyX$l5OBz#&J?R>+2CW(N!7Pgs_ui1iSYPH_~eQPnT)a8(#4{ ziuBq3?8I?YzQv-GlD>V$nqey};2EjWWjE0dF0eCfFYR*jlsnCtGL`e4|P z`**J7@2r>*Zt6F_#m5HY4sLh2>3Z(LI^(yrzH<1XGF>LHAhf>mgae~=FK{g=QOHQg z##(#*Ix>Q73cZ$f*8jz??{}>2zL-|M^6a2N;lE{oiB1Tf%H$94#m(J0XX%rIT;XcOx?rluzo+=Oxob z^_h4$yn0M>{oQd%wN1>ECZB+!Cc*3b`iYiD+?+LIORX3&{RRKJ){1xG2~_^U_J>8C z4`u=y$AHtmxFh%XoLn#(jH}CexnS$YD?WdszZa;e73T80ARi{rgL0H=L8qgqx#fEyn#`$Yi+R?WEBMR5ZW0!=Ax_z8!4jPVY@kcw3xvU&lE0 z`hU9VnmLk>tNjVb7m(AY`f`S=K7jp43DEn5fD$eXJ9lCMAxi70?T)8OmGzOF@h!8ntMJv^NGi>gVieARiR*%#1d2yOhcElI0j3h-sN!L$$^k|2@Q!BUB6#&VFLIhos zYxpsL-=(bPhK|=?UbW3>$U6n{Kyz8UAF~#0dftL1FE)cre(vIk3#{WM`G#o!qcB@1 zYeqD-K>{?cDXTj_T~fZM&9#yjSh)yr!_VZy8v69e%Z_wxE0neu-QI|j!K3`S>8Qhp z-IRBi?9Sp(J#~<2e@=8xB?{E7MjidwIC-~f?t;lHNB|MK7wk* z8mqDRSE!>*^2;BS3lc?iDF&7+$TA8%emPzvU0H=$5t(rWr`so_)JW7B9XeNwsTpY0 zJ|8X@zlI@q-x8Q38hTJWjAI)WFvS$Kh-3|J;a&^RGe)5(c4#C(o!I{Q?###~wz>|6 zdUY5!JLG7u$KeR~23s9=L}qM9*Za!p^voA)=?K%L_{0i40BrKCNyA17W2(^DTCK+{ zC>gy;z2zhQNej_k4w;w9j(--GgAM<(*v7A@sJNlpFT{+{fB(~G>pC;xIe=}%ZZw6x zD#x~TM~Imn8m?#oM`)3akJD%W$^SbtAKBn^rof(@bjP6y`Xj*C~>OMQ%OhD z7FsW(Ea=}(25C*eFUv#nM>(K~QDmfJVHE7EaTKZgNwd4>h`t1DEH(B8s`VQG8R>8; zf07)}>SVYlp>63oX4M3}Gnp9>)4D@FayOemC9Bz|Z653764)=CP5Ip?nT&C9HUk@o zqG#`ZYTVyGH6}*REB=Y318eY4mkSp9Tr5SWY=o9<&+oHVO7x9Xm{=HBmQ)>H zN*H1VaYVa_1#@lnE|j2Yo^O=p)l{t$?wK^qby@TxuyEWQMdoZvafQ!|YSSW|qf@6hw+)?f2>ZPMNiC=vvGETJIQ2z|dX ze#OOBNAT^fq>%Souiyv93^z;|?=cUeQqB}{^MkM;0a1O{D7v`|0o2h-G4B2No2It& z!}85Eu~eQx*uWS)LN7!z+rVH`sT?pZ5ABSTpKu_hVIdcM8e?%xX~wz}+2j-un5tFo zh~sqrOvbM?^E}}r2mMW3oxEZLG;4W(1+~|`3ObB|ngj~g8B;Wry=8p)u5Tw-!i^#{ z17{RFVtheWKHx?74#(u%mG^5ezT!;2_N(8_B=tj{XY_3}(ST*bj*1ej=9LVz$*`Wp zvK3hwQt$&4G`U}-GlCLo4!H%PkJjFMEvoge>wxLRW*nCe z#O3yy^+6re)PiFGEcmnXy(o9{u(I-8cuomA_ZjF+606@!-DP3bm%DI%s=}M`v4#9H zEiJJ6{Dkl#97G`+if&-NQ_USCOl;rm8vyc_oGQ>MNabX$VEV{hO7@u;bLW1QbJP|0 z-Xxs@wpBK4MF@JrFD&56q9;TiA(rAW)Wwz=Fp>t>Pbxxi%aZF3h>6>@)o?rs5GU2| z>Wk!5jQXolI}!g-6mH*t4I8$M>-Y>%90X2&+Ro56NnwGVQqAee&-*-hjQOGO6A_bj zqtF(ws3Z7W_79$nvNvA+IiD-+@9qt6ZZ;@JWPn=Vi#>9Q?;3Qh*^+yd@*vAgYje=s?ZG_~OxsfTadivj-~+26 zJjO2T(gOz6gP=@H6}mBqzGho>Z&k6w3D?a(W{{mtj3=mQt0n51g0_rzrpWxQI~4Wf zs%0L6`8W~y9Y%=Zr49NjF?}=uX&`5ZCS@Ob;qyJf(wUZgnEa-n++^hVU^roCd=9&t zuO-;5sm?;5d-`_GQ+x}4zL)^A8KG5P?5hc`TVl&DwW=f|3(fOM|8=8{V88VnxehwF zvcC(Q%&T8`jPjtni8~?yLU38+WA`OF&8~w7B5vpO`5=M0-d0wgjTs~KH;k~ZA@j#s?{M@tU)>`2Yd)vOT(m9UCxt<3RJ-NAK`NP`dO=}1r)8^ zA4RVw;8(ziL8M9oAc1VP6#~8J-fsTE?Blp8y!?hrABu|K8xE9t z4~30L&&X!ia(RLn=)30O5Ov2!a{+h8OK}_yZ8U|poijdpjZ`&zUs`Z=f<t(P34#iG9FHXZ2|jiQU!m2IT9dQ7*14I+ z5)~8+#pVtU0u_CT$1SjDuGxk<>cj~oa3R6O-|QGy5#rLkIt{FEjROqs3il%y*a-QO zq}R+*rPAxAL;9Luwg{84+$kBBZ?I(jY7iWC$5wX(?{->zir(UC4xHxp*Ft*|(59x! zttGlLaxsU&a)mOps01iBf7lIC#1&<)Qg$nRs~THw-$jm;GzEmLaCu-*Vd65O=d^w- zZ%-d*mj45jW=^U9a97h8#itnKWnsk&psVlJ{N2$>?Z)Zraq`ohmwbbVo%?TuB9JHP zd()X4YJJum5_WcV>q2Dw5_yA`c%S}8@Xq)EHUNJxk*{C6i=)?_`R4(z9t!Dalgx&E z!n)NspTePrs6Dd(fPnZ_7I`gZ%8$;*wXQ~mMCZwcbPr@VjF5b${%KA3!J>)mTnRR; zxuhEO8(bJ&oDj>yY>l^lKvXaxpm@Is)aB$hqamwV3bmy}+ly$uw?R^m_pT~lum4Vv zdK+;oa>A@b6vK@_HM$J zTv=5$G)hbsR>N5-Z$fQ?QwOZi+yMFCLK`%VPLu zBVN-Teb*z_{`lKaIB$OOus{HelCwKaRM+E$(kCYbJzi0Y)ef;KkeiTFw$5*qVL+5s zdlD^agOQ;uvx-0|O%*^8Uc#^gXg@?djk=dE$nN^vbS-|00SDB7T=9ey<2|M`uC%zRD*!+8Yv;pTxkzAPx3FhxG!~Ei;jet^#Zdd+GBFjyjFim?TPrwG~(l8`vUx5?X~i z9v)yiG>r`9f6iUA5+vgiOh6YX((1GPWPIKe#(u{c+A0tq6xpdl=6Hmrk6JFB7?J8{ z^hla2jdt9OB;CrSF`iMGyjWR?3>df!Y+ti7@69V!RLSYHtm-5(j{vBwr%oh9C*cDR z(Tzc1@F6Y9SoDbMeQ^i}eO)fuN?8b$wyzsjN4!LGY`Jp5DwfXyK_`C7;5j5rI=L zAgWjsXwtaS9EP#CS2QLwIavMEKZgHw1o>w1r^-@6c*ctEE;0pl*v}dpV++mqO0mmd%ol_&FLiBjeJh>M z&uy+P63HxxS@EqOD!9!#>1lEJAMX_QZnuZCNd$GzRwJ+YNVOfJCZU6ZSX!0h%ULnj znc|?=A>}7l@UEQl+Tbwu`@c?2?)|n+U#Ur;&}mo6%O#2bHcG7np6cQg1lpfl^39#m zgTKs`Asnvt1?Hv`8Oak;3yc0Qqu#$g5XPl3$y4ZpLy3NlKfH%2WmmekJUo1|kyVve z^XmQ5aiCZ^*iPHBk}tRf*RO9cCHT&87!1qicMK%CDQrw;Xcj~HNZ|Bb-=!X1W0vU@ z-3aDH97}2Wx*Z$Sf+WL%Nf?`bGlg3UwWq}=U!djf;^LG=K_z}?2OkN?UVmUO8H4=o z+V^e^X5lNXtKT15e#Fr{jI9jn@&A`VJj7d ztBwU0;+>;81t>g!_PTKSKaQBNZRrU6>W6z_pG}+PNzu#bGAI?Lmdz?cRZ}aSu3K}2 z?acX3y1+HBp6=Ff6u6~^=={>=m0lOZ_qAuE`wMx>-bZ3-uuqW=SVem1TI#cxM#;Ti zr$ZT2tAKWi?+sL+O+^<3EjGi6GH^=?YyX_3u>pE&_s@}L5#D83Am<8l9VDmN!#f)bc(Sy3Bw5W`TnvXRV`ARM zA4u03MwL~CH-x?(94+lkFecuxy7ybu`QiwYyW)_LdCzypu5^+T{{2pGF@)Ryp6Juo zCUX*kUiglJ47~+PsMdQ3_~~$MC{Ry;JCMxT{x+~r=uZaPIbgZvwcw18-mJ1MHAo92 zz69&KQb^^8y{EYrE*JpZqPtR*y+gPE%PTZ`Q5wO0oY|54W5-Fe{aMm_=(r1UgUekV z?D@cQm48D7QSKP00WDRSkqZg#T$+a(4-%J+Pk;WmP|AviHRMG5_RtNLS<6r1*@U$~ z_*c)ZuOK43%M(g5G`8-o^VL42A!I?3y!GgPb&h7+Vq?;7un*}$jPV^Kw&*t94~`(N zi}Qg_pV-xalhV7z?+YWVjM0|;PQlyC8H7anIT+Yi0q)WYWzpFUTZE~jS{O-qQrX46 zGHdD&wzaEnfWu7e_c**LYtj^%k$QiM7!_~rwfY>_Z+ZB%n0Nq~Q!<#co<`pywmF!v zc8*47$&Rsa24g~g?rUqy3cE3&XwH88=V0##rI^h)URw-NgV_@kjv85wz<)NK4TKFn zPOEIqRS1xv5MubY?@U5kEdkWtz0+T#PfHysvJy3MJ-~1QoQ5^+t*7VS_@6F$njC|T z+>00Fp=q%Y1<0|#zS-k z1EdFlCb1#SEh|RiR$dr6Y!htA;v|*hk{2B?8TB6Su+zG`ZO;d?7yRY)nKn?Hc!vZk z&FTwQ(q1{!3pl^n2#ez;45i~r-!hDYY^My`@5l4 zxO#Kek);pX}!&iFl{gyKHAxOn?(H~Fh}r@47xcmG&NVr~|@ zgX$S!f}|8-U73dqD%$9#@XMz7nGfCa-X5dqwMoriDNI!zP>(4c|A!LFq>ULk*~HUu z(92WBS||abF!hgXdM;0A>Mw)~Q$KR80PT2rD0gu2?GH@Y=&BF+Dc44-^35_GMk6_i z3Apn>6Os@GA47kS-@uJfOI?T^0jdlr`D@U0o~H zP?NCySW<7&^6dIdF-T}2nBXlIY0gKL7yd!{^C%y(X}Rt!#j2oRu~*@M+_df+)u!{f8L5BYLvez4q+TQkau4pip%b;B-4 zs3HloBBKsRfZmTa)!*(;27MudhY57|*%|2{BZ=jq@N@?FyT)uE4VzwWc`wbXpXM;c z1*F8aA3cQE4mfeV_q~5Z7cibr866xS=cjJJe5E#f*?^%ILbI*YTW>ZQPD-)*qwmx2 z3xR(3zt$8PqxO<`+!&Ou%(I|HqGqQNU5&pc@6Pcv!#hgwqH(E{Rzct&rTe29_VCTU z6RzTCwNV?^3d$hXF<>z8`468jBun9xTXdunlK z>d`YjE+V^#5GUXMvkf@okm#%$66v_(N9F zFp1PIa>y2D(o!n!J?ksjq;EX)2xro3zs@q91aozLQYzl{V|+1JU<{Im`9sGAnwxJP zvY*k(dU(Me7RUBVJ#Udww-T-wi>7yi`&kPyu_B{kWTLot@3`j8M7p!vN;<7I{HPkX{2Lco#11!#tOPS&}O% zg!JiLjgOJ(Pn*DB4Lz4nTIJOYnp}dn7Q|MtBZBL z1YgfQ97KK85?QLBBZyd+F0H2oPEloq&Yq8*(M|_j*T!Fw)4GfRYO}&=qhQhQv^=&h z{{eYj6W5k%IfCV{E?NEyajiVol5Qz#{a2*;$-3M>3*J@ggAd6}XTlh;-P-*g{(Dnf)G6+}YR zH9A~d4|Rma#)lLCc5_f3zJja0s0erqZ#bt-4=aqmTk}#RUWKqJVNM3Q-X%qs8qHyz zEc~ESKf6jRU3T;Vt6Qx#cO;jhXiokfF)3`$AomXs(;$yN6Icn}`Jz~X4+Ee*C#a=< zMs3aCsTxv{p|!DXcr6^;e)6gf^YmF9J?GS|?w^r&fCEvfr}iV2zg2YC(TWtLaUDI z$|SEeztVOoKOxIZ0c`rWB8 zR70uia$PHn*SlsNeezU$a*Ox_U}6ysu>6ie?Qd}|s;&FLhAM=GFy8X?flLFVJaef0 z!2Astr;L}vkh%LFGb0C-)Z~v;UYJv{YyL+3?|LFpL1d_TOL1PYypaZ$9q8ye%mdP} zS^W3@`X{54$=1|*AtS_0Qg=!44UbAwzoFHe-Al8Nv(b)K>TbtgT)4WGs;<)Yl~t&G z6#>?VgTJiiq@Fd4%6nc{qk4p@t}y)tC{(_NF#8eA+2~SSU{_>yf7fH}H8x^@8*^Um zhohqQ#Y?`MV(5rG=0`gVL_bD*X8e_sO7jek>g^Y!qcP`l>6EX?M=KGHZof&>`GyJq zkgyx?fJmp|AMM|}CS%G!v12~U$;gnSj$bJIpb`mfNsD0KM*h$9g2(-5;cheG3c2+L z4(?UEN8g|E6HYJOcs(npefKFABTMN`?@pPksjpL9*N(de`lt`#*wI-eFHb|zl$@Jw z%&vWzjSraE`Y&(Qq809>B<~P-QW9bUHf3HChJM<#F8K$BCAr56L$ypR*AetIXVZ3+ zisY0-dN|Yf`ZfyM%6LYf2pr^MFAxwgDPFw*ivH_oo(9Pq9G;2=dwiX=zLneN`~Cr8 zggdDl(IOJp8 zuY{5o7VDU=mc6XEBrT&!v5Er>dHs(jV zwW1VP6sPP?|98dy-t$~AaYhf7muSrm?&L-o(5R_?z~!3tHE(EDwn+dOxk0lYzM}Rt zepq1}^Q(Ye!GZ)!Gt#XS#ltT?i+WzF+@Ma+WG-7T+L?^_$t3sorgyD|gs(Zw@ZPAK zO{HBo=JY_BGwX6s^ACjZ zwae>lK_#1Z0Ri`~IRW(;AU$&aH6{OXT^RrCVInKJ^N3Tc;!K*HoWfW7hfx>WT&ufG z&BVY9s9?2G+aKiWsNDKGT@AzbS!r?l2pGksfM=CRZjeUd*&rD!9#U$Lu})2=D!$16}}@5^K;!xOSPz1ZwCFSb9ox= zdSba(7Dx?#iU|m0G#%h-(SzUX8B>y1f17geygqs?%oy|jCWYF2-#o(s+#H)xa3b&$ zlS%q%ZS0^=G4{;o-I4u`2rV;`Z&d=~?ke7^GLTJ2&2AZC5j3-r4cfkc?v6(>-h{&4 zL!=4-SxlAMl@OI}{*{p&;`mA~k&nR?)JB}j<#|y>N7An?U0DG<$mKu`;x=>!21Nn} zadq`UQ|sG~j-h@|bD_PSfOkNfTK4`2&7zfG6PJy=`{=8Se(%bI+;}%0Cax`(kJ=17 z+*^fTvkL(w*@RNUfV11KeLl3(x@fcO$obCoPP*r26b}h7#&la)W-W=bg7S)7Htr*0oRF@72(l?C0|7&ru?|zX5V4}TX~aX3lK70v z)n3ap#&dDvRKK9v)LAxuYraBa=J{H8)JEXFwMdO@wxn!{|Z^t?L0Sc|A=@))VVn;oLOM9ls z4UHg}!(S!K3xbQ@RlfA27?lE~{dU{ zB`}kdmGZ4IMg3#TI#0y+b!o%u>R1AED~uG0t4_Ak)i_Mxo}BXxW**iH)^%CcHxPCO zCMwxQLQTK=tlO%U=dR{rar)F+&M_2-{goS+kJqdFX}cJ810N>JS7|HT-bo`P78nD- zSTmFKOqQ*Ly+dG7w;mbARVin}o5nB`c`5?-xhyV)ONRP0IF7hFvQ=Xu@K);T)Om5` zgYt56q~N4cB0Xjr5%oXltSp@>t*fEx`iQD>eA}I6ttz?0Yb)}YN)VhyP~nqJ&c9Zq zH-{WS0_?KR;0z4U(1VmTO4MW6F)PYG2vC;)ENFo;nW5YxMR9h+(@`1E(|^c`n5h0K z%9`en$=HfvR5OIQ&s8!hE6ixH!b3&CKqRdw2m*KCwmWlxRUrYx6ScVz)yI`UxlWat zq(yDZ4H^MXEf+(LvpOJN0hJh$S3nb(PiQB~H-O2A%LWZ8yF z;{3*wG-8Lp1TQ1iiN5IP5Vu1Y%5CaUKBd@o3Zy)g$s|r87i&@ZMBi&5COID&4}hu8 zp`sF*oq7>_J3A3QyW+AwshWGxS+qVRyZ^lYK^QO@gm3!?g8flvt|RFjp1ZI{MBy^E z>G6ImUEn;BjXHG)myD~OR%RS)&HD<8)7y^jI>ma(bizUK_kvs9yfX#Yx-2d->l^%M zR2Y|H{bx2|lYct>rXQMnB*h9W8y45nUVMPL+^w^(+xZR43ji&F|W!tro2+E=zJQP#k#PDVXO&IS|Bw3bu zFT6sQ)d+uQo0?nvO^PB)Agu{cG&79Pz$_?R&+=KXgySrOOM2z`(kR2B1k}n|;huQv zcKSg7h2pN=>Z6a3=#(6_)TOsAalxb}A7}Xe5h>M_KBUhY-zLHjf(CnKHDAXzpo7?l6PweZ58Q?fJFXdKVe7 z`es3i=xHhrc@#I%fxfcu<5xXdk(2};+TkE8z8=~B772pBx~@!dobqMUOJ&JSEyBoD znJ8iN$CJ05^MfG+O73O!~P zA~*|<6L`5@8*o-T=1z+|nO{O8(&P}9r-s4~Kg#fBfZcn6I%BKEB|bbaqeQCse5r_$ z_@VqvpCc|qHpVio`M!Y=v~Zw`hs@bqL|V#`@-Z6*R9U8*1PD|dB&@B<^zzqJJ(~s8 zl10(;Y?k`(0#f5dTQyZD_eat}aiT)h-XMaqH5LAFbzTd#K65LIPD2Ap*{u$&5lR=95Q`DpXR1g3%^*BAjp z>!F6DOaqUYk5y1jvl|D)VV+HH1r?*5h(-a zJQPI-!#C~w1Ms)tE`A#`GV6(7u=MI#I3^DaA|fG%xM2|0RoyRnY}p*Lxy-HT_QVo4 zY(u&!x?s}4uH8<_^RFVi?{n1G_UJ7vCJ+`0@$Ki9V&A91@})L%_Yxiw@QzEe3X~pY z5_g3zG(<#*^(Oje=7mp9JQNUfT)vsnv6bgoqqQ4_jsYf+Pz_74sCYoJQ=)p^-&HyGslifP7qlXAq)AE#fBapA)xpzDDdy4o8;-YIrD;ePj1lRJ%vGcHSC)DxJ9qfn8`Ow~)T#V?KBB2rI@+SoVcksIWc*_BY8c5- zRzF9x~KM6(;6+*EcZf)dZjFw+^|@Xg?EH-v0xoR3 z$!_2B@AXQ5*?0ZW!&Y|QB01$fx^)`aUZ~A(p{~vyqTnk$<1|sxxnk6$?4$3)JVq5biye8gw=AOQ9zt(U-_=rTH4E^lWqn z1$dD{r+q^fW0gI4doexdk&tKVg`3HyUl8w;ja>TEmuJq~uBRq?GQ#v*r#<Z`Guz$Y;Q&N}S)6`KnD@|52+2r=Z=h|5 z<-9hcC~<;f&~h2A$+BZ^8h)%sZ)Umw9-DxDTVew9B22+V>hJjj6towDkPNgzU;cQ= z6QpEbN6I>JI^;8H{4)grm|sk`!kAcuqKW2yO<0#U1qJ412&<|kR2#LZ`$%B`oCG`E zDGH~S7u?WBzj`Qu(~MfFoJXp|H~;Kk3wrUjnyaK8o@D>AG>=I@0u_D17?42^_i*03 zC*_Y$&!pvz@{1s{Ij)48xk(|-iOUB}Q`e~f2V97wus%G=`D3{QNg!hA$n^j9-;Jf+ zmPa;!Ag6f_{9xAK4Lc7Yi1}NImm*>D!y*StlAN$1{KE7^>HiQWnu76XDJW7^nCh(C0=9ND!tA)xmk)|`X8lteygADBB5|QvssT{W*$ih z`g*nCDtOr|lZDaC)L*EiiS%#_Gn%W=7x!<1zMLGFmwI_K@skMFaaKAf$iW z+O(-hd(!S3=|TFCvE>>xb<>Xt8&*tC$;Zc=I*;T|1cT5?)4 zG}IkpkYv)ByLGc-u0C{Z!ggB?f`35uL;^-#Pzw*azCsa}&*N0mRVIRdY(LoA0AUZeNoIb(Si1HZU*UEpA<8ytQ3bmxvT;TTEgZFFr{T*!h>obbq^>={6 S)#?fW_K^cAOI1o31^yrYu!pPw diff --git a/public/images/pokemon/back/646.png b/public/images/pokemon/back/646.png index 3a36013adec133bd5472b2eb0ca0c25f432e386b..6ca7f51f01d22ca2acee3941c0b0b45657ba476d 100644 GIT binary patch literal 14944 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 KKvmKogZ>XX+7|%; literal 13257 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 diff --git a/public/images/pokemon/back/746-school.png b/public/images/pokemon/back/746-school.png index 55b8f33929bfb7295a861903c0df62316afc3889..1884123d82e0f400b4ed9a103429cc2862bb96d8 100644 GIT binary patch delta 1348 zcmV-K1-ttB3CjwQ7=H)@0002hMu!Rj0004VQb$4nuFf3k0000pP)t-s000010RajY zClWbS6G(&;O@tR_#zAV|d4!5|oc43v^>gL*a`5(?)BUE!_s`MO`}_MM$|%YJ000qm zQchC<|NsC0|NsC0|NsC0|NsC05EVe7000E3NklwlW!APj~ZD8;(!%>7^O zk^|?^))oIP&x|^belK4VLd9kIWO(mCdjIio&c9x-?-5|%{VV)_58(a2@6X+R5%Aof zkLMQwK|MH#F`Axla)84@FcA_y+lr$c5MXz1pROMaL;x0)=ueDO30S}d6XAYloH76{ z_}zv3sd;Dtn170?c_;z&*e!1Aq660fV4p~Ub#)%gGbDFg#ets-ScCKyepUwT&d&ze zEshld)cvLr5U`a1ze^_O>9+v)ML-~gWY0`O2jGJBZV~|65Uo_Tv?wMZ0IV$m@lmw# zVMpcJBVwz@W82unXIC05Pl&Zeh=q@?Ws-caPMM%YTz@1O8S3;Ec^RDR*X?#YovgK# zOPe4UGpe(U~FQ9yFV7_j{|}flKZ`dAe{qf(UwD^cIW}q>~0|i=Se6{yhHFI zL_f}5(tmGF#KaprO!Xr~iF)_twucB)0?Ve>aqIE#0IV^!1tw@7sNnp203}9& zpjt=^{XKwENE(2khF3;8cgxL@J$U!81}r5!Z3;OsqK|;bI{;%$N03sD z+fHmHG~|h^0U~vsV6k;rQ;KK(tpiwHpTq&$j(^cPv7Nq$QXO?veM&06b3ia_0m!NG z4PfC{>j0UXO2~6IIT=Dw04<`_A6c-XY}O+{et8ElXMmXI7%0nC+7%JK_FfZ8z#!3o zavI8owlxtdToljXPLTD-CTe}76j37FD+6HKp%IdSqEJki>SLy3(tzKy1lOSmNv1F3I?esMZxk_WM zVYtyiT(?=j%YhoC3cx2AM+8fuGP=H2Msw7!Y^gJ8CKNS`k$ifPaoRhZf@2i(+@xz+o>6)5jQ$0g&Zu*=tD# zUR^Op3IS642VBLd&NIG;a4N17_NU4xx1}v)=y#b2jR22YZBLaA%5k{;r z3x$D7{m23|`gh3f6sWag8(@YJ7tpGgfQC@$i!Q!3>eDHyjJP?QUi>IVIpQf+x_>?* z7@*4Q7NFl;k^!l1)RoUICxEop5wt)KZn()bIPVnL4Bbj@P`00006!orVboJE*MFs303juEOVZg z9EucKyL8A0D3E-YK9WaKRD8C)^&x;Wyr19yk&zLj_4Puctx7EK&$acxxUh?pY@-h)KR&+EPH}osQ}c|Pkke08kGC*VSwBM;HfBIeCiKsyqMO@ zaw|~p!+`!ElYjMY-4CP=VAU%U7T?xWF{xm}q9+(nPG$g9)f>#9PNd2fbw4n%V3EmQ zV6OqyR$x{Mu^pHybtQTL>>>%VP-?TlX<@+01dLKjZhrr90YKLeGZ=Aywy9r;u^!>p zxc_s*!n$;?U87R(SB!`#r2_+q>u;)3>aP!7fH@aqO@DB=U+?|l=JB_#NI?LBKy;+@ z`}+Ary?K22XVnNOI;MMUGz;of)eleqqLm}Wan4i0LICG<^YrvA6V5p=#F$^CTznm@ z0Jr_-o8gN{+!MjRSbF@-010a)l z*;q= zRpmOsxPW@8(~PMG?^Xkvb5~l7wK@h+h}EY`IpeLmV78s+;7%Rb@gQRSkigo(6lMoZ z!h$_8@1}UNdK% zNPn*k5E{(Gj}|&Wk?RjK6&7StmEq?d8vvls028*dg_?IBe3oT38iZ% zv@;3psMZympF?NKF{W9xB_0(yNkNEr=-IqEdU0Sw412L1|R~*6960|0xspXpu+k`chn9;00000NkvXXu0mjfa9%v> diff --git a/public/images/pokemon/back/746.png b/public/images/pokemon/back/746.png index 3b1b4438f1585ffeb223761a2e83e13e62d27198..cb424c9fbe1b4c306d8f7ce9a4ddc973367e3d9b 100644 GIT binary patch delta 333 zcmaFEG>LhF3Lj%}kh>GZx^prw85kH0CaUVy_s*Fco0faB$yyaCB2W_K7tHV<6&wiY zb_U9Q@pN$vvFLq!;qJ_K1bfL7ytji^>uoxT7E6@e8bk3T#mwblItVi@HgH! zx%Xc6zebRYi*)QXRTEdY?#aK!`9ww4WG@^_+&$4URMTeW_uD64c+{`A+0A!SyCu+~ z&tT)ekjmx$ihC}d_!F=~W%-m(tl{Z5yfhP?H$9uPo`d~&-|qaWJRkOYEKvTzv%7D~ zlL_Z1M~dqTCNAzWT(!IUQE+2x;`!j#SN(a+ z?#|SMi1*1*TIbbqCT@%Y;}6}@-jZh^6H;a>60k_WTv#6zQ-~ljW25?=S_8>496lB5 tYM7X+Wl~$Z&4lp;59AxS=$mi;AwM-t4a9!2)hPe~002ovPDHLkV1n70h^_zt diff --git a/public/images/pokemon/back/782.json b/public/images/pokemon/back/782.json index 64036da7750..564a0c4f13a 100644 --- a/public/images/pokemon/back/782.json +++ b/public/images/pokemon/back/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:03129fcf647a44654eebf65e3131032f:56b06453c435e6f8d3648a6836f20d5d:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 201, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 201, "y": 55, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 51, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 1, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 50, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 99, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 148, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 148, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 148, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 99, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 1, "y": 111, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 201, "y": 55, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 201, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 249, "h": 216 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/782.png b/public/images/pokemon/back/782.png index aa3e05416a2e25ce94340d6c685f1b810a03dc8a..eb222077d81e285033795165636289502ba067e1 100644 GIT binary patch literal 3018 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 M07*qoM6N<$f<676o&W#< literal 501 zcmV=BiM0000dP)t-s0000G z5D-vKOLAm&dv3JsNY39F^8zQ)Vj+uQLlHTd#2{r&wtE2=R70004WQchCy6H3c&NmILk=XOu~v={0I^Iu4kt@`H(wy2g;uX;j>S04+~hBEk@GebRQ``sDtqPw+#;(Vf)2q7sp5B`>K=)$5;?FuOF+>Cd(g@^!j<0de~v(H_D5fS1!HBCcL-xq(f5_0r{x1OHq znrQmDKcE<9sVEGC!scA1FW5eu={d5~48A6K#X rnKd(LWu06En~?-a|M~8QJP^ST({{Q*?~G8h00000NkvXXu0mjf5!coH diff --git a/public/images/pokemon/back/783.json b/public/images/pokemon/back/783.json index dbdf0832c04..d8f4119f161 100644 --- a/public/images/pokemon/back/783.json +++ b/public/images/pokemon/back/783.json @@ -1,41 +1,965 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 69, - "h": 69 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 66, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:7d62b0df753b06fca02f434512c11d99:8e8a5ac9c7d2fc25a02a4d24d5c5b640:aab166e28c744865a0296041224dd01b$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 205, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 138, "y": 211, "w": 66, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 66, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 68, "y": 278, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 141, "y": 140, "w": 67, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 67, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 294, "y": 1, "w": 69, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 69, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 149, "y": 1, "w": 71, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 71, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 490, "y": 209, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 143, "y": 71, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 506, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 361, "y": 139, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 430, "y": 140, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 436, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 505, "y": 71, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 209, "y": 209, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 420, "y": 209, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 195, "y": 416, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 63, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 329, "y": 419, "w": 59, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 59, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 64, "y": 420, "w": 58, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 58, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 394, "y": 416, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 479, "y": 348, "w": 64, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 64, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 292, "y": 72, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 221, "y": 1, "w": 72, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 72, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 1, "y": 139, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0091.png", + "frame": { "x": 364, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0092.png", + "frame": { "x": 221, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0093.png", + "frame": { "x": 75, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0094.png", + "frame": { "x": 71, "y": 139, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0095.png", + "frame": { "x": 72, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0096.png", + "frame": { "x": 1, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0097.png", + "frame": { "x": 1, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0098.png", + "frame": { "x": 283, "y": 142, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0099.png", + "frame": { "x": 499, "y": 140, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0100.png", + "frame": { "x": 435, "y": 71, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0101.png", + "frame": { "x": 364, "y": 1, "w": 71, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 71, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0102.png", + "frame": { "x": 1, "y": 208, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0103.png", + "frame": { "x": 279, "y": 211, "w": 67, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 67, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0104.png", + "frame": { "x": 214, "y": 139, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0105.png", + "frame": { "x": 70, "y": 208, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0106.png", + "frame": { "x": 352, "y": 209, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "783.png", + "format": "I8", + "size": { "w": 581, "h": 489 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/783.png b/public/images/pokemon/back/783.png index 80b07db3466dfd26717a00b564e7b75c6b36ae1a..ff8c7ca052f093cbb8d58bd3a7a1fac14e733b7a 100644 GIT binary patch literal 59134 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�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 O_~>dIAwJ%+i})XF4G?Ak literal 734 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 IM6N<$f`9$`5C8xG literal 1373 zcmV-j1)}A5N z_jz6^t;}#ZuiWA&81P$heBs=R`_V1pHN?@Z@$;O!v$vUd(SJ_-Y*vl=cVp>{_t$*q=vaM-1T0k`QB*6Z{Qr=!2b*eY%L#;$Mu9m$DynsD&Z~k7>?RP9A8YzyOKw9 zTl<~B$!(GN5^wp8gC)er%Zfh0mctc&1;h`ep~anM=-^kmJjl-GLzDv z@=n_{>Qg7f)lH1=D$}Jp;i@)FafP}wW6SlQP34F0_O5F(#!l=lFaKU@a!~5t1MNKX zS4_hb3y~paMpde$Ipb|GN0FELBX!b6@{Ey6c`n1B1DJeIIB9N3P6>IgYv=(qaTZ=# z`yMo^4jM-33)j5Hmi!X(`r;IpP_-oIDXwUZt)7O}to~vghSmlH;z4wt=GfT6^qk3p z*Tc|&0d3~}Pf@B2@gzHwABN%SlL1(4xtrx1WqdvSJEQ{x+ZLNC-fPrZrG)qChy1_> zQBU7rqh6xtn95Yi-@+KaO@mUttpdPZ$;adIhyUTaz5!rJzApJV9pC5{n!t7+EScV4 zAOARBzmd=Bh86ZH9DWYfyC3e2zq^-iGbid9ZCHAvzi1FQ`(S?RT`afQbZ%JNp-`bo z98@rCy?@2a%)4rL(?h~GEgQf+0olhgahZ4~kK&Wsmadc5i65{mRYUExMQdWtJ-{B*y~TTy7795cN_{KF3AEE2`Wi&wF;ssgS9= zzT~zLUC9w6;S|69D-M!-0GH*1(Nn5ZI7}WDOqDoo9RT9;z-r=pIfYg#G+o-d?Cw;jpuoVrkTR&yl`T^dgrS=D1JPx&6iGxuR9J=Gm`_L)Q5?s=yX=y%Mh}q!4MJhT7REp{#1JIgt{oysJ9t`R@nE1W zc<9tYSQbi%JOn}qH=~nRMF|#Up;%Z4)`MaQmAHgF*%pGr*I|9*{ChKR#xbEUEbP4Z ze((30@B7W4HzE83^-Z@h{{Pd=LCD;1X$WFcy$B)fRdE0Su%fD{lLEQMzXN@-{*Rr82=qS?1a+e+$*QmO{KKD#?5m#^gr+6~_|Ap(h~ty4O=0Qg)Ez4S{{DbS79~tVh^nLsOQyACY){H-i8vuY0uiwKCMhapf z+RL1hx3@J5WBHgXcWwayA}=QK?!rw2h%1B$z>l~iK*JRd;s_BWfE^46IhUtsq*68> ziw2rq`1<7l0C2UVMLL;V%*ap|@DWVv66KT0!sy3~V)Sk}LYOC$?Q@GUpMbD12_bBw zb-;5XuPW?T|D)Ht(`Y=lEv^YlX{a0PY@>Amh25&wK6veN;2^F}+<#C+_x`ZZM$!}g_&IdfO565^?NzB z6Bvx4FbN@yQtJ3n)9*jIt%sQ=T+05kwClzD^)bja`oe?|%Ra%)1pwHZJF@g2W}1XG zVs0PItbw0!m{JobQF`D&+5Ef5|u{C#u!p>uDKyEdU zso_zSt0&(iDy2H+JBD17illb|(A7jd9Y&%jhAq@I2a<|n0RWDdBI}#Mq7cxi0rRW6 zNK2_23fbGfk}WT8;(2Kg=HidY0_Zn7%Zr=1`|!G_!~iVGH3-?n`Uxi2C`f5f>dTDV kB@Y}ghuvi=J3$co3k1r5^j;O7A24I1W#?`+6>sHXR=76Cy?SGMw;R|MR3c(5@hT!SK zwvkO+cN<+G()tF{r!DnTj`mcVviJX3GMLVJ7}|@){nViki%&znk{%aV>XDtI0}6G( z$N`bqs)ehZcTX+FvOliYQIzr(ZFop&V_i^ebjo^_40E2yI4Ct5&V#|s`#)?Sp$X4maSlZBw`T6-_5iJta&zk@M01|XkPE!E?|NsC0 z|NsC0|NsC0|NsC0UcrVw0009ONklW18!aLxd#LDbV1WsbWm$R~4Ad~$vV@Cn0u5#1)LwKJXy|YO z8zQh+782+!@F|RGq5mN8;|K=v#|sRZ#WUiM3FZ(Z`18DmP>zv!>*&hQ@hY~C1}N~+ z&`qHdkWqL;uYV)}@c?@K0DyOFTc;!x66uV&IqV$U)+q_VU_!VT0V>p2043>VK#36k zMSuz+UJUaXBv4mqn6dT72?SF;(@mfZ9|FKp)r*f^%~At)eLuWb1Od{QzVt*O7S+f7 z1;K!V5eA6);{^i@K>(u#IPt~`&@fgosd@J^h;Ibb&wszcf~hw@5{#I|$$yGJFIZl$ zg>ycRk0~6-VI91K3mLIMr*IgDJ>G)v3X$*^&3(U*W5>^KC;+(mdr0w?`c{rR3gA1& zk+zS==dlwF0J{&)ebX4}9)tZaNQMY+6al`+j^vtP$oSV{xPV}2wXTJ^Y#_Bzr626FyqLt*E{3yqaO-j?Jiz4z z10bhF@CmF*Gr2nn6Adb@z~jOK7{?5B!Bi9Eg$rCrg*)#H%7u|2Ahc1!=jVKXZ?gdG zxT^8}fS?E>{_NVi9&k%gK+CdWpkSTb1%;YjRDbzOQfTVrXl}_b0@6!)l^nT zJ82L|H+Ez!Fh53M&+)TugX=F$FUZ@&@?7~*CW4JveS!FSPX((JkoaC8(=qA!UcXww zlP0j$%OH?(6223hcOwcIdpw*W8!d^zo2h)<4z&f?4?$LBwtf7h2sGat0yY!KAfP3n ztABr1z)VDQE31>6BPjv5oKXhm_Z6{}ToTwLt$_kGUYTjdN2T8!n-cg8CZkCpWw@dx zP#0)JDM89yO0&MNehSe(6O700000NkvXX Hu0mjf2)4Gc delta 867 zcmV-p1DyQ32l@t(B!4YXOjJbx000mW5G+V2Iix*8b~tw?D2+lXrZG9QtYXHBNYXh? z)kId>(2MECSo!(+(5M+Q00001bW%=J06^y0W&i*J`$-tYoAjlp^|)l3IS(sPg(z+#$y53(_hj)F-q8>0=BnSXdGrA8Y9G%!i2d@xMl zp_F&y!C--hiVH|Y5V4dK7%fOC$h6RZ5TtPgA-=pIkg1#ze@rmvkl@erlEXSA@zF7q zzno(mXuz^u8s>osa1qHcDhW6|;KvVu>4Po*p{s=&{ScSsmr0;!47J)}UzbDQ7x<;?B_SoSRL!LO zCmI^9pnuE40)k^kzhG(!j)e;V$iI9pxGs!jK}Q=^eEpuEetTPhIIfnaKzH|Y$)ESO zZU-I-F3@~!5ELx)eZfV|uBd!fDctJhVs7y-g07qLavnPgTNdy3of`t)#}1c*@D~Je zKa}wB`3*A(j_nb7d-;(o!PZ%QL3zG!1$z;)vwymSf>Dj1C09_3FSpI~31am!3%E=o zbwV!F_6dkyuibDMEtMddd-?8lXe_{<1cxGX>|@g-@cd-R*n@zxpf3Sm{fhz$QOvDF zojh#264;kB)#l2NCG{j#X@ zy%;|XyHakATz>(uc!H>uTFrQ^OcQ9H#8hggYqFB62sr1;`4Se zO8KL4ZSdOzF~32&)Pa~tIP=NxGCk#h+lWtB6AA_qZCg=CZW7k=&qm{IKo9%YU%a*G zy#+OxSl6|W;lYd}D}-=E?MfrouS-u+uvkJyK{OFB(Tng@=2YxwH>gBD+u9viWV9nQ zCK+6!h<{6yl0FYeh+U!~2#cKvE14lB(nqzeH~aMPS`4TmeQHZ2N01d`tQwM8%Roy? zh^ZL!0lyUp?S?2J#I@fu_%s?j3|2x?G!Z@uov$K|{0gm|{0!f|EJ`4Z=002ovPDHLkV1oRcD7ydv delta 614 zcmV-s0-61*1^)z)B!4GROjJbx000mW5II^dNP;z1t1@9DB#m}Unkz35PXxA+< z-)2?o zb%}-E?3-q0&D2@;GY3tbrW#RW>IiE6gPB*24v0K8gqUMV&VTZOc|@=a)mh>wf_RTb zs~ST78Y$kAA>WBuG7Y4h(Se*50IZQe=ONk{n{7QQOZl1}=+u~jV}|RcacJhkc8z2D zxTTsHJ~5B!Xetny=j{BwnBENhp*3~}FiV1%(W;r>m1RNBGck>t(>bS-nh2b8Xm$Ut zWaL`7Rji6be1B1{2yo4))bnbTOC2-1mz9x;-jRs+=P@Io27*2P*GH)!jZ9F}|BT#> zdh?^XEN~eSKlBwYSBICqWeM&K(?sr$c$)A5IcLPqk-s5ux|5!J@t6@DdG9NdhvB>@ zng#;i5O=y0K}qp6Za4>^rZQI5eUCbO+Nr*NyY$77tj3Fc>BpQ+v5sOhox3Z=Z5&V#|s`#)?Sp$X4maSlZBw`T6-_5iJta&zk@M01|XkPE!E?|NsC0 z|NsC0|NsC0|NsC0UcrVw0009ONklW18!aLxd#LDbV1WsbWm$R~4Ad~$vV@Cn0u5#1)LwKJXy|YO z8zQh+782+!@F|RGq5mN8;|K=v#|sRZ#WUiM3FZ(Z`18DmP>zv!>*&hQ@hY~C1}N~+ z&`qHdkWqL;uYV)}@c?@K0DyOFTc;!x66uV&IqV$U)+q_VU_!VT0V>p2043>VK#36k zMSuz+UJUaXBv4mqn6dT72?SF;(@mfZ9|FKp)r*f^%~At)eLuWb1Od{QzVt*O7S+f7 z1;K!V5eA6);{^i@K>(u#IPt~`&@fgosd@J^h;Ibb&wszcf~hw@5{#I|$$yGJFIZl$ zg>ycRk0~6-VI91K3mLIMr*IgDJ>G)v3X$*^&3(U*W5>^KC;+(mdr0w?`c{rR3gA1& zk+zS==dlwF0J{&)ebX4}9)tZaNQMY+6al`+j^vtP$oSV{xPV}2wXTJ^Y#_Bzr626FyqLt*E{3yqaO-j?Jiz4z z10bhF@CmF*Gr2nn6Adb@z~jOK7{?5B!Bi9Eg$rCrg*)#H%7u|2Ahc1!=jVKXZ?gdG zxT^8}fS?E>{_NVi9&k%gK+CdWpkSTb1%;YjRDbzOQfTVrXl}_b0@6!)l^nT zJ82L|H+Ez!Fh53M&+)TugX=F$FUZ@&@?7~*CW4JveS!FSPX((JkoaC8(=qA!UcXww zlP0j$%OH?(6223hcOwcIdpw*W8!d^zo2h)<4z&f?4?$LBwtf7h2sGat0yY!KAfP3n ztABr1z)VDQE31>6BPjv5oKXhm_Z6{}ToTwLt$_kGUYTjdN2T8!n-cg8CZkCpWw@dx zP#0)JDM89yO0&MNehSe(6O700000NkvXX Hu0mjf2)4Gc delta 867 zcmV-p1DyQ32l@t(B!4YXOjJbx000mW5G+V2Iix*8b~tw?D2+lXrZG9QtYXHBNYXh? z)kId>(2MECSo!(+(5M+Q00001bW%=J06^y0W&i*J`$-tYoAjlp^|)l3IS(sPg(z+#$y53(_hj)F-q8>0=BnSXdGrA8Y9G%!i2d@xMl zp_F&y!C--hiVH|Y5V4dK7%fOC$h6RZ5TtPgA-=pIkg1#ze@rmvkl@erlEXSA@zF7q zzno(mXuz^u8s>osa1qHcDhW6|;KvVu>4Po*p{s=&{ScSsmr0;!47J)}UzbDQ7x<;?B_SoSRL!LO zCmI^9pnuE40)k^kzhG(!j)e;V$iI9pxGs!jK}Q=^eEpuEetTPhIIfnaKzH|Y$)ESO zZU-I-F3@~!5ELx)eZfV|uBd!fDctJhVs7y-g07qLavnPgTNdy3of`t)#}1c*@D~Je zKa}wB`3*A(j_nb7d-;(o!PZ%QL3zG!1$z;)vwymSf>Dj1C09_3FSpI~31am!3%E=o zbwV!F_6dkyuibDMEtMddd-?8lXe_{<1cxGX>|@g-@cd-R*n@zxpf3Sm{fhz$QOvDF zojh#264;kB)HW=j{|DWtr+*RBn)rzx+C`6^-7Mg+jS5rA;U* zN|X_&X#bkB1l28zMup*qN0Ksk;T%_HLF$VeKxHN`M^#q<>s+-Me zswd3~Jh@v8x-3cY`bSC4b3MJvioLf@Qfk|j7)MCLqE1^y!8=VW3Z;1L0I9HW zsSi+RVaw6928&UYk}?HuB&EHZMUK(VrKJum)U^(B#0*dW%V3nVFaIpH&uPm) cV_nYq2kM$sxq3?C<^TWy07*qoM6N<$f=Ab(L;wH) delta 798 zcmV+(1L6FW2j2#eBmpXsGA@4sO}?A}0004WQchCwS`}z3}wL#CQ z-HOuZ)U@o>Q|ahok{(jgdM=e7swCS7k5<-_DdC6GMlDN{#oOG+UYg)dx( zN-<;l7WJtF&=$HyZQO=v4Iv0??wTW{xT#@Fj80)hgJXzl(^U|f+d0x`#2hYRsGvlk z1d(#0R0woIY9JzDJpv%+MEz}{f(X#>wFwYKO8&GCiPX_4=&UtULYJfj?b|kWKK2yC zE`@y(0}ZH?!YHo8O~QXl2epbt>0t3_yeLV+0!@&z&igKADkx=JB$OnM(@%MQTL;Chv!b)$%@&QnR1<)lfPJ<5OmwQj{hIX!oN+mZ&Z97EJ* zRX;~vYqAu@QPNHU@sZG`aI|6~iU%nLObrzsv7fy>mX_ELs^_%q z>{^ebF#gTyESw*Ov9#|qsmdC@qCx8zeR*5UV+(DqgPf{|mtPr-a^B0oO1kwoyrzyRt)1#?8>k3-k8Fn_O(m z_^%p7oy0&rs-Se8>N#PCUzg3g=GK1$d*JAix)KDiotwKXD4J9@s|c9?Z19z-R4O$) zGp_>^>j8FQ34dH{X*R|7b~83QnzUnF|MZ!2epoDq1@?6Au*O?A6*DQE2P{Fy-;bFa zeYe7}h&fD>z*jHdOiC2O!eNHO*B>L+akQAS1dY|{Y8Ws{0Gu^h76QAaZQE?AW0!Sm z<;LGNsxsy=J}+ho{NUk$S+i=bHIS0sE-Vu4(7~>1)qn9RD?ulw$Ialo0lWPY5IKZ~ zIIhV!F8q0FG6@(9k_ryeIXrLO-ck*NvGTNiX8qMb*RP(N52Z`{<|+$8;e=Ya0gM-^ zuBI>{xrHV#IfK=8UlfP+?vFpx_p5HQgLJM)b-4JlYK(iqsT{Y$WC@dx;J~fCK zyc}o!)s#e^PtDA*ZaBzF5d-F24VDS^=}TEXu`-7NUXbMszf)9Z0z}Vl1>HHmt*;ljMp^enLVw_Eu;@qY-rZAOTb43(YOp*MFfI=P z^dD}UGUxA4dUx9n@QR3M7tDnvBrZER^OrB{u&^#DJ&?edBY*P%VT~TX_RI8MpYZ}W z@$y3BxWup_IV3Ee0Vx|kW!SVT5eo&LRyf`PYf8rS9@l|ul$Gjg@#rf1{oB$cSXWiP zgntVQFWfWz8*H~vUGGIE6`ElKC)~@A3EXbslqfQ(P+u=eMO=3Mmh z&6l+8(XNgX$X!s{kOz^Rx1cZxC67<}l!U8iPBdmiMx{C-Md|^|90qwUl9!zYDVrBW ms+~pHRHd@c`>&M!107bNTrRMdIsgCw07*qoM6N<$f&c)4t=!H4 delta 435 zcmV;k0Zjga2*Cr87=Hu<0000Jb8Pbf001OVOjJbx000mW5H2S&Nj*+fNk?WI1|zLSid60jXPj3UiREsfqC{OoNih^zwq&5-;8*(W!|n|nJKL^&t#*^ zb-fsH`B)NM+Re6q=w31f2RR705~ z9-@XxJyIYr5`QZtF@$(9Yti$RBv4|NDW27#eGTZ@yR5bbhXE4@I^?N=S>d!0wGM1k z1n0}#9jmArvTe$X#1!h~bLQI)ZQpg|!H8e}@D|!&58X0j%=_|N_F$(uRw1JO?n{YN zb_Whb`szbTG)a;!!)GyE+{=Z$R()J$$n`f}oXVsp#w_K2r7>R=JMw?4wJsEXMCFaq daqz}J=NIGYTDt4ziI)HX002ovPDHLkV1ixv#AN^g diff --git a/public/images/pokemon/back/female/332.png b/public/images/pokemon/back/female/332.png index a6940fbaba6afde97a2b62e33b278898de560844..a432b1af4b25ae452c9cd11ff315671ed04c0ae8 100644 GIT binary patch literal 19460 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 delta 3047 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 N002ovPDHLkV1l<|Yo7oB literal 3982 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

      eocbSjHi+hL*EL{SEEJ$~kAh~pRr!)vsOLr|P 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 SN~djObb7apwac~8k^ceE70|o@ diff --git a/public/images/pokemon/back/female/404.png b/public/images/pokemon/back/female/404.png index d6fdef26c830f7dbc880b2646db504644e98e2cd..27602ee0439a7a85014d4317d2bffee2fac2d77c 100644 GIT binary patch literal 36801 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 BW?ldQ literal 11136 zcmYkiWmFs8`!yUWP^3^KxRjv5A-EPva0~8Iq(E`^;_j}+DPFWdad(Ql6t@CJ3l!Qn z-2dOR*83ruIs5Fr&%UmivsPwSB2|@TurbLn0RRBDoGerg06>a*{-C@-AU{;eX%PpI zs-gxAam2;N<>Hc*mp7A_cQG^bG4pA1F;nxY{@s+L_ita1>#QpoK|*p>Q&tCv?=M*b z04&&YPzeoBqxIaL__blTK{@%aHLT8`7c12pTDYBj_3CLrzpULs=st~>Q(<4Y6NNAB z2vOkfDjTu286Ny}Dv12eSL6jn{I*<4+eTX!Sd( zs2V<3Vx`ButMhlc3N@_O+l_kE<*GVY^Sb`S5|-ETt4@u{K9^!(hu{C|bKlTlDkO@3 z-loY}={B+JfMVcbb$0%^p5sdA&2Cq@G9LZGy{p@DwHa{tal~dX_uvShM9kyvv5PgT za^7Sz3&eC#4p!C@i?Wn`R7}}k=v8u0iWE_!tC* zf~wqlB!LbB9-$s#U`e}%d7Zbhy|470xS}duqGu3J;%E}Q3w6$#McY!4~jO)?gTKi(Uh+0=An*^F3q!_f9Qoz4u5|1&rKvHo|sXC zoP4`;6u{jmUfso%NxJ1P%Y*`NpFTkxpE^s<)Cr;XtM;3L8VmETbU772RHQLHdiDFV zdz9eUW0D(DMijEbqWB+9@%>2(i@mQF^qu)}HsTf*etq5h`)_vNb3ym#OdCX4i!qL_ z|HhU#gS*5S=cCX?=Z48_^-^5U(F;fPM7A#U$ObVT+Xl?GpJ9h8zF@bvcizyEhu148xOE=(f@A$t#1?N`+F6d22c3_qUBX^dvp3o4jB3RYCg&RL`YUvt3~_UB zRcSMf#r|u(x3Tu+(|g}1)>iv5&+wl(ahl9O68euB7jIWM9E9B$HVDL4vwWH;5GJSD z8n_EJ>;{V=HiArj>{%Zchpx)B8Qf3UJtiu-hG8e$k$2#2qEV+-(nq%w{?+Mfa&^HL zzow+U!9|JLq13WH6U&CVk|1!H49DQB#j{4^6_#1nh1BQ+_|SFc3hAQp%J#U1rQduQ zK_pz{el$G5&@PmiD7Hs7U<=UMg^p1yEH!*4!9iJOG@zFWoEf>9Rvej+`66HP3lfVuXS6k1Pk98xq z8&28V#vK~mOP!l4wbQ$9;R21h@m-{AnMbubVjnVx^tJCadSY#GJnYA>JpA~oEm-}y z31Hw@kG{Urv+9$)>c=ld{F^rs+qs*TM&z5jEAu5+ABmRiujDKy)>R#KqxYnMqRb;T zE0domjk9Mp*Dy63x?IG*i$(1u1X}H=oImnKTVAb>e8C$q z8C?1N_HH|aeaPug-iqemg=)!)jYs{r)%%VIgCd(PdmVa{mkWw%Ntp|8g`x14yMgUT z({pLliS^ov1>MI*Q^u(F`Y!Y{sxiD!!JEy~QumsZz9v$wp}aU7cCv%VTr97+x8zN> zc1jBO=?`Z+9v;p94gPh$t18`KkEai2i9%c>!Xk0r z#at)5Q=7bl7Lul%w$8I1wKX#4^3K+)_v;!Li#UsU>s_BTeLS>@82mxalMmn@{tugj z9>wq49``0MlePVevh|5SMGVE-+%oFMcCr6JfsYMlx*J4Y1sBkSeeR=oj*Tz;61BBO zZ`a`NcUokXCY2(a$|2*R)9HeK&z&5rJ(uNax3+2L5^7^_u-azwKATpOZS`Bcf{*>j zGLk>hBrxKdtq=be^J2d0wk5c@xOe{gM;|Vn!YFR4Y@Qv^{1JCWuu{gR-Y0J!BVvsfBow}K`$13>U>4nWq^O9wpW@!+PD6^ z#9S&JAF@m@E{)j!4A$ui`8ubTuyy_MFzeM#Z*qC_@lNV5M;F#myxm~K?a{+S-~G_Z z+beAsgTEL!pp;7PzfoZyh%slhRy7KZN=8vrP;33zItlua)tb))%AVSyx98w zc1nGrwIqJ~%|F^dtFJqeJ=oX}q=pUO)POPZ%M~@Q7WEOLyQqiR|I-Rwae4EZ$_ z-P1fzTrXEQv}5mgPO9>?k#)obL)Ml`Nu$tEBdh5uNTUgw9=Rqt2nX(dJ~Z#)${l>! zXME!?`-pToj~n^Xu5SG8<9*(_aNT3_4e?*x$!X*#LYM?is>a0DBnY!&Z|kwvbujES zT?*bQ1NryxBB^KW31s4B|44|9O4@w6+m|;vJOA_K z$I0v2`2CVAKG(RCF1=8ur|6kQ0uQUa&O-8?O$OhOVqI%*Bn{$N$S@%Wj zECK~n1FixYf3CElF^7BXpsw^U>08T-4)Pro+9_CSnhiC3jecZ>5$A+41zj&YuHpT} zIjvmYf;ES>62~?~3L{kHI|}b^3%)C*(i?p}*>iwNRM_m7nEU?N`|E2+`85YiExpJ{ z$mfUjZl#F1AaOCPOozrQM7Y;g;@Ejkp^30Wyt|6JANqfzrhO+7B55;pfBX;05ll)j#s3ireuO4j=Bl$r6j zjtc3|;S-ib#Du5k<1QvnenR*^w5V>)T_e$@|FuLs6A) z?<+HPD*{Z}!qz9DTr=ued4zHi7klx)Hf@2SzxR#baixFIPYc+cfd`aG0^29>K6!&M zxH>ia#6%y{2V!yK+>bl3{!z3x&)XWQtSN?cEZ1r*jzne4bn}32m&};wt%v7j+VS!> z>ZoYnNT2CUV6~{HITQjyQ=r{6J8m`4UZ7Nvc0)f1EFj&#y>AW-Z0u!V!o=k-q3-u| zs}k5{9?%>FTX9un5^-~U1y!p7pjv`ZrxFaV{T4~wBk)2Ul^?^s*1qEjIKXsEVvytk zH5Rj`?Nijv&I=lB*Ih%GLE^w4u@A&SW;n^t+w^VD z+xnIiLLxIQw1K|17+08Z*63&C&{KHQ5tGh@kfeV+mliwVmTmL85V3aa42QZHIA-CF zQ7twmYP2RLuO-2%GapSk(XQ1^s|iC$4vrNAQyIJ%nWlv>r@)GZf&P#e4;}SExWR#g zt1q=~WnEV$B%H^>-GBor7nmlGd+&pAi{5Nx#9NM~nu@u9hZV@Nv`sMm0PkF2&AKzd zBIJZS^_$t?rA15|+YGiqI#A+=0 zL|)B|F3aJLd!}+>zL6dZSu$^m4`PlJ;Oq7!NOMq|F!%IKZ`{sWvS_Dy0v4hFgMg$n zs~E>Y#zuFiA$!>x+@w@greR_UTB3%hhJ!3qDtOKjb9i{~az@(Y2#5UIGg2y9BKLxY zr$sLu2@URNlC`S2EQ98D+hWpL#;|vPDUl}igy>W)^zL&dmkAtyye~Eow!Hsgndb0& zE1D$jw1)^#ZtX$J(J&HEYK*2ChhAs$xl_l7fLn0elU7v?f*j_2Itm<1Ki9bG|K<4c z8wCyf1}Ld2kS~zmLya-O@_gZn14{zc7Bh<5F;+oOvqBj z+K-2}Mx*zmr=-;}->=b)^xAI2oY|yWvoOYFeo#~4U=IcUr%BEviqZas9G4~2eyp8s zl5ME>MaGPa;VSb?QM@}~=d|8eSBmuwDb=K*D1CLnT%((Ld%#@(p$LU$ix?~-F!M$A z%jUO5D4zFzG03cW>q@T7m?8#CrJs_t#BDGaGf4(+_Ql0*a6xEU95prknf=w5?==QZ zDsyK$Ni&5~KAiAH`ipsw{Bk_?U69aYI|uQ$#b}$uBy7g<-)Vl>KAsekxyg9x{a^@S zInpaI$QGg_%OFRjIhoWI1|jnNorKaE?rx{=ZBWYk$@rV zDugMr=58O}sE4m66+G@xJwCI2qhtLm%jX~Tw-~bQZ?GynzMB;yf&}nL z=vfz|4Tg|(gSyBvZQ=2tTMW-gh-|%YM{XqYYvNotN?DfJx$c<|k_8Kbo|djF7I*SJrhVqY+;=mZra!Ec1FC1SyB}THfRTN-4wa8L%pqCQv5RoCW85 z>Ns&_A=Jsz^E{YfDk6gzOB+{)8>C}sbT}$;Q6^cgoL_*@^tS1LqW5ZV@|7Ds@2qAs z=U$c(uu+K_sEx_@$|2C}i`UIAb(l8NR6mS2c{E>?*AQQwNmAvr2lwU8X-w2;EVgQx zn+cb`YDCK}wGrn;wLw#jRW+Yw&0>F1-osE%#*iVqD-W)hBT`BaoH0q(z$Q?9TL2EB z$$mHON(#pQ8V={hl65mhxcsN7?kO!NOFKs1FCbjzi7p)z|4?gPfwm#eiRVEFTt<0D ztPw~U_nvI50=ORI*>>vLcIYmqFd@n|3pQ(!&%4B<84QjPR{Os(HO~^2{5-2(oFq%V z^|N5XWELUt44s!uRI0c7_9_HzHMpG2N~R-S&*IsjyY$&Xo#0K$|33s@DsZgY5EI5X zQg{SOAhXS?*isDC8d2%<;PgMyvxVLZT<_5 zS~1v#A*Q=*A)lz!V0Ay5O<(~?es+o^4<$)IL0-T$!e#&>3Qt?4Wi^*KMAHjqYsj2H zRP%>;-6F+)*f3AST;1Hl!0@+pDv}}1j0wxnqY5`orgF0E0S#F5f#V7U!Yc>kBWbY8 z21`CD7^1a6t9pp0sk>GAhUZe6nyn$1mYoQr7BPQJ4?F z9+e@j{N{(_u`b$5sgev_K11}vj6UwmwPADDtFz~jSmwKFG_r7Bli;8j%`J5|G!F}z z?q0XzVfW1lSTt*lv5`l0b{Y~XJDznd>U(qN@sJ8rKC7ieYeh}hu0M=E#D!&)EcGy! z`Wg0Uy6D>lKL6G)2XdsfTljTo`i_Vj#xj`N?8eXaqYHUPRyqf;_1^JuHxQ1bCPzbM$)i^+qJ z0;x#)?NHrMGbY@V<7$Z5UuT>^vb7Q_v6O|>Fg{mL?u^&86NRKF>BN(8(%Mi3U{cbQ z$=G^;!1!~Km)`xD1u{g*(;Mr`gv$v-vRCu$J%wAT{-zWN;}$3=Cj~8APK|dQ4OWFa zOu1`j30%I^WX&yoM}$2_U?Co+!1K9Bi%YZ5HbJG0zL#mO?8gaylY^Wa0UA)2I$sw!_1_RQ)OWB!=9F^y@||IUB3C=@SK zcVPP=e|r_z3Wa@MrrsDd&WxLxA4Ab_FTTK_7?D0Y-ZKp?F$oU&?Z|h0u@yo?plX2= zBws7BQkf}L3pcJG%&0M9P!@ZmSsPHKw47h^r8$G}*7Dae`H=0L4F9WoD>J8JHZ}Y^ zLCfHu1F8;*Pp0QHy_F6W$_`Q@kw&Gnn8%i=G@(oR@Aj7SJK zqk?S$V)d7!3^B!u1S;=pS!A3}b;hD4s>H?RzH~ZKgyu8$n`l!j7w-+E5Wh1&$24+6 zm^d?IiY^iMV1sxBAh6CRTlbr@kv}u%ytV1G~L8tTl zlU4eJp;SLHS#B%efTCCs2+r-hwuK0=RqaWiTW~}RfsxyeXSLjLM`TY;&^&H`?zPrJ z6nXgfCC1;SXl>F1T-lbqOM18-EBddko5w`?YrYbvF$stn3NG=!#kLKUt0OZHU9Xho zyV#d_X)E|~XEd2|rh1+BH^a*|Z}5uFV!E|f@JTEl1Hgl_eP>n9Y@08czsAUm7BlXx z4vxF1ZU-~Bx{tHe2^v!WwniO4Cwl4WXe+t)+tnm{RAq6++~S@Z&+P0)cX@3Ljd&Cn$3DX+ur<( z7Fxh@=VA*)_HfSdVQ|k4*AZf7FWzHed+2H1+OvZCmAaa|KgkTPJ+W+^qH5Sc?r=5= zwjAVV*Gh?pxJadOB|-d}rZ19$4Nr!N%(3gp@G=**q^3;Q1W^mP?0uJbG&lscWIA1jow(H zFa^IT>iZ;wunmh#r}(M2JlKF*OwPk7h^A#n9AM*<6z&b_RnI)qD=m^t85F}tawCxw zBu5pZ!gfd1@BSviDk#0}BnQCUyK|*mu1~W!h`C(&yIq-pgKK^7joVC)gw0AyOJfXmQ=8#$+JXgE0KjLN+-kI>io(akiSy%-m47#&#zc1$XOVe ze`?D}4V#j~Cqy5bpq7LnW^95ZhmZnnjaZ;X&5^K(AvbT(5PRCz7j9l zD*#f`lM?wVC$Xx=;k z`dpesb2@&o4mQ&Dp+ZTnkhY$^Y6gn;b;*o!E{juie~dWx|0cGHB1r?u4yV)Qh23iU z+3>lMd8djvQr(XY%JqvaQEc)LJZD?gnq|MEi_BG}#m}?~T@zizi2L2}B9(wR?H-7Z zNCR6Q8nNWWtKEJC z7$_lCrO^3nwi#~ZHv~}(=wLK0&ZA#XRSfz=jQL96(L)HpWH{>hsyfQaI85rW;koqi z;9zfQ6J>A~P5z9U;V-pPWxvwH2v`0&Zshx8bzoA!yL+&wTWKR2Jqjbe_O-g?G!UtT zk+QdyUtKR4a;|c!HjWMiXVK;Bh>ecVdJADLjOsA&VahZCQ;g+_A`DTKg~pKT?Y<#j9cZq<}OK85Z5L z5qgT>fLWlwXPBv^Cr;jIt482 zhLU(6;3bLE_pHN>@d|AugJ=3k)aOCyXS+^8CPVpTg&Db;Izw$1Ht!`{`7&Guj#wl$ zls>3#JS`dmuT19)ya^LKlO%YdiIzA$2|%$?)tU@fSwD-svaG3ml(Bbhb1~gyG_H6W zAKb;8&?)_ShbXkxhZE)uv6!vfT@P78{peux#c1@6lIU0BKwVah6DPj_8$2P_OhFXu zN$J;csaDqw{rY z`&W4lyG!gbvJ~>PP_EZ={cTlNddTyf2d(Li(uy{0RImF&V97#%{zx)J6R#&w<;!Y(?=v(3W$P$!>8OnM~q5 zrM0U3dfMj~E?4s%IMSXn~^D%72R475Q!dIPsLmj=Abi^ zuaWVR48wzSgd)n>FTaee(^M{4&E!8C&ui+@o4{wS1-5*wm(?EA#0x8Cx#)^5@-!YW z>OM$b@&fS9z^%{(;f^gI=oO)oBoe@`oeP$R(>G(z(ieCE3~PkoF@;HJCDh9OjB-@s z>6OaBqOxKMrU-%yxu};@dldu&oJ=27ZMH++9+AvO&J2>JWC;i!Cja~-$(BX~?+y7s zsWruq5`cY(9JahtPOY^-6qXy-+SC!#ELlpp<0~!9`jR3rvf~v!VIV|l4PzUc786#) z`T86f`mo4wmLV{$uE3#c4Isu2k>@KI&zlGT0NowVO?LviWI;$}jflJ9}o-~kh(#c44KKfLR?TJ0oMReJS}pvBM>qW>fKVeLGR|qpnO|o z)5=}K82qXao~)?LJhxNyOX*E6xfF8dv$HrA$@^ykEYv#%>9#XuV{bA+oJJW%0{ESNzGIa1(4g8e;45}yc!_I0SDQjXcrAsHl|^e_~BC+8>zC`u%` z3`*&40YhexI)Hx^;6odA4+6ww&gh@deaU1{Psi(B@xV1wZS%wA!*8U_iJ8=B9n zp~(54z|#=4@f2eqr0H90p!SMLiW!nm@Y+B^H=Pr*7MomxNHrQe=((|9O;b7SuE;#n zq<2qnv8E z?Y#2=_}plTq7fS!*#I>9EwH#j@uiz0aJfi!<J`RLhYF;F zdCG4%TfVpVVgbDHBxrUELImbaZ+GqHS}H{|x&nLBF*(GGKta%MxFp4KH@LUis%4KP z_Rs4M6w)cH2x>gXl!PY1@lRpK)>U@yGCSW&kpIKsjwxwP(}O0{0Wy0R{8pnDiRyYQhzaO{P9kV5SHSF@$=Q4Y_;#;fB01o81XKr`-3k_ z%6Ak%NrwEX2yW=)4ktaXc$Kf#ofveO5=k|yd~Q+-ehAC8e6QL)V0|bB_CsVURTDtP zWGkT*h#GQIWF)Kwj109h%ssQ&VvTyNz3do`wilq$dAYBqNMHJb%vmf3p{r`kH#hr`gxm2?Q8>{RSzqc~$!2hhZ_%oLmL-|F=} zWid9*tFG;N9;u83=9tD*T8{(I_@*FG;xzmFJTnVEB0bU$9mPU@B}$8y@7(MLQ71hc zXiJm;9rWooRdOnfh&{k@4Sd2#0zT?XeUkNg^MTII16I-u42Q`u$lR zvXJIdR!%ssM?%C%MBF>k9&02S+o=V00Oo@bm5xd2Wwuj|(J8YtmE>9=a%Q4e;3w*v zg5ij{8ro+@)i&xA3mW?ylTfKP6x3b_2Z5->u~Z^nCQ|+-wNGFTQYmD2bLj`q?i`=R zycjBKQks{ksDyevq8;Wq0T4dhMz?;Au#)O8{AqVHgAJ8^_03F~#9G2+L)A53%n&6* zUWo6dMjxVbrHX$ZmXkhqWW`v~2VEgI6~R?-5#{0)9g#4*{*$k!(< zBpu%In6&et%_y<{n24VUFsut#9RHekrNp0j+)ox+b&WSfo&2w4EwAHA%V->2s0qx1$ESG6qW5H}6KRCz}yJEPb<}7ILaj>^i?e(7IeI zvIwc$Wh|QfkaK{XDiSvs_iE4GyUgp067iU^D+9Uh26xf*TC;^7OW18pOifL<%!Cl8L(9Y|MHZW`tsAK#WX|P)LJ&bR^Z&u zeiAe%T)Km5i1EO?<Sw@MCk)q{s^=xyo?Ao5cTwuKH5rB{wnaNTEkVyv~pRK0; zvl1TX9LJJE?vW`6?;lV|cJz^waiFsY`@ST#`~}2*jWMUk^q&!)Pu>yVbEc$o&KKi9 ztoqX$hbu~+6|}dVH>87DXbkyh;!#=^ipOa1f`Q>tw@j1#joRkEK z3?KZ;Tbgwb^(L-YYwgdwPnfF-=Z=UAB7}KJT2kDeztQtT?ZUpYbUIjul$P}JrR4XB z5(K&>$4AD|Qi3R>_#%SM)MQ@me?7XekM@%xi(kS=(_&-VL#;>}#M)jb`V+@PRY(7- zicHR{;K$4hHLgx3p&!C?*AZ+_p(AQW`OIG8%$Ly4K1Ev62P_w((Gxpo1km3prFcd5 zfTb?ybrGPk8|fFGB@MYIW>D}t+W5_PBs`2G0|`k<|LM2#`E=OS$a%8h?D^D_PU;H& z?RVYzKktn6A4TTpvto8bw4_1t_#G;D{wM?n$iKz5{@^J(VpJeVGJN~^uIFZ(@gK(N o9nWVw-)y@6@0&o(?%#_Czz@bcUe|KOzhnV&FlA_sq)E{K2j&~*>i_@% diff --git a/public/images/pokemon/back/female/405.png b/public/images/pokemon/back/female/405.png index 21d28b1fede72c830bead08b5b94af68449ac341..1aa669e1fbdd4a46dca0aa0a238713ba2d5c0505 100644 GIT binary patch literal 23649 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 diff --git a/public/images/pokemon/back/shiny/782.json b/public/images/pokemon/back/shiny/782.json index 326e8fa09de..ed58485e3bd 100644 --- a/public/images/pokemon/back/shiny/782.json +++ b/public/images/pokemon/back/shiny/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ab84568c98e2c8417dfbab0b26bf5b7a:bf5226700592a08e6818638b6aca1b1a:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 189, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 189, "y": 52, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 48, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 1, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 47, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 139, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 139, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 139, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 1, "y": 105, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 189, "y": 52, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 189, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 237, "h": 207 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/shiny/782.png b/public/images/pokemon/back/shiny/782.png index a775abe8bf413433ce2d3ab02ae7b6a94d84ae4f..e5bed3d1642d66f9ebf1e120609c7f120fd7ec5b 100644 GIT binary patch literal 3331 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 diff --git a/public/images/pokemon/back/shiny/783.json b/public/images/pokemon/back/shiny/783.json index 253da2ab9a8..17ec3df99a0 100644 --- a/public/images/pokemon/back/shiny/783.json +++ b/public/images/pokemon/back/shiny/783.json @@ -1,41 +1,965 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 69, - "h": 69 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 66, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:e5544237a4fd9ef3e516be84f3a24a8a:dd780189298088c8e8eb741377c46b07:aab166e28c744865a0296041224dd01b$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 202, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 136, "y": 208, "w": 66, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 66, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 67, "y": 274, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 139, "y": 138, "w": 67, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 67, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 290, "y": 1, "w": 69, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 69, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 147, "y": 1, "w": 71, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 71, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 483, "y": 206, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 141, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 499, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 356, "y": 137, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 424, "y": 138, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 430, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 498, "y": 70, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 206, "y": 206, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 414, "y": 206, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 192, "y": 410, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 63, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 324, "y": 413, "w": 59, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 59, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 63, "y": 414, "w": 58, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 58, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 388, "y": 410, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 472, "y": 343, "w": 64, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 64, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 288, "y": 71, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 218, "y": 1, "w": 72, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 72, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 1, "y": 137, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0091.png", + "frame": { "x": 359, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0092.png", + "frame": { "x": 218, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0093.png", + "frame": { "x": 74, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0094.png", + "frame": { "x": 70, "y": 137, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0095.png", + "frame": { "x": 71, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0096.png", + "frame": { "x": 1, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0097.png", + "frame": { "x": 1, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0098.png", + "frame": { "x": 279, "y": 140, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0099.png", + "frame": { "x": 492, "y": 138, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0100.png", + "frame": { "x": 429, "y": 70, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0101.png", + "frame": { "x": 359, "y": 1, "w": 71, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 71, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0102.png", + "frame": { "x": 1, "y": 205, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0103.png", + "frame": { "x": 275, "y": 208, "w": 67, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 67, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0104.png", + "frame": { "x": 211, "y": 137, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0105.png", + "frame": { "x": 69, "y": 205, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0106.png", + "frame": { "x": 347, "y": 206, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "783.png", + "format": "I8", + "size": { "w": 573, "h": 483 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/shiny/783.png b/public/images/pokemon/back/shiny/783.png index 6ba2506ecc865bbf82ed98ad49a0f09837a03233..30d6c49f5e07b0b8bb2c0a4dab0c289eeeaa0320 100644 GIT binary patch literal 24629 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 literal 731 zcmV<10wn#3P)%UX00DGTPE!Ct z=GbNc00Li0L_t(|UX9j2Z`wc@2Jkx-dA1S4Wnl27%8ops4wZ~_s!gYU1k-`aY?ds& zEZI=Fl?CNUW~9=+Ls_d#*)sE8dgp%!A-v|DK>F!<-m|Qe$vb0BN#o3RjmY{XcX5-E zQf{v>n}#4Nv7qY>NvTxDf=H zaTIdF2}pnkWzhfLT3}0qn*P72(cFo7h8|2!76~keY7<6FWw5dgAmRbR%R=BOA$Zvc zz-}_*pDAfF-zHd$uXl#8Xh`4JW*npD;15+7YUttc3czE$Oqoz{jC}A9ujxD#0p7Jt z=Of3)yN1w79_|rht-cH)y_EvlI$5R4cyhBfU^;zcTnGW$U1^N9+fCmy-qF%Cd3yU< zs}2W%5$mo`E}QL1Or~No%6bp6F^~IAd=vv2C_~z}5BJ9G_kT}Jm>cSu9V}(`ri|)s zIB-H)cXPq$LuGTZ2#7k_v_i?_k)e=RDWrmKpPu77h##2@^a!DY7CDz0Mc zpycT#uFyo3sFQ=7>7bqoBIKjsfxc0}7+B~sSqBj+#DepvAmvJ#D(mfJZHOcEEDMts zRByfc{f8KIY~0GIAY}}SgeZwkOGBAAJ2r$m#jg6jaVx_-_3u>a3AE35CaR28I~&E^ z;@TN?Ah$n~Gt*|D((*?qPhPLz2-B~OSD4j#4AaDz-o!pPUZo4{7+}nxD!sXM)zPbr z@5Du*Ke%i@Z%gA}3Ub)ME-HR=+4+KjQrZv|x>(lCxwlmECW40>>vV8Z|a N002ovPDHLkV1h;2QHuZo diff --git a/public/images/pokemon/back/shiny/784.json b/public/images/pokemon/back/shiny/784.json index 552fb3c9595..87ddecc06fb 100644 --- a/public/images/pokemon/back/shiny/784.json +++ b/public/images/pokemon/back/shiny/784.json @@ -1,41 +1,812 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 92, - "h": 92 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 92, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 92, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 92, - "h": 81 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:3e83e25b8e7e32a8993a48c7e36af553:6ed75435976e4481fad74457807089c7:c2f7ca3ab1075b8c824730653d891244$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 397, "y": 160, "w": 93, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 93, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 101, "y": 85, "w": 97, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 97, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 1, "y": 80, "w": 100, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 100, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 633, "y": 78, "w": 102, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 102, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 214, "y": 79, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 420, "y": 84, "w": 104, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 9, "w": 104, "h": 76 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 318, "y": 81, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 628, "y": 157, "w": 96, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 96, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 430, "y": 1, "w": 100, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 100, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 111, "y": 1, "w": 103, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 103, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 490, "y": 162, "w": 92, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 92, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 327, "y": 322, "w": 75, "h": 85 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 33, "y": 0, "w": 75, "h": 85 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 476, "y": 400, "w": 72, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 12, "w": 72, "h": 74 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 153, "y": 394, "w": 72, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 5, "w": 72, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 681, "y": 397, "w": 72, "h": 75 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 10, "w": 72, "h": 75 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 80, "y": 329, "w": 73, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 5, "w": 73, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 402, "y": 322, "w": 74, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 3, "w": 74, "h": 82 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 251, "y": 320, "w": 76, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 31, "y": 1, "w": 76, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 604, "y": 318, "w": 77, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 29, "y": 1, "w": 77, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 525, "y": 318, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 320, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 169, "y": 314, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 1, "y": 241, "w": 86, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 17, "y": 6, "w": 86, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 672, "y": 238, "w": 87, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 87, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 582, "y": 238, "w": 90, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 5, "w": 90, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "784.png", + "format": "I8", + "size": { "w": 763, "h": 475 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/shiny/784.png b/public/images/pokemon/back/shiny/784.png index c32690792ac76b79179b5d57f7c9e180a6339c85..51a3962a6ea0fee62e9e659e4b0dcf3bd7060db6 100644 GIT binary patch literal 44603 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�w18CkSzo+I1^Q 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 Hu0mjfy5D^9 literal 1373 zcmV-j1)}72XKppJo~nh6Ll2U1jZh>W*rb1I3UHfM*%S%s}u$@ z%(sZrg<@BnhxrVnL|NPpf7^pJr@do87&0@{$F;k95wpo%z5t(5CNZl z`JQv7w6ehAymF1BV8E}%@r83O?nl>%*AT~x#xHa3F5YI@MgKYRw~K1TKRo_&F)lSS z_jq?9zAW{?^Cxd7PHLDd!(H!Xnm-wj`4ya_dmQunEc|TlT9-Nc9Am!gEPa@9^p7x_ zvldp<5H)||ebgT$`~Z#uM`k&NDg!QgfSuL->9n43=sT1ZL?yg~9>Z~0i2d_fc~|mi zsd>~7oZJ?Puknu0I9Nh_xTxp@JUn@DA0A?X*E)UQr9HAnLySJ{ox2ZS8+p$A$arVA z7%+5EzkDsc(_ake^K5vBDUxf%83;XjnE+)`O%6)k2cVs0 z{)%aMVj(ib%&1D0G-tdE<~Z^)f22-&NS-lLDbHp2a{!Y+5l)&Ll2byS>l%6hZCr#` zHopgrs)L46`ocA@(Uf08UZ0=B8mgA$JjE5Q(Hv-4&FU|vVQ6hLARa_#X^xF1rsqr+ zycLE9jA%1&eu`3Mh$q>Z{4fkpAC16btGz7WF5_F_-yt0s*|yk8@j;``DkXeKKjcR? zheNAXE*OV>&3#1GjDP#+Tyb6mB1x-M-! zF0wx|z-aqIbV1NUwL{@$xB_-7tS_~~kwHcFD3vM`|J9}tRr4{*aVrdaB*R`9zEWl7 zl^tI^>*@ql6Z8Kys&MPo%05xLMg}qGcocLk$$@d<RjCz=iv~Ga8gBnI)*Qu#V zwVZrB9me8cIyGN${XN#TMel+?&2mMBqF&0$=eS6CMU|W6dCx956*6_# zm)sVjCplsyoZ`3tiG$=Gz(x6B{Fv$#4wFX(QzcGY2Y|Rdu$s7BPN9_wZI`w#xgB#8 z=kvgLHXbtODCGC;Ud;az&vyA7zAguSPESPf+p9{T0$VHRRQ(R| z-v{z(ok<Wr5j diff --git a/public/images/pokemon/exp/2038.png b/public/images/pokemon/exp/2038.png index c6fdb999df3040eb79e5f1263b6918c8660377ea..f6295093fcc8c62fe78a26792f42ac8bef0b056d 100644 GIT binary patch delta 7149 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 delta 2111 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 literal 58142 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 diff --git a/public/images/pokemon/exp/782.json b/public/images/pokemon/exp/782.json deleted file mode 100644 index ea51775cf3e..00000000000 --- a/public/images/pokemon/exp/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 240, - "h": 240 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 97, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 50, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 145, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 145, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9772e042208152c03f4677b5a37d739c:828b3c5d233c21ed5ab3c368a1cf1988:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/782.png b/public/images/pokemon/exp/782.png deleted file mode 100644 index 9ca666d0a7476b65aa00b0f6d4ebabdd5b82c9e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3279 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 Cpe6eN diff --git a/public/images/pokemon/exp/783.json b/public/images/pokemon/exp/783.json deleted file mode 100644 index 71aeb29890a..00000000000 --- a/public/images/pokemon/exp/783.json +++ /dev/null @@ -1,1154 +0,0 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 335, - "h": 335 - }, - "scale": 1, - "frames": [ - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 67, - "w": 71, - "h": 68 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 67, - "w": 71, - "h": 68 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 67, - "w": 71, - "h": 68 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 135, - "w": 71, - "h": 68 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 0, - "y": 203, - "w": 67, - "h": 69 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 0, - "y": 203, - "w": 67, - "h": 69 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 0, - "y": 203, - "w": 67, - "h": 69 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 74, - "y": 0, - "w": 70, - "h": 66 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 144, - "y": 0, - "w": 70, - "h": 66 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 214, - "y": 0, - "w": 70, - "h": 66 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 135, - "y": 66, - "w": 67, - "h": 69 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 202, - "y": 66, - "w": 70, - "h": 66 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 204, - "y": 132, - "w": 69, - "h": 66 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 204, - "y": 198, - "w": 69, - "h": 66 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 201, - "w": 69, - "h": 66 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 201, - "w": 69, - "h": 66 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 129, - "y": 267, - "w": 70, - "h": 66 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:f33a08a20212ca30a4c442095b0effc2:91a27eccd7f819b29aa8e5f9bc790c41:aab166e28c744865a0296041224dd01b$" - } -} diff --git a/public/images/pokemon/exp/783.png b/public/images/pokemon/exp/783.png deleted file mode 100644 index 58372a977c6b040d3ce97738943c795215c4fe03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6600 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 Xaul@6p27dULZGc~pjPtGCiMRR#)sVJ diff --git a/public/images/pokemon/exp/784.json b/public/images/pokemon/exp/784.json deleted file mode 100644 index 4200616ecef..00000000000 --- a/public/images/pokemon/exp/784.json +++ /dev/null @@ -1,1826 +0,0 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 461, - "h": 461 - }, - "scale": 1, - "frames": [ - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 353, - "w": 92, - "h": 89 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 92, - "h": 89 - }, - "frame": { - "x": 92, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 86, - "h": 87 - }, - "frame": { - "x": 375, - "y": 0, - "w": 86, - "h": 87 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 86, - "h": 87 - }, - "frame": { - "x": 375, - "y": 87, - "w": 86, - "h": 87 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 188, - "y": 177, - "w": 89, - "h": 89 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 281, - "y": 89, - "w": 89, - "h": 89 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 89 - }, - "frame": { - "x": 272, - "y": 267, - "w": 87, - "h": 89 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 89 - }, - "frame": { - "x": 270, - "y": 356, - "w": 87, - "h": 89 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 359, - "y": 267, - "w": 87, - "h": 87 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 365, - "y": 178, - "w": 87, - "h": 87 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 357, - "y": 356, - "w": 87, - "h": 87 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 357, - "y": 356, - "w": 87, - "h": 87 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:fd28dfd35a375d4d0d568c72bbbe079f:b186d9a5868eaf1d0a3bd9bcddd90d79:c2f7ca3ab1075b8c824730653d891244$" - } -} diff --git a/public/images/pokemon/exp/784.png b/public/images/pokemon/exp/784.png deleted file mode 100644 index e3e384d4699aa4dcb06183cb509a82fd460e97a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17198 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 RE*{8X@O1TaS?83{1OPDyYIFbq diff --git a/public/images/pokemon/exp/840.png b/public/images/pokemon/exp/840.png index 3e76cd5fff8187b7bf69ed942f5830d7dc69c6e1..86b701fa0d7e17954f3392c833899ccc86c0451f 100644 GIT binary patch literal 3795 zcmV;^4lMDBP)Px#Gf+%aMF0Q*5D*YGc@m`sG>t+j;v`DrD^UJLTwkjl)0$GG*h=!jar$qI{{H@y z*h*Wg9VB@YK45GE0000HbW%=J0RR90|NsC0|NsC0|NsC0{}2^Gp#T65F-b&0RCt{2 zo$Z#RxDG|*qEflsbOZ1Iv_p)s^?76h=~**t_|dBp*^-WMs=L{ibG!XZuVn!yXnfbL z2ob!|<7AqgNy}<-jbL8rR)k>V_#2BSiN3A!BtK3Q(2(bO0%R&QaVl=nAy_`kq%>;x z%E_Vw*dn<0MXWkenWZI8EhU1h!LrAL41M;E*o^$uBFx-T(MT+N0Igwr$F#?Tj0oU1 z$dQX>Ubv$u$9FZ@v8OrBK*P)GhVsoV!uperuuQ2;tY+u)Acu+1z;64UChv2*##*g; zpsk^rC#hj>(Nm7FD8H|_Of#vG7{=~{h~WNOBC&M6d~>r*W`w0Aw@g?=62p?#m&=!f zI~w*I=)~IWhM7grgA#L`rZ%zour=^uiQ9;XNk$-{CLw_Zqh=wIs=-E#4RX5e!Jv0;~LgsLf{r+TT8x#&CA?Au~s=}vzVzxHv=SU_G_4Y zFNuZ#64sG(tAi1Xnaw0;r$%L_XYLu+LM*po7#t6)WkJk5jJV!LaWxeyB(>o4dD-hKRu&nL5oS(69A!0!ce7wLN+FKNRCH%Xrf% zcuAV2pc?c1-zrj4cJ82AjmdfTCf3j(MGVHcJ1WKf&fT;~b|5d4O|EAR^K*lK+Q2$t)vK!WyjEH99gn8p^d#$fy!IOeJOO)Fh0e#dT+7SHQJ8_ASb`+tOa}`5C)+$$@7g%-MpHum*fBSWWk@Sk%_2#Dso&puF>cdM zjchXa&Wy>G@cQ6#FDi#thwAS-bv~Sb9Qu&8pZ@}oI0YC&Cy_c|SzHnR>OmlL{ZiLu{l>u=8$Kgyb zl!LI{2s9Kx>=ItLQb0HkXY$m<493wUB83|I5WB*_h@iVO#UPO9B8zkav0I!wq|fe5 zPbk_ZP(xS}jv#iHDum-*B83JusC)vdhj$S>u^Ncoh2wapD^xfkMk@mKf)G1^*9eZ| znWl!i6Ts4N3b6y&kKj0-$wuY7Wfy`Q({Dw<>p+ayUBV9GIG$-K&7%aT&qhM=uR!dA zUL!b;XBrwzP|p;eMeK9^tdM{CK{yU)G8JGaz`~8_pQR)dr=B*RMsOU@luA7>3p4r> z`VqTMG+^jprV!!m1W4^(t}!rU4-os}C7KcYj1haDi4Z&831C@sA$-PuD-69Lbj{F* zos;hrUrsIP8YA`@B6d*;Rf}u|jGZxbSxk)JFGB1$vQOZq_X%_}c9Wq82>u$xzSqLr zCvcdtTeb8M{56O@Owz1{$=LY-WwsFfC5S!TCvbqVoBISHg1->4gM9*TF?K2fBKT_% zd(S?Bkg@v=JwWi+AogINK+M=NLk|%AHHf`ypMV!d<;c@bzH=Hh~U2 zeMAEsd782R0mS}s#{LHo`xP1>2><&K`kHZf3KEA$P(rR3_nwH)@ zPve%-Bxh`}n%kSZ;{$s@bto;lZM8 zSJi;%doN$VS1)&qP20DWmP6G_3am-cm>Pp^Q&}jz^>2G_oEu#cJ*!>et@QrvFVfLh}iWmB7dreUP`{V;tWC0|!q+hJKwF}wC6u<8^1-bdeKzW$V0+xcg!!Pt2@d<`s% zojqrC-AUhDnl4|@S2KRy%qv;Nd>UEmTe<_&@y@_*H+@HZU1M)feWeCf%%(WFr8X9R zlfGwW>GYmMz|L=JQ_K%M*y?HAQpv747mnyVA=;?9naV_l4MT0{V{m zdc?KaP+3d=I0569k~B1Zj_5n)>mk=>X>bMNIDz1nZfO8SUQ+Zrbg<)E9=N4{>lJSi=(wfeEO{RgbIaG)muHoxPh6-;d~pd#$k{25{LH=q;+1hK zF-oS!VY1KJUoWYxGbym8K%4r`k{35<5!D4`x#nGLerEJ%upac?Tyzn`tpW>^8c^A3 zuDBCwK-&c1X#*zPw)E3P#ki$)mS<8VH57IRobOY;o5??L+7GLu-z1Lt@I*>2sq7B7 zx31y0wh2VrJ~-QU&yx3#ioewc>J9yB4S8Zlvd6Xw^a^VywHseFi&hW1L_Y>T8 z!Hs&Y^qwUT+R-s*rz{Zs6^nLV7;8lW_@1-m!BO!MXRk!kJg=JM;qDWFrwz0L5oQNR z#beICqtVi~>taQ;PXL}aP)6kR0?ZDMiU*t>LPwqj*e8Hb8^{TCo+a-e74LHP0Qadn zxXS^ZHqfTm4svtN4(%lQc^U@k!{O`!qOwGIXZBCPSca4q^4f{cZ+LA+pUq};m$M&3 zqi~-tB)N*M^gmYCqUMUy;4XPx>&dw9V~eW9nDIDeFB@nyj-o{ZXKZA zZAM2+9zsV$LH_0gd!N9qeeJ-a5+pg=B7$agh>q{xr8VGv0@0BO0cgj~=y1s&U~+h$ zKzJlV0NQagI$ZJx`gT<%c$T(8{;dK4wBu%Uxa1Gs2Y)d{Me2)s{#Yrvo# zH={>O9z(}qEnp4&jByCsgJ$$-$z$kf)luEf_-hA3(2gN>xa0%qSnH_QLfbYGe(gX6 z+AXlk!beNKqmeb(ClG$^0MElBtGF4xZ^;K2+$Rtpi9qu3*ePyC?^^Pa2Dnck{@MYN zhqY{RGkUb-Tl*0ZA(z6zuN`Q4U^who7@Bun=3_~kCb^x)FP?pX_Y3Y*{o~~sc78ep zh6VcsqOTqJ>^05pSt%M9ErsZ72X1B6exmVwO68e+h^K>XAK{S*xkgJbKt6I!Ddp$t zzdzxeM=H;iulJlP8~F4pUhjB@$yfUwh9MQ?8?={g2cEwE&_|zk2g<)e-kFXZzaBxR zDdIr;$lSIxbTp!YKL2-u>BzJ7bPjZ)^o%?i=q(9d9OxJ^x_Wx#x{m`L zBt{oc4?OpApu@!I(&@459u9Pr7+pIZy6)yc$B5C1KyPU9F0G+=P7ZWrBgDzM!3{Pl8?dmtNij5ft84o0(AFuzx5S1}~`}22lv+scJJ5 zKAV@k;iZt$w+la$zYYV4AtT>1 zirsKcj5_!j=rBiRNf1MBAu%;%ArND!I14e2jx*qrnSZhaz9++6`B^=My_5bCOH6U; z%EgWkk24V7j=uFchvzW%Yir+2atOPY{`$l^D0aE|UN+!Tv7AFEYjLRwhyJ6rrT5GO zV~dDcCwn1Bac19}?6boz6TTbAQP8kSJj&)K-?cE}O}2@8*1#Av_rCv#MeEUlb6BCq z^`8iXiGTNdE%kh6ted3k-yaqI$PHQFhlxCdeX{T0?{~Lm1~%C)^_$dhf0KhC!`5{j ziwJ|XTjNE%7~`Ac_+Fz162#_47!pl{G!ZY4$=i_lf>Rx(!cvT5t|WCbr0E^SOb~~i zcts72{7~^ugUn`A^}KKtB9OGG;%Mk+y97hIoPVU6pM2;aqwq&GPPIr*uIq|p4D){r zORkVp1(%eW9A@vq{`>&vvP2}~W|WF~W@3<2DSG0B$(R1P0ZJje4nLWenHV8Soaao> zIH#sdON=~Ebt+8shndIg)H8M+3N4?Pj@z&EaV0TqgO52(nB(WgoVjwwFee5R^)ZI| zdVfvEu`!fdb}z38bLkm`OWvDHOK#3Rp{bTGmuV(y@)&078W)2o?qowV6GIj)a1+Lm zY=UbmfPv$@Vm+E6oXj>cI4uTEkDG4>sm7qHHpU=`mrKo~7;Z*ri($cAfyA&VF)YFV=kY9cyi7ixAELEO~KTZc#&+jLo9`O&YlkK%O%}RrNT75X%M?-RLgXE zcxCD%-)$`J^IInV?sxlpoA$(uDTyJ9cl9LEsd)S2(0)o2)u(XbesV9n-DKc2xqs8c zBU4enobvMrS@a@YoT2zuR38(4#V{?|wQ0X>7uUq!7I1}<;G_d$@|&_8KJ(>A(yRFX4x4eG z&c;Y4Q|(0PCi(7+qaz)&P^a|8-G4iJq3Kl2#rOisi45OhN`|uA?Ik&QWWj|*yo8Tj z%+ky88eF`(N?FxV_cADg@_o9=mA@B`w=&@GTDKDRk}uRp1>Ka%u7=pXM5i$vhci1+ z3E;aMWdazn=kWSU1%%^prdVoFu)rLV!We9by}-bTpo=rbwE|@VG90!dc7Kj@tMpl% zd8bU^H1QO%4@wN)UI73q0j}Kp%a=gXZX)(X${=$}>>^=@a2(GRs{}GmAA||TZ-Lk|dX3;X zo++$Wp@u~G6tVZ`XT>=i9Dj#1rRB=q^i#!eV|o=lA38zJ_zPM|C61k8+`W#|fmZ-dyiI)Q4&&VS`nLhx-6yXvH! zv2zSvLGVowyILnu!PtK=VqcM)j}bel6S&3LNv08kZ-dw^bpk45ml?W(;M*W}rA|O+ z?3ke|2)+$sH`NK;!JexEpc^7~rB2{JV^_)q40yUGhVL@=KY-Z3&e;C|Vs8<{f@Ao< z5c^HW&VFDJf^UP^m47+`ov|wnU2&udV%O>fbjFSux`N;vA$F}!Kx6C*Lst-d6U467 z3FwR+Gjs*Pw?XV$oq)>N6^5=L_%?`LtrO4~yTZ^F1m6g;<2nH&W4AK&!jDFX9oGq{ zjNQ)A6$JkTu`6`~I%796bco;^Aa=(M$N+2Np>^;rhRe`NkIZhuL6y z&{=3Hl@MV1Y=3NFXDB-=H;{c8WCUM=SHAz7DH1TXuuIwWxCDTO{7et}fnB4@a!aJt zwVZEjVYg%x6)I>w=n?iMq@SjU_J0@iZ7uAUY!>APzTUlJ*OnVZACC6%u|Tg!2YXO1w6LGu=X`TGCl#HP;*|>(4kv{6aoE9b zSk5taA)AIm zg_T$#1PIf2D_@^aEi9Ynmo!ZWTGElgdrT7<`aZVdx*f=-zN9kQo(&!Bt=M$2r1@yP zq~k55YNGG8G2B*lw+(-OQbEA}LTMhuV(VaU#DCYn9>Y=}!(su~RdoXP?XWQX-I*&0 z9`JQTI_hE|_`RCG7ks_I+LIo`Qn#c;nqXlgeb@PVfwd(lIxFeGl?ta92YU|a+DP9G ze4SwJ$$1GVGRa&RFUuu8fax?7uxqC8h_9E}n^NDBv1iG=B371^$HF)1dj_ZNfSoSs z6@M{3@IYKrSK#*=`VRT}$)=YH_dWBuOc=Yiq(@x{Z%3i;n6GPGTc~w7(_vrI#Ep_Z zYxEuSb(L!~D=|&%aRSPc?rs1?4(YprDI0s(NiHi(6?Qi?^8Nh|cAU$KCH-G7y+pvU zq~I)h84zon{f{Dd)Fkc^4#b?@tDO6>XxRKQOClJ4;?Z zDqbVYr{8{nG1#gu*wY4#XUWS)#cNb{=m&Bv_?@Z?c-nyZEP45;_z%%cW5_A=5ZRet z>VTT@;i(A5v*a-!9+Fh&RQ7<|d)M%-G6B<*4fM0*<)h-S2I?LCmNA5h0m;^t34d7Y zAgpJ}!)AQQ*$Litohb(K%zoyyfzE!GJZMM9oIPcM;GbAjbpcNs=*(xygQMa#&VCX} z_PlCKod7&-Ao(O~jqdVM@tCt8Xf(F%idYfV3Bc0^$hW=Hq%9v64>&u7j@dt5a-9G^ zZD9YOpzSPq`KWl2vn#mIUMJwyy?;VF$k{zRUMI=-!#Fyg%I4U0tYUJgP5_=Z5QoGT z^0O0t%^TIP)8NZybdj^yp;1^Tpzjq8w4-KpdCNoSSX(EM>=k~e*g!kmj1IOugpRd! z0(*dAyK>)d2GA}xqoXYkp`)-DI=)UIdF+7ab|ePvN;5h{#}zya*9mAxB7Z2L9XF%H zEnmUpaGij9B!U9kaWgvH@)do%%9pTmB!ULoaWgvH@|Ei#ZwBp1gc{IZ0^YF=8-;ZO z`jH5CLHqsw=|%iF@O1*l#}0fg1|wI*bpn--9cbIfj-jKqPC!2r;UQ>uS_}X>TKTkk zB*H_`t~GBX=xC2Y{cflL?SBd#W@3QQ@mZY!Y4OIOU1>&FwmgQ8kLmdWIW^`@K zW9VqC6Ht#t&_KJ=jIM2Y3>|HC0_tN2RM3tgwYudM=xC@DFg$iZ1MM7GHFI_wbkynu z)W;5}pj~N3w{3Zi#GyI?{YV5Iv@6Z%rY&!z({~>`pn`U-8C~1*UVp`sRdoXFV+X8o zSk5pM`|HNLzg;Jw9f@Ft!#A&Z4_kS_wN@vfJ$B%`*U(@0N}tpTXpbE@cI`JP_~7C_ zc@CeeaMcgrFyl@(@a*>mkFB=D{ z8TruAofu3UsAl9tLwABOaiFS^-4~|U+<^?YNxgaGLqn}@2QYV0oq6O#L(T4K6gS14 zdE`Sw4R6fkH^t2(9~x?Ucj;xlOKKnajp_OwNaF#n&yGI*cXH~J>p!<#G^_)vKT!Yx O002ovPDHLkU;%=iPT_O_ diff --git a/public/images/pokemon/exp/841.png b/public/images/pokemon/exp/841.png index 2bf0ad3b1384ce2390231daa842a958291aa392d..564ffaa0f275095d7c71d6808bc00575c0947378 100644 GIT binary patch literal 4168 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 diff --git a/public/images/pokemon/exp/842.png b/public/images/pokemon/exp/842.png index 85b9ae30fe0c20323941451a7b04f05e26784201..41c2ebcf7d402da2886398b644ac2782c5e01661 100644 GIT binary patch literal 4654 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 literal 4472 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 KMNUMnLSTZP5W^J! diff --git a/public/images/pokemon/exp/871.png b/public/images/pokemon/exp/871.png index d4ffceea07aaf9a76b5426761b3fac8e4668bf56..8f03d72f0b3e45a55d451b561e86e9fae0072571 100644 GIT binary patch literal 4887 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 R(nbIP002ovPDHLkV1j06pD_Rc diff --git a/public/images/pokemon/exp/back/2038.png b/public/images/pokemon/exp/back/2038.png index 9ad8025933af2f667060e2eb8ec220ef68c11b43..f4a022692a1116127f9b17af4fdafe3329043dfa 100644 GIT binary patch delta 10386 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 diff --git a/public/images/pokemon/exp/back/692.png b/public/images/pokemon/exp/back/692.png index e3eb957a624af8bbe497802dafaf1f8f70542d13..33059d53c053fe33cd8ac5e9cee85712160c6ac3 100644 GIT binary patch delta 1870 zcmV-U2eJ765Bm?0d4Fw5L_t(|oZVa7cB3#1L?H<#{r~@6UuD^rL6Upg-Q}fe!+7M8 zp)dp6_FrxA_zmb1b`1{i$HO`Zyv?+UaHZ^5`Jf$y%-BTzekHg?bgWh{U4@!dgZH}~ z=7+co)WnNb+a~?Cb0gF!_5vCTcUfq9s7>r`1r4v)!-)3Kbbm1GCtR2#uLYgK*lz>W zxU$onp%U-=ejJAcd&JE|jnKDY#)!^`CBSh!pU?9=?+XVwVs&UZoc{$< z+2_~g7!Y=QW_W40v}OtoRqMoR(Qw3%rRwwRYd%7RBHTf$TBO$i)rd8q{d~hu=LBWL zzC)UH+|y$~s(;rARfxr)U$4W3&406>mji%@h8=UW!bhoI15_gxgMQJf{f{&PJ3u-f zGSlufdW}%ISRDHCcr;a~!uhJx=(w*!uK}tMYebLmTsMP_<$4WJjaUpiOgf?4s$CBUJce;^sa_0pobg;N27ldlxfboZ+l{!gpd1XjYMEXf zbeD?7qr(x^p~K{$tGXNx@Z9gJ?(_l{x(mhPiNg|c&2IpitXo+HjU;~0d%f`F(nEz} zO^5-23eVq$;w3;s^10V5Ey?CMO3=?oAQrjw=+U2Cc3NzF(cQ8_;yb;<$Q9W@1!6%n z=MEjd#(%Z;U_1wC)QndI?(j;(HrFeS+x3A$^S8WM_4_G0Pb(c<&7~(K#X>Y`qYEOZ)qLXs zMZr?pN0?8<;L<3ofz`_|$aHP#&lM5+8KE<=(tqE=n2|WnInI?qvt|3bGdB!N<7RP1 zWcaX!qqB^V`g7}-WptTQYLOOQcdi;!Fss*d$K|`tp_A>2=rTUaG&wmp+}(LpK|PEP zI^G%DvT3NllXo-Pukfr^=jGyuNAwl?4`0TRWI26 zu)w=OTkrOR>#j1+Be6M@S)pCA`y;VYt`*vi@$7ZPC|9gn9IGtQ2J~q6i=l)z%GJaK z*QGDeMs#oY$7@fCWR*Bs?JqcKOmG!Ytbfo(c<;J9CrnlfaVfhEH_or?T*XYA;DhTf zOjhy<0Lz9xCb-Vdth5O|c=p0%1&T|Us@`k3fib~6ps>>xbZ7SqlNJ0LX@{6#9#Gh6 z6MD4!WyuQA!$@JcFVZIT*}Lw-WTl)ep0#Qw+;D6_u|SLH&UKe1D}ZZo&RaI7PhVEr z)TVsMG$yB{(FNG>BCsoa_}^isjbPSwmn18|07)8jnNaX(5p7bsjT&5X-G#}@lbo|E zamSl^MzKt^5$tHxkWJcP2Md#xCf$h4UAi$Eb1Yg+n``cr`h=_iHj~fkW7I%Gimk$@$x5AX+;aqmk6F~=cIqB|ofZOy1=EmXlC0GEUZop(-wU;L zw1^kvBYd)w=W7X8WN40dHh-Qpr09p!r5kJLaX4#8u@#xnMh;+JUu>CGNgd`psJ z9K>dawn+7BAn;hrWj6Bmi2ezCG=i1xqzAn4Bk|f~Pci2a>`{R|(;-OzX-^K$ofp!K zVD45QuE-^W`rb+QovQsKD}3R_6?_dNH(DWCJ}j#5q%9lY;n1g1HGid0OZJX*^%=bi zz4SI2YUPpP@AY#|p_Z&bp)uQ%88Wl2__9-`C2lkE-L;Y-6prDpQB-!-D_-S@+YHoq z*GWd8{Jrj7)l@H4oAbR?A=gMoprOe^+iIqls?FtAC>z)s$q3Z{laxJJJJn0oW^~T= zl2PcyY`eUYZS~T$nSXd+Po-oHl(EZ_RWYx+)l1Rl+MaT6EtL#8jv9!X~_c^0zK%Sqc@ACo63g-EjOeN!mZLZcg;KX1TNmiRnp|$GU>w8u&CulRVzNx#q3zP5$7YJ@8YmDFq>XMTW z2OobOFRG@VeLLxSn>p(n$Rpgo?v0m>dq|#`l`cc?w%+m2Gj3m{=-SL!-=7cl&Z{-w zOU67TA5nquGrk*eQ8W>3-*Lti@THncp&I4ZZl85BuuO7PcOmM51VAh8!>YY7B+RM zwP20oFW8n$Xa#u9@t+b~HVycDJ^LjS`iExx7j6G!(SQB+2TVhpl#SZT)&Kwi07*qo IM6N<$f@G1w=l}o! delta 1892 zcmV-q2b=i&5B?93d4F(8L_t(|oZVa7cH0pa zxbckR+<$ez<2Rs7*flu39}nvw@HW#X!j-aL<%M<-GGi0<`<37p(Xm>+bQNk+4c_l| zm>=RUP!lg!ZJYGl&W%u`*b8VV+-0HZp*FGI3L0LohY@{3(|=~xPq;8gUJE*dvEK%$ zab>4DLnYp}ZQpkZc8`aN8li8)j1ir;CBVKvpU>ks?h6Mv;&Gm+t(t?%#p=+o`|}q_ zWglOcV?a3Vnc=0~(wZqWRIL-MMZ+Fnma31hulWcOif|99YLQ+8R3p}aKIa>LdM_v& zwhhvx#r<8lBvq2a{btngB**8tUs#h_ob>hnh$fgK?2 zhs?Bjjb0;EE*6J=JRVKesc^pPG&-KE&})Dy#2V2fJlD(0Lv?QB-l%SuFKrHgnqep*o*=e!yMR&^ziSP6ZBUfYt6^I4R zoI7-Q8-Lf@gYg`oQ8Rub@cXGWxVc_w+^!E4n&0Kcs_#$Hd0J_6H6K060%})P{DH)b zUZ+NJ$T`$qhy?*$(Vj)q66xRKvLMuf#HU477Vk{21kF9&qDVb-E*7Fm8+{Ntt>zmC zC<>O!-otz%2A4)z4Xj@0f=r(+&uc}5en#j_tbg>kFlHoN-ff&>&aDP3TE|sZn%8i96C9kh%V!!Op}Xq!`)p+71YD% zpyQpPEr*8sJ9(YahFzy#DthhsE$Vt@T}&K)l$JR5TGMJNl(Exh)XRup31t>&3+iny zyMII@24XvHhgTcHu#gih(5{l#Y{U@5EzLQ=(EL`f5v+Q_u2<6zc&*rVWiOR&sd~Zg zhXvjR+IqJiTz8dm9*NDN%nI#_-5-gKa;?xh#9YJb5&V}h%IVt<7;!h6@? zVX~4h09ZEkF~N0qW~EK&!Lt`8D^Og*RP|QF4U7rq0fn8mpgX%?n5^L2NIS#?^MJxm zo6w`(FH2T{ZX<=^zDS$UNAJ1|la+F@c-E?!aKp0!#R4s&JJ(&7tN^aTId3_bK3`dB zQ=9UZX-rN@qYJR%MPOI<@V~=M8^NsWE=g8^0g^Q6GNItnBHE;M8#Vakx(kz)C%I-- z;*K}-jAEH+BiPfZA)BAb&4tx-m0H zI<%N}Od5ihTOufM^JJx;ZAZC%~eBQPBdvCcE2E5*^9_~NwzTE zC^9zj==CTi#ps+-J`G5Lcp+K8d6M>l{(+6bR(a8 zp_Yyo@q&DWPge4LEy0Qm&41C(#*>B={cyT;V+}nHXALRVf|bQs#vW4q674^I*n^61 zNpg&X*zC|2ss0)WJl1jk(F)1(wy3_7wru#ahr+nu9Xa-un%{QqOz-A@l%et z%|Ly3on!>c-|OC0P4!Z>Ip0eaa*bpJ8k#J$t!8?u+FWjhvVpCUj6lzSlClSDr+TT{ zjLx}UG76oTZI_>9TYtSYZ6@B=Qz=;kW$dzKRm`hy^-{FCwx`@%OC^II+FOLTH#ePL zo4Czz2z+-|GB|qZiKMfYJPXu)7%jNk_9lamVvAAb`ss-~WOJL!3wIqMt9Biv`*j+cykNS>IL zK11)0-to^fZof*=wVAQLoeSQ19*$V^y=2To^3HwYg{j!~!lH>_+lDiaNd@2L!TOHl z?7bPx6V`|1)3jU#3%(k_diJ4$JY$R&n4Lk)+*9P@@QbP@56Oo^37&ZN9G2M`)lvEu zSlB%=u~hY7*0TpEnXw~guED~lF0~e{ar_0xk_oKZ diff --git a/public/images/pokemon/exp/back/750.png b/public/images/pokemon/exp/back/750.png index 1c9391b5f7a03bcfebe94cabe52bf2fd498d7800..5ecd848832eb1f7a763a3e7adc0bca67a70ae3e0 100644 GIT binary patch delta 38836 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

      thxIFr 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 diff --git a/public/images/pokemon/exp/back/782.json b/public/images/pokemon/exp/back/782.json deleted file mode 100644 index aa9698c6554..00000000000 --- a/public/images/pokemon/exp/back/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 239, - "h": 239 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:48f53f968d06c5de2d5b76e15505b755:5d901e7ac581518a4fe6730bcf366c83:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/back/782.png b/public/images/pokemon/exp/back/782.png deleted file mode 100644 index 402ac12f53a989a6ad1b7bab7deaaf1fb1c4d063..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 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 diff --git a/public/images/pokemon/exp/back/841.png b/public/images/pokemon/exp/back/841.png index 9e6ec5effb1c6f24894ab7887532e14e15feb095..ecf344211ef411b9c7d98685b780d9958b788b88 100644 GIT binary patch delta 2860 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 KMNUMnLSTY|_o-C? delta 2721 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 Rv7-P0002ovPDHLkV1j`W{%8OI delta 3001 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 DhO`h^ diff --git a/public/images/pokemon/exp/back/shiny/692.png b/public/images/pokemon/exp/back/shiny/692.png index c1bb353a7398b66bb89b7649c1fe4169c57c363a..baee2adcd4f3691ececabbaf818cd8b01541d627 100644 GIT binary patch delta 1905 zcmV-%2afpu5Bm?0KOeupzxeq0J)F!;!~cv(F~4F%|ASdgO-=u)jIj+b8Rn=hx*J5O#ZJcxkt^W(o~e z>%?l&aKw+L>htSsK0<^d+(D{Zq}Kq|h&7=7e8W%Y1ZBg%Lz;Bl(_=uYf7b|Ah{d2^ zufv7Sf3u&L1AvEy9don7N2y)|R3jFHe$lG^k2C^1Ksp{W)9y5SjZnE*9QyHiG*zd< z`Kr_CxUWL50jdydM33-XH-m?AER>z)dW}$pSR;B;wPWz*V8ET_dJRyGSPVK$I-%RD zT@MF5hH-DHUJP`c@mwqhf8BPu7VWy*jkvO)91OW?nO+=pmx{%s!x7b?!{nf=x*QJh z-0!OH^a2*T3&rAz!xC}LZvdIBTUiB-B!16(z3}AHLxo~Zhyj2K&)ump(9cI87P<83(Vtv)T5NpL-LgXBJH5il71=-qVnH+K4jsP6f3@~tJO^mhj8_Ei z@Jhor*DH(om{ zuWi3YUC*qGiNlZ5631R^S}lb#cG`@38SyKj%mQsez0GBpe`v%&Y^Uw;Y9kmHa)Jfg zRq~pR7-G1kIR_Y;-|97jRWI1}YT5y>6}ztNrLrwmFWCLCz`H~+K_SFBnbt1Qq4^l0~sp@cTd)x-qXr7zG%bZ_^^Yfp(}l{i`L zFF0vTa1~Ijf6zvF@47oDOjZhUDZ33f&adlS#Y~&vgX=C#R`Lk|%Z5HCxX#Y3v}b@GP1;}w z3zL;5-H6Oxx-lAaELu#PYwnc#gscEIlh6bpe;;VNF*8Rxw3v2G8iJQwA}HAA$x1)p zD8-m=q?~|BpjfnkHdhUKInktn*!_ZJK=Wa76OI^(~x44tkn5lr5kzQ3$=8#h!^A|e6o_~YYA3lXpVL^ zf1Wg?=!es#8*AusIBQ6;7OX7BGWL+-muUa#%^p;IOOj(8#Ab)KNcC$V@L0=bHuCm} z{t0_Df|c&12fXkj@!DihG3OENQGq?vAxQsePY%wV7t)Mi?p7bJ$R&gN-bwbIs{JD? zeBs3vd<`QvS|M3JEUNFMEgRqA(5F!~f2B}M_KtM*8NCX<^fno4<&oj<^>a?4maIUb zG24F;x@x6@ZDL-;OwCuNoOm07P8UH zN!wf>lP4*KNV4pGQz-gnS7zIVUcxpP>pR*7xVK2M(%c40&9ILE<^9O-to^fZeOM7+RRwrpAYrUt2N(C#ylh+QGxI?z8i2+G!bmy zamF#J;M+V}-^ql|177lyhveh09=jE=;MD-uv(M(ct7ka&$RK9!wz=Z)i>f9M$%jn| zo_O|t<^z^FGE%DbEwHeAVq&T4!K`Nwn`FitF>?(THg&1BV2$H1*p^Ia1$fQzpAuU( r4fuOK`y~_lhi3d2ZU1D^fBp6cOhcTMjoQlA00000NkvXXu0mjfrdiY$ delta 1927 zcmV;22YC4V5B?93KOap^O^iq}zhXoGgIPVC%uK`ozrVl#sf_se_`)M5@R42{e{e}e zK~#90-CNss;~)$~iE-lQ|NnQ*O$ZRSBzoH2^-I&n!-x^M@r>i#e|5m)H=s+{H8{K< z59=WCHq$1;m9k&ug?11!V-xlJmEac9v0A-!6>3rq-tTspAL1@h6E9Y6oAlexjZmZ5 z3uq|ZWufVzHnH6b8eXr55q(0_e`eNCxG+av3p#_b-v+30Wv4kqB|eU0+cpVyi-(CC zp>M;C5uLXsz_xuppMBr&3kTTaah|BHnuE&4>d>(H^A|{E?_ZZ=KsfD_;icWunkh6? ztrM$7!xmqbs`sz2`3Mn;a1W_!kzNB-Bi4XE=No={FDM(11Jb19nI{IMe|n8jg;)&w z_1b(m&UcReasW7?;l$jm@KUPR0M&@apkK7=^G6zi9U$$8%yf8-UL#a47KeU39!=G$ zaK7p^I-aZ0Yk(@m8qp&>*UjLe?1gf&T(1$T5NkwFs`d=NYz918uGaw7h{d48q!YTW z+V^n4J&b2d^qo<-9V z>EGhAAk=}xr$tp3?@X@*%{@J$NIi5e7NSWTeGoaV<{Jkn3YN;=!h9kImqu9)tX}7W zOrI^!Yej@UN9atffAqI7W+aYtj&o(uY}sesnHz?sakIE0GQ4nMca{-Se{TJUw2eOdNicmN@oW(`qS{vD0SM%ZOhIWfo`)>TNE&e?%h&VmobzR~x~wkP|G> zu9DYm#1O+R%{jo({8q0Kta`z&SJMu7t=M&CFO_Yndcp381>ObPdbb~3ca?D-iOr$R z3hj#BABl}}t;f~$aHe}y)}d)M82VX{()OWAF>v436XDrVXQA6$1~vXUI7RYP7*G-)7qzaUxJipX0@wlLi&IYA$tP0;tWWzHBikdVSv z_%vCm^NnYY!0mylZF)iaJqD34LuHL4Jp=wmBm=b9#Z@g?LU3kgNkoSa*Tu6?9dje{u&58)^Zs~ zzCEIU!XAxar8{{7UigxDZL+7B^9c5+z@F(46Clk7WH z`$tyz!WUQYYZ$rF3d!=esJ@f7Z2S&~e?E<>DTP|HcciP&=vC;Yx5-c|cgA_IpK}Ve zWCaS1*_O)usO^-{Gt z-%Ay8jbsEGnk=-fW_qdGTyBN3fvu5@K+k`YvIlFYda2rs&beMP3Z0m3m!D)?f4wwq zCf?UaDOm$$?6PE4%&TtoQnb0Yr`%ghC4(N?TZFeaH=SOGxXrK&e0Nqd*n8-Sq_dSg z3)$%9rERW{$&-{qBw6;pDHQ#(E3@rFFJYUD^&Ra3JX<7LX>J3hX4_58yk3$vSL+*a zVsMBgtIeg*TJ`PcdsZ(mXfv_CBdNQ32qYs$a03m`H5a$-vTk7Y612IozNxG0ZzXGt z;0EfGlM4qQe-kgNrk;H}>3N$u>l?@;+-Kd6myCNzo|u(BL+_5>@y|1Eze>@ynX$f| z3*LDij#%@(WXwbI&OPIWso3_yqKRO~fisRt1>feu`i|ply&23C)`#TNv|I%Xz8b)K z_Mw72V~iG|Ci>f9M$%jJ;o_O{gmf0EAQTi5G*gY|^RP|uivj-=cu_I=# z!NR64wHB;#`~}C739SIHIsQ{(%b@{(uV=qxLjTZ=|DxlcEc&lM{s4QWm$!nKCuaZv N002ovPDHLkV1l>p%m)Af diff --git a/public/images/pokemon/exp/back/shiny/782.json b/public/images/pokemon/exp/back/shiny/782.json deleted file mode 100644 index facd127868f..00000000000 --- a/public/images/pokemon/exp/back/shiny/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 239, - "h": 239 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:037c9a33b267f5b73f2e7c10c87bf653:509435f895db2af666d45fff3ec043dc:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/782.png b/public/images/pokemon/exp/back/shiny/782.png deleted file mode 100644 index 9ecbcf1f0352c5c6dd43a3b0e0f8133ac7cff451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2749 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 M07*qoM6N<$f+U)2SO5S3 diff --git a/public/images/pokemon/exp/back/shiny/784.json b/public/images/pokemon/exp/back/shiny/784.json deleted file mode 100644 index 27f3d18b7d6..00000000000 --- a/public/images/pokemon/exp/back/shiny/784.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 240, - "h": 240 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 86, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 81 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 84, - "h": 81 - }, - "frame": { - "x": 86, - "y": 0, - "w": 84, - "h": 81 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 84, - "h": 81 - }, - "frame": { - "x": 86, - "y": 0, - "w": 84, - "h": 81 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 81, - "h": 81 - }, - "frame": { - "x": 0, - "y": 81, - "w": 81, - "h": 81 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 81, - "h": 81 - }, - "frame": { - "x": 0, - "y": 81, - "w": 81, - "h": 81 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 78, - "h": 81 - }, - "frame": { - "x": 81, - "y": 81, - "w": 78, - "h": 81 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 78, - "h": 81 - }, - "frame": { - "x": 81, - "y": 81, - "w": 78, - "h": 81 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 79, - "h": 79 - }, - "frame": { - "x": 159, - "y": 81, - "w": 79, - "h": 79 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 78, - "h": 80 - }, - "frame": { - "x": 159, - "y": 160, - "w": 78, - "h": 80 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 78, - "h": 80 - }, - "frame": { - "x": 159, - "y": 160, - "w": 78, - "h": 80 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:841ddb49f9601ed6f43373fcdfd97a55:abdfda19e619b7f57eb4c9c5d68cc9d9:c2f7ca3ab1075b8c824730653d891244$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/784.png b/public/images/pokemon/exp/back/shiny/784.png deleted file mode 100644 index fdec2486c5694d367b197ec8db18eb2e49ba395d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5262 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 R=f8zChPtLYAGMsL{|{mm8TtSK diff --git a/public/images/pokemon/exp/back/shiny/840.json b/public/images/pokemon/exp/back/shiny/840.json index ccacb7508ff..eb5a925c565 100644 --- a/public/images/pokemon/exp/back/shiny/840.json +++ b/public/images/pokemon/exp/back/shiny/840.json @@ -1,230 +1,1145 @@ -{ - "textures": [ - { - "image": "840.png", - "format": "RGBA8888", - "size": { - "w": 95, - "h": 95 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 42, - "w": 32, - "h": 42 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 42, - "w": 32, - "h": 42 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 32, - "h": 41 - }, - "frame": { - "x": 32, - "y": 0, - "w": 32, - "h": 41 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 32, - "h": 41 - }, - "frame": { - "x": 32, - "y": 0, - "w": 32, - "h": 41 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 31, - "h": 42 - }, - "frame": { - "x": 64, - "y": 0, - "w": 31, - "h": 42 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 31, - "h": 42 - }, - "frame": { - "x": 32, - "y": 41, - "w": 31, - "h": 42 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 31, - "h": 41 - }, - "frame": { - "x": 63, - "y": 42, - "w": 31, - "h": 41 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 31, - "h": 41 - }, - "frame": { - "x": 63, - "y": 42, - "w": 31, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c19a2ef85c7903c2a4c922be93e361d7:7a1608b4463c8ee6cb033125d1c506b4:c6a93eb4343acba47be6c18cd2c93ef1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0002.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0003.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0004.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0005.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0006.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0007.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0008.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0009.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0010.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0011.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0012.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0013.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0014.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0015.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0016.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0017.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0018.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0019.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0020.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0021.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0022.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0023.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0024.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0025.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0026.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0027.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0028.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0029.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0030.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0031.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0032.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0033.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0034.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0035.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0036.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0037.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0038.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0039.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0040.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0041.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0042.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0043.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0044.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0045.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0046.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0047.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0048.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0049.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0050.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0051.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0052.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0053.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0054.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0055.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0056.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0057.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0058.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0059.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0060.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0061.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0062.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0063.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0064.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0065.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0066.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0067.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0068.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0069.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0070.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0071.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0072.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0073.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0074.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0075.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0076.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0077.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0078.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0079.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0080.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0081.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0082.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0083.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0084.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0085.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0086.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0087.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0088.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0089.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0090.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0091.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0092.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0093.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0094.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0095.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0096.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0097.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0098.png", + "frame": { "x": 2, "y": 173, "w": 33, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 33, "h": 39 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0099.png", + "frame": { "x": 2, "y": 133, "w": 30, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 9, "w": 30, "h": 34 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0100.png", + "frame": { "x": 102, "y": 134, "w": 28, "h": 30 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 12, "w": 28, "h": 30 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0101.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0102.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0103.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0104.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 15, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0105.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 13, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0106.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0107.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0108.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0109.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0110.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 14, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0111.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0112.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0113.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 15, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0114.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 13, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0115.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0116.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0117.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0118.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0119.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 14, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0120.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0121.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0122.png", + "frame": { "x": 102, "y": 134, "w": 28, "h": 30 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 12, "w": 28, "h": 30 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0123.png", + "frame": { "x": 2, "y": 133, "w": 30, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 9, "w": 30, "h": 34 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0124.png", + "frame": { "x": 2, "y": 173, "w": 33, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 33, "h": 39 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0125.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0126.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "840.png", + "format": "I8", + "size": { "w": 222, "h": 214 }, + "scale": "1" + } } diff --git a/public/images/pokemon/exp/back/shiny/840.png b/public/images/pokemon/exp/back/shiny/840.png index 9a800ab956c2e08bd421587e51eeab622f5b27a7..e37bd252d7b857d46a28907c91dd85ce53080a16 100644 GIT binary patch literal 3984 zcmV;B4{z{^P)Px#Do{*RMF0Q*5D*YGc@iZ|A~$F{jY273s~tO#Ls7X$bFXdFno^|LO4IIl{{H^r z`Z$gN000hjQchC<|NsC0|NsC0|NsC0|5r-e6aWAY`bk7VRCt{2oeg{9I1+@BJs4tg z|NrkE{*cs?y1PmSGs)cbvpbs^DpFTTz{Y+@TrU5wf3JpNc$bP01!gjKG^_~W@pxbn zp{hjs)M0v1X)e;oWAdehVwxtxUa7J=m!f5AT_mS##>qnm*ceuqOE1fVMFo~DQ2c%gDT-$h}Y*%HMJo?n%lOPH^6&yo~?rBHer+{UE} zbiRwsnTz>Udy{LA2%spY@j_(}+G$S_;e>Di&2X@9A){1siB!$Hg&lkL5On~)zciem z1)P;ur38X)FDK+a1x$$|_M_lr@xi@G^W9@vys&>!4VC`XOgklDOO%c{dtT#}ii)6l zrl;odvzM{Ai-X^HDYHl1RXC|=Z)o1v_ePwJ7ZV`%W>n*6DJKh{wWa(Bu)Vl^*xoqq z;=%2Ek*&JH8vL0?#A(U8^#xeG@{QIn%s^ny(Dn;;TYfYVR^}h}B^`%d? zMdV2GT&e!3N=`@sLfZy0LfCJ?kIj) z3OO008kaw9{oOo&yZr0cC6OKNeWjVdj>s5Qv%+lz)dCBBkECtrem8WSj8Z8P+^gL8 z1-|FT<8M{TO_%Jmjd!Km7#JC&QZuNQMvZBy9?3S_^46%%IQGjJmA=G91cpTRPDnQ0 z@csQgX+4eoGDh`M@1aAo*3yvP(%3I!RL>1;Eb*!K<~PU~6}Q4h0-;Be8hT6v(>Ib) zs@2}12wt_OEH819fzo=~R7@p;DLFiC`P) zE(Yq5JQd4ToX0ZLns?EWjFOTus%DAv3M&yj>XA&zy_ReZrK*Q1`(|XE%39(j0&ADI z;}8gz-V~c3_B}We36N<;c{U#1@`gA#TPnZO0v~Va6XoD%C58CJWABowtpvL7=fi^xR zgdr*9pU#Kif8t{jvuQA*(!MfI7e)pA<9yn-+&jvMG=ZGS8lz{w9L)F6@NZmOQitq; z$3ct;66=D<$hJzIh1syH>vBeEc?|*gEV9~Si56W~gEqbPiRH}#uTj4(A7ofKn_aJy z8s<32K3?9C=VeHisx3snl$?!8YFMC6hKQ^jLnY{5f2VE05Y_e^jMEgLiBJHwefEuS z`!@JJ2sJ{W4QtO*RNI?dJls|(bYuaH11ItWh>ya3rjF_pG9_o@p>p;(tUXgv+ULxP zVNG`>XJf|}7)r`fko&vqxtH6r;2wsvNfeDU4&wr(xl!*DhlX5x>t`foM?6F_<%SsTP} z>sG-%1ZTqz)8tr@MmT`&iL?ixV`SJ~&HpSnVch2NFx*5afXgN+1fD^L|JmyoIyD3LJn~F{6(|_TItS zydi+GS=P4K)*t474s$kdwg-n$?2-J>LC!`(U|Npz$@XYK=2gzdSl?L&pd}#YdB445 zoQyhKfkgknFz#D!3|IpgnJHgHaa7eW_mVX zB!G9g;0pG~O+n!e!#yu@HVq~9a4D(0lZ*g{dIK~GmHw>0;y1j7vvEPH9!yMZfb>k7 zEqesq^BQNvQ&MCA>IQh0>JGy_uW&ZAWQ3d`y8~GKUlm2`PVGy;J;ykkW*CN&;sbDZ zlIG5adk%3nEp|eIRAd0H|EsrnFT*|fJDVWe1n2;2|29bWFq4<%8V{bBesCk6>pECt`gYio+cKN zkR2s)Kq*8kL0BpcV2%{I3C3R2nM;~jNLC_ZEdLk0!*zS^KCrWFX7xJDGDDJ=7o$|q zAl;^7&%`z-xShH)cTyWADL^SdqDOFHDQu6CBx!|k`LjmWq=hYzf1v@P2Po>WmuH2P z&(4yptVzRKNPDXP3)I8I1xr41?mIV91B$~*E zr3#+VAPOVhht6i}XsyN(_AdZURoQE3qGp@aqi7K%C<`!^9j#T0?Z%8_Pw}r$gOBAp zl7MFqE{(jaW}rffe+w5RBnY`{j#G2oSxZxrVzGiY1mRzlP28pSyNE)tc1COU&ECeI z>t7AAbXOC17Eq`q0PNw`ba%T1`!8W4ot2We%WpRYCvy@o?J=#{EJ^m~KJF;`&DrgT8cTNHhtV&=$6-%<+HH0jU@P7#wE!PrR4wXkF&=hQ~fQb@J zGfN5dpF4xVnR5Ubd0d=g&uJ|rmgG7YFp0*}82$|)v>C%C?wABrcXn$**t1v?>_5|T zIxE!@clP=!3E1{vYa2|Wuq4-vQxPmp?0#-pDTQoPfI=>T(i_v-3X@DRfc!Y?U$nLX zDGe*t@JJ0!<|kk-9?{wglWZ)Bv?pi_;GclS93IKSE@c7+FGnnmz%7D&xWr9-{}2{q zphKL1R&Z&uyGxiOO;Zhl{F|*^Lpg$Sep^Vh*a?{Sn5Ees-(CY0?gIPQTg#}FMcmEe zIYMEV2U>$L3G`pImb<^UBP6n|4#2@Kby$vVjVRLpKF`v-${4zTP@iDe25_jgcT~kn zvB$iXRX2K0?&bj<6p}3XwGkc6T*U zqVh5>Ml*um$dTMbR>;PvF63ha zCEVFs>tkMic@mGhssi9nYzfew;7MwGdACd`pFrH1^`V>|Y^VIDm5u=S^dCcu73J;X zPbdQVu)U1l5cZ~W*nJk)-+oJVoxr>27{@j#FoFN{*vo(foVvMZpZyxQ^T~5uE>4CW zil&$|aw>Zd#hwLJG3U5cW7)`2T0WMHptF@cNo&vK#fWoU8hZqEMQ+WGYz>|y+Kb>F zba!)3>DY%y_K43wv}X6S)jljQ8q_vS?>$w>bNUMP)Ynd=q6{fWq1?`3k&9^y&B@l)#z!8yf*%dqzybnkt;>Fs3;c@qElsda_{+3Tc|3<+&dUJ|zK z#g`wkV(sJW1dlMTcYpPBT&PL9-a%6}2ZXft5KrQQTj8?a9}U;y=5~8V$0_zgwC83E zcoH9}S{HA+Iv-60G9;)Z^X~J0&pWu;0-nUTxBQ$mP0-y-RFZBltdlP{h0VL7j=lWy zcp;v;07nmVIB{}Zava)4)5{Oh?;%z?tR^N+Ml3_1iK(NoqA$gMBo`F<>I!Yxq64jn} zM$U!gN#exR@l&clGee6?swLXE_^vR+lLQy3S}Xs(Iqh%I9iWo*n0pKJBthCU&fh{; z5MHB_-r>&XNm8(FbGrszL3ou)dexrKlUV0ZT?=>R51{fV?ANFykK2L8@FeQ_Q#k>6 z1)-Blg72X3E&cqd%v9kk2%S`t`wsfuy+ctaO? z1A;wr1>uCshzMdcI>*)R-MuRaCsblSXjX(A_vhG4cmF?P@1v05S@wFbAe>a4H{?48 zrmn%CUIHt7>nVTX=`O%)@Tb?leCODM*Wk~uf81W8$~rz4jT(2|o!}b$2MSYj$A*3W zfBh9*ga1SY4cvIcu-7ZT27hvO@f3X({<^zPo}#nbOYony*UMA%7I6*!#OmfLy6eMN z5Q^&ODGt;puOO6lfT#FH^`5ICKem3%)sS=Qhg=OgtA5Dkg0t#>*4}UUE0ef>#?_G1 z>c}ZCzo-rzgYuiIlc)G))yq@-raHh={F*w(Q~aJfiKqB6bqY`MbLteH;>XlUJjD;G qzsOU3qW&IF@tOL!-2A`(nffnoq9vu|=JfXf0000T&h{!1EUV?fF`hW-75*dZ6d$i3RO zjy2K*E})Z53L`4rIx#*aZ~>D{)hGF!f6&8#@kgWWogA;V#^Tp{rK6@g)V;ekG5tck zvj2V>DPX@bUm${7Dzg=e?HxmjlNr5sh>URF}=WvKCg~+cTf0a zOaA=xDKBuK&#R-|1-~@lKp$5(cBd3<^4B_99cO=;zg_;@{GEL<15WgB^ZlWY@Fd@} z`Ciu1?%KNpM!$3J;~gC6U_imTz25J<3vM4qUVhSDh-7pyHv65}UiIIf`uj1uvySmJ z10fDQqboF^0GtPKTzj#<;zwVH%XTpKeh7YRLDn&`y)Q>vEF+*Ya6cqrkrx>YxXs`sl!P`Z7{0I2>ZNi3+PvUv9IpX63 zhQ|@cgXNDvI{>W?5V>QzLL%)hFk;iaX!Au7w~w)=3)ZLU*Iv5k4J!w zXLu}M9xMTyOj_abe0hL-z#b$} zcX=Sk_X+S2kGsnQI00FZ@WCeBfzE|?)bO@a9SNh|6G7R=Hm{4Ir^6Zp7QU7 zEZuJdI6{2DzZ^hc*9-m?t}kdn*Wg3`9r;=a=<=8NxS{_=z*+u={@?Pa{vJ<{^5I{~ z_ha6aMymNb&nCzAm!s`O{TAUgEtR;9uHsERjp!8knergW|KhX;xqjR1BA~yQ&@w&B_ z_m>iG* diff --git a/public/images/pokemon/exp/shiny/692.png b/public/images/pokemon/exp/shiny/692.png index 3d938d6e64adc03ea85ec85f23a1ad6cc3a0f4dd..d46c585bdfbd8ca44335034016b85ed75d0c4fa1 100644 GIT binary patch delta 2366 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 diff --git a/public/images/pokemon/exp/shiny/783.json b/public/images/pokemon/exp/shiny/783.json deleted file mode 100644 index 440e495598b..00000000000 --- a/public/images/pokemon/exp/shiny/783.json +++ /dev/null @@ -1,2204 +0,0 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 279, - "h": 279 - }, - "scale": 1, - "frames": [ - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 0, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 0, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 0, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 64, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 128, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 128, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 191, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 191, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 63, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 63, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 63, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 126, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 189, - "y": 71, - "w": 62, - "h": 71 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 189, - "y": 71, - "w": 62, - "h": 71 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 63, - "y": 142, - "w": 62, - "h": 71 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 63, - "y": 142, - "w": 62, - "h": 71 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 63, - "y": 142, - "w": 62, - "h": 71 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:0398d2a32d121507cf95d3e4033a4847:6e131e2820d0625f17f5819dbe95feea:aab166e28c744865a0296041224dd01b$" - } -} diff --git a/public/images/pokemon/exp/shiny/783.png b/public/images/pokemon/exp/shiny/783.png deleted file mode 100644 index 92ea294de9f37925adc76e796ea5bca3b44ae220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4873 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 b6$Xr}{k@JEsM)!LPP*`P^>bP0l+XkKysSV` diff --git a/public/images/pokemon/female/207.png b/public/images/pokemon/female/207.png index 071b72f9f07dbcd4848c8eac352fe52eb03bb26b..48662a1a516f49d2b1a1896a88b5b09243a66351 100644 GIT binary patch literal 11889 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 literal 11249 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 diff --git a/public/images/pokemon/female/332.png b/public/images/pokemon/female/332.png index 5a199f994eb6e272913cb72641f7f044a2066730..2100e4b9a1012151e01cb60bcde70be29508d783 100644 GIT binary patch literal 6911 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 literal 6578 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 By}1AY diff --git a/public/images/pokemon/female/396.png b/public/images/pokemon/female/396.png index 0adaac1fe426d8bb30ba774083032a4201994a63..ee7debc27a924fcd08b1d7521d1bd9964bfdd334 100644 GIT binary patch literal 3338 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 c7pB?^m@dH?_b diff --git a/public/images/pokemon/female/397.png b/public/images/pokemon/female/397.png index ecf63a0374809929f53f2232d3d4ccf3fb99d800..109a12dad7cfac0c808ad0dc62b913b0c4921916 100644 GIT binary patch literal 3955 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 W1KLE7etP`$g`upVAzv$N5&l2)f}T16 literal 9399 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 b@L;Xw7M}jtW@r9q5@2p@V^n$BJ@)?rzg=Kp diff --git a/public/images/pokemon/female/417.png b/public/images/pokemon/female/417.png index be3a2736e186e552af71a2afd403a3e69dad5fc4..5b12e3574773bd6ae09d485488fce0b9ea88892b 100644 GIT binary patch literal 7310 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 literal 6478 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 diff --git a/public/images/pokemon/icons/7/746-school.png b/public/images/pokemon/icons/7/746-school.png index 837c67d9f63b024b2618b9ec11b30c44bf8201e1..d421210c2cf05d107b3d9404dd6e016ce36033f3 100644 GIT binary patch delta 346 zcmeyv^onVMWIZzj14AbBn)g78u{g-xiDBJ2nU_G0R)9~4E09)DP%yIcGP8>?bxpSP z%5n^9_R3llHRW0H*=Jj}toi@{f5pBBuBl5OFB07ZRLxfsa{u=fOg@)D>%%%*|6dD5x%AguB+U*UhJE+RU$n>Bsvqi?cK*NP{|-CG!(Z6f@3VeZ2=pO?r>mdKI;Vst02IxnNB{r; delta 364 zcmV-y0h9jf0{jAy8Gi-<003UyT-^Ww0YgbdK~z}7?Uu0(gD?<98HF`c(o#|~0&Paf z3K=6MYh;bA;p7v2=jUV;gnSN#Px`_jz)$~tXE#la8a2vA+qU7bV9>h!1?8AU zl@-#q6Q-3=n9u?fgrK-z)D3Z*1yF(XYS&*%bP^)i7iF24lD4m1mru&FFyNseTB5+EEBPHwl~A_O*UBd)z6c8^Xv!LhDj^W81D-nvpi wP*>?ld1$(=XXD1{uXR5B>fHZpUUiM#*DB_Wi{fm1fzDv?boFyt=akR{0CrV%P5=M^ delta 240 zcmVvAHg!hys+>C2Wu^3#_wU6&+Dk|fDLDWy!iZq9sr4nifZ)b*w< zUY2rUg52EFOKqVj=6J8xAy&=<5snn&nyM~>7?I5-y`YFRDQUpAI7is{=7MYOK~SEr zCU_sTWgH(LLgDS%#vn>ThnXd%bR~7vo8-R)=N`m}?|04qi1m~Al&{?1xOgvp2Lo9l0 zuXt~2QQ%>{5IuFFYW<;q<-aC1*gq&`n|5otK1;})`%Tw&u6(JsC*(%pnse>4a}y0b z70-Ms?iFA;)%eGszn>LCPweq-mM;Ur>LCy d{NM0b{F`>$ed5aTya^0r22WQ%mvv4FO#tKK>q!6r literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/143-gigantamax_3.png b/public/images/pokemon/icons/variant/1/143-gigantamax_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4fe34da7c1428fa47f9c4244d47466db79df8f GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a{K~(LR=LU z6`3~7V5kakc6Pev73Ngh`}f1Cy=!YXO>nXd%bR~7P80*yG{Rl_o+PKubA7o^xI2rM$zNj7nJ5??dnvSS}wBM zyV5;-e z$hDo9S@_#4S!L3X?+f0qE1dUz{gUFPH)CVFQ(_v6{5DrlV>gqXVf^EB=mmQXo9pjS lz2g+$e&_CiB&bbm@&ZwU-$22WQ%mvv4FO#oRN?{feE literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/143_2.png b/public/images/pokemon/icons/variant/1/143_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a757c202eb65d0aa4d5430870935c8bb1273445f GIT binary patch literal 738 zcmV<80v-K{P)X00001b5ch_0Itp) z=>Px%oJmAMR9J=Wm%VG-Kp2M~$H99b5C|k(pj#o-f*MZ^q)WPl7Ow^sdkNGS3Z=MUuB5J*qEWZ~( zA%y$($u@dE>y@3o{{g^JrwV|kX>8V_JX&Ans8bCDT%H$3UOSEx5kj~P!IGW=Cn4IWYm)`TGYwpCx^`=Q( z0IG0rF29gUrDz-;``VbLG5|(@sLfKD%!!GS(>*vfE*A#7UsCVB^cEP>_Kp})X z3JjoS)yF=!+g{@$dCO)kN;}!bw(W`W2Y0-Z3`#nvIyp&!4$3^It^nr;ugA9EO2jDu zMVbJLP6O^j4F)+AfsX?yiANzm? z;Q`E2FkF}%2or|*SyJ=dDkQck(j1B(2~@P2UfDD;Hc4YAiQ_ntSEpZn5K@Eg6s;ze zN(HV~s8lMw6cV7Y?gavllIo0vELu&BoKEA@M~u_`-Z`gFgbb@dK-ER)eYq;tNg0dd zCXf1#uX00001b5ch_0Itp) z=>Px%u1Q2eR9J=WmoaGDKoo|5mqLoc5bB{|2wX7@;GCJ0wo%VU$*%l6K+y?J(?X0fKEHm5 zNb3}aRIu$sup~FY+mpb(JO3! zV*!eAnZyF}`8?*=4=vAhb+un0Cw0~0ta@>2iOWC%Nd#vniovd~A{vV$8jHgi)Om3( z5I}+(jyGCX0Ehsnm~4vgTo_YX$utK|}ww|33{^;!jrqPQ-x z?}M5##to@p3)g8h9s6zXAD~{V_<|b?a1xP&qLXgA7H~L^GRF9w2TvTIpIb_z)muQd zTtc;6vb6cx7@{0E2_3p!T?M|px1^>{qlvktq$8w(Bsz`e*ifDT0pW-kWCvQB<2UDK zybXg=eerpAVmMd8o^GJ0H_fF(tuhin1SEyqgI|9!<|fA&)HE&h`{ySM1ZmhEDcpuE z%XquD3R#xT-RdMS8N?OPPNFjeDTUiGqyiF|5;o6fkjRu^NCj6&ueugcbP?#kxhT;| zibbc*BaY$KJ-}lop`(VbRKVZMXuVc}Ar)}4b_D>~Je#q^rRcg}IKX2r76+yBQE`I< z{mUo80l>-H719lBe{$Y0oM%8g36pVPb);Pix1lHs6ve-5q5`?{GsgH=`4s>lz4ya} mn*@v$*f)uv522}UQhxvg9xv+*ForPz0000X00001b5ch_0Itp) z=>Px$?MXyIR9J=WmN9GFKoo#K)m=+5@f;pB9gL@#OvzA_Y{iR)%pOv_bO>Y&WHO|5 zDP-^>(2y-dAU`32;6TC1C1BhkrblK64;iu))ZubMmzu(zYft(>Al;p~Pw(#C6BHB_ z6cl(NBIz>bdFAtxh@=T1c;6r(faQehO$gEe%H- z6Dzt46I4nCVMKb-UZvBo06Ys}-5arzG`YRJhK&hfbnhHNuO!iu_mez0IC)FRxvvuyFb!5wSM@wD&-HYvrGUXS-uM{R&5(OY9tS z5lN4?-cYTT84agww$}i-iSDS@%72YFa)6hhR~B!!*SLx9GPy=;Kpc1B``1j$VB~!9 zt|a-$jdtp6Z+~PooLXXeIn(D_O`HXlQbD6N$eydUGC$u<`0?cf=TGmgCCx_?^r7yG z_dz}W{fTZj1}Y>;@+@GFNs@$6cM->3!oAOnPZEPk7J$RvBc}G6EYFuUv#dVn;9RBd zu=j|WI4?KtJy_#>#Qr-Xk{Xuvx9yDYKVQKj`2)@h@=x}eX#M~I002ovPDHLkV1hLW B|JMKj literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/32_3.png b/public/images/pokemon/icons/variant/1/32_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9bba8f3d9b93c46a8779cde4b2a89ea5dea487ac GIT binary patch literal 554 zcmV+_0@eMAP)X00001b5ch_0Itp) z=>Px$$V<)T5E4L8Kp8JB*=Lb_(Xxvb-%~^@;(5o$ta%$wbq^jQ%bs3gtBti{XgA1s5G49 zoCF`w#B6#ZCy4=k{qz|s4clf?tiDJowKni)w;>0wn$HRjDh=w3G4ony_gx%UJ~XC! zOu5-+8BQS)y!-xxaULML|Bh112zmW&TjToASFlTd15Et*^?HGi%>V!Z07*qoM6N<$f*QH{;s5{u literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/33_2.png b/public/images/pokemon/icons/variant/1/33_2.png new file mode 100644 index 0000000000000000000000000000000000000000..151c209107727ec044268b558d82c655d8c07060 GIT binary patch literal 576 zcmV-G0>AxX00001b5ch_0Itp) z=>Px$`bk7VR9J=Wm$6I3Kop065m%wb&hiEwq#!hOvIy0s;O1Y@A)Ty*kC|w+m&Mm2Qa6AWjN0PRZOSA~~TaL@!<-WXkcS(Q^8#eq?h)Awu zo~ir8lym zH;T1x3IO1CroKLLBgbe9@=;-$CTiUj8fA&^cIV*f1?}sZ8ml{>R>*@#h1;1TncG$M z*XA3JOZzBP5@=t~RGBaK(JJj>G<0#*nQNt5drc6Ltmk%cm`?iSys&t_*az^nPMM45 z_;&?a^7$d-i(tOk2a5+84P6|jld9B_jI;(h&7+~K!wi6PSit%CDtYZ{KpH+um}s+x+(N}Jph2?+`_W#&?(k_ z7hm2OXq2T-&MU_CMtRrQM+jjMk<^g`BJN@UFilfkvuz8OWvjZkt(u)^@7!2|ELqR( z006E!a{%xOc)xh!$N>>j%q$aQIbNs1*WaIjh$OSF{}yfH{)cS%Nj?FVe+QHO)?yq0 O0000X00001b5ch_0Itp) z=>Px%21!IgR9J=Wm%mTjKoo$#R0*n($PkDELMTrH1{fHa7-$C6sVig0jQj=ZKY&zb z#*B>l59k7EHyApQfmkv^D6y<&z*2@Vm;s(;n?&;2{1}>VIi2ooe}3=Yoefi_O!-d{ z5&u1&^C`_mBH|aSwM3F4;%9l8RDwwn5x=s#AL*OQW)e&qMR+Njl)UK$n%+rcwr%I) zLfSg*7CN4kS4*)9jf-fb+ev+2V?o=ta}PIX6US9jqt@tl`11X0YC+=^$0<~62>9VN z#^ugWPI3BI#_5HWDGo=m=ve>^Zr#Y7tdUbv6$!w6X&F3={N@goF@nnZ$tj0x8_>Us z6j4%)Cdapm!L3Var5yD8mw#E@-lEa%aJaS+v`)K4p;}|)_Q(ydjZ$sACPc*dXV;l2 zFGb|SsJPQ^0Z;2xdAK=yTS1kq?CwV*=(Jm?c$|^jW2U?mv?h|qMG{W)$n6Dk&E|11 zM+-+$>4ncj)5m4os28`lxcl=9fW5tMFQPYcdx31xv$&sI4PGiKnTiCW)vGcpqQXVb z;@{v7fM)ZUdi@}Aij4*5OUvXpcOr6OG3|%v6g`WJ%ilTOqTalU;dvi?=I7B5>h*)5 zA0E4(TQ#oSOoA%u&#ph+V0aBgqZ0n&$sz|C&f;-mDyQpo(&_S{h={Me*MEyKS^q<( aye5xR{s-Pdp5)U20000=;u3 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/34_2.png b/public/images/pokemon/icons/variant/1/34_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2d0477f7ff9ffe167685230f4803ba75b8f70ec8 GIT binary patch literal 899 zcmV-}1AP36P)X00001b5ch_0Itp) z=>Px&JxN4CR9J=WmN94(Q5eU6Q9&Hkh6V(c^A)?4(9(uXmO$#FgF_=K;$XL18#76< zOC!apCTlhwL{xfNU2Gwwi{+F`sA9#lh*Qh8I60j|crWjzNiM0aQ~%Sw@7?i!@Bh8; zdk054Qe8rbKnM~1?{$y$^0H%FbPIV<8|n(M(?YH0gb=~Mery}vI+k4WwUh_5Rz53%X8O{kI0=?)Q+v?a~dur6{ zHJ|8szY)7)531*d>45mat{T5zoKwXmgb1W-V0MP}n%@?(CqN0KyO^H(z)ESucrQM% zOMGBg6;~pWK!Tb+IF$OpD%-q3)!t=Hb!v48@~rtXDKNs@`>771Ph1V_OWxqYTBPYU5o23L%2& zx#w-+XOmkvwnh5qBl4>;Qj=Nbl1zE77-3;LAio;Ju`Tr5C{x@8VW*3HD`eja&Dx z15ha!jC1JxctE9GPz5AiG&V`=X1%WqTnG_J2WG0jxiEN7&7C{*nbc&K%%!IQ>PSdn zzq)Ol#dcs)p(zg2{P<~RsxN31)O9N50_o)5znpHNbnVMQFkOVYlYmhufKe9Pk+~k4hX&dpdRU< Z^%p`_&3vgVMi&48002ovPDHLkV1h!}v+Mu> literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/34_3.png b/public/images/pokemon/icons/variant/1/34_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8e844c3860598bc86002e4282c5e90de3bf25572 GIT binary patch literal 907 zcmV;619bd}P)X00001b5ch_0Itp) z=>Px&MM*?KR9J=WmcMJ0K^%vlYTjBZiIBE5wv-&ipa$s>mqKd>E%*nN3dJrC&bl}{ zIXH-*uC9thiMwJ2YYUk&bO=fbydl)Iqc|YGD z7dX?IY7#=&LJ0e`&pp@6kBwlAZXu8Bg}MT4cTlr6A%s0Xx9~q)N?ki>1Y^ATv*&P8 zg6Lx%Zp1%{KHm?Zr<)&{ra2(MCJ<4u0&EGO!|Ezn+iHGyJ>Cx=1ML>|w>C|4KnP*K z3PgBvVH95}jVCgLmCXaFF+eqy;OXEco?p2R!0vh+(=^+j)k+;5JaQ%85F!butC~vi z`9b}e_g@rbzv}o_?$A|J2>^=TkeX}e-mUxd0DP}Q>Mpt?)9(C^4%Rk^+eR>ke`-vD z`0MMsixN(PNyug)HiEI50bsWS?WssCYMc6}#?)FlpTiTKY5DBqom7K!az7&&bAUF3 z?5Rvk7D+k>$RyMCdch}?C z!(j)ggskOm+#c~yI&xNr6krc(;BIwv(A|8Y_Qn$K-P9d5Z)NieMCR)F+yX^!2wy1; z99@^XTjhMNrHgGHlwpyZO9i6Ss+uRRjxe}Ysg3I(5)M%F1#26l4zK5(9`XA!c#Y-kstWg`-#^$p9CqYoHI<;~4LQIhko;cBtTnWojyd=# z9KcsfQ?Rz#U5``AtWora)Tdx=JK!d+j<6D)WpwDkv5$1v?PMpl%t2XUw=+j$xhCq( z6;NQ`vN@LKZve2E+;HUKhoSQpV2es-t7)_D>jD=-*!FN(ZT^smTKnkV zXC*qz(&1kKl@b!z%H|s!Yd0!m1IEUz_vPH!c8-kl0yC%IddRJU+&!hqmx_`iM@SkA8Y^zZt_ h0im})sAoEE{R288y`qU~BeMVi002ovPDHLkV1l*KsCWPX literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/88_2.png b/public/images/pokemon/icons/variant/1/88_2.png new file mode 100644 index 0000000000000000000000000000000000000000..164f98f7d8029647f6606dd90d39154d12e4cfe8 GIT binary patch literal 603 zcmV-h0;K(kP)X00001b5ch_0Itp) z=>Px%6-h)vR9J=WmcMV)Kp2LfL`=yLiCAJo7l=|d6OAg>wHT2Q$^iTYNNlMPUAkuS z$^t{PA+aE~3ZyCvBQma3$(d4!OyfVG9y)~4$B^6+rxEgx3=DoJ+h<>%yzlqj9TX~5 zs8FFo|CNLgQV1b8HQ%jGO{AdC4z>W;J4ONoK~TywZ?2D(gb?!VV2j%BHrMADv9Z15 zpSd7Yf4Cf95CkO!_b=svOcn7mjQi$0heF8H2RDEB%9#LQSS@{>Rf+$V5JLWV|11_^ z&#f{rXE(swCzk+xxl^NQ)iJDAW*5t8UcNrR&=Bk3d?%!Ra!I4n(9f4$%+lS7BMyR~ zq&oAI36ytYm`D2n_)f@MplQ|VB4ipTGZn5_)Lwr9x$LA;&#hud z9=;R80uG=%lBuH3-2Orc+39q!BTs_@`u@eYuQ9NGc}D{uR&FPT%;g}=WQ69y^|<7-w82~_UV_a06b~`24Fa@U|21B?)_QX{&h5|Qg!h< zDS+X)!f;$+V9s>?eSCG7+U_<$Y&}$UnMAoF_MMQ&pI!p!^-)DRFlSsj6Yjr$%CC2y zbqzwgM#)`+>!j+^jyxTA7P!oStB~E1L^-O|wCcLM?Z~4$ny=AmcavPF8MQO0L&K`8 p3MvcOMgUi}x|QWU3l`dh{s77n2K@1c{2c%Q002ovPDHLkV1n1e8aV&} literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/88_3.png b/public/images/pokemon/icons/variant/1/88_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6e90ad56d2adf2c745784bf86cda266daa59fa2e GIT binary patch literal 609 zcmV-n0-pVeP)X00001b5ch_0Itp) z=>Px%8%ab#R9J=WmOX3RP#A?Dmw<;*C|*nl!8N4NfHPR04E_Voq$!&nG`O1rUNdO$ zkhNfq8cf|SOFc#X0R~UOLjo-{V1WjcB^W{mgFzY6d$F8Q^x>g{&LZ7=_3?1t_ed9V z<;s;SSFZm`LWocZ5$@`FgRl4J-#>q-@xl2C zx~@~KX%Vp1ETGhDQ|h(3ySM~i`Z8^BVgmxK7faE(Pr=i%#j4$e;i2)rrdPc5`ogZjV@lk{V%#uY+@*JpjY zlQBTVNvV$G;5H2cZwi3cY5-6l*ogv@I{re4P}gu%GCjAb86@V}*w1(_%$n{a_QrC8GxT>12n^68-h>Q2UVCu5azd6bUE zRif|UTN+sw9mnDR+poyjZ5r$!9|6(y1FA3MC{u|8Z^~!qi-G`DDMyyYY8J46e8kh$ zjp{*27L-g5YOMxOS2wTb?Z>imalKfkhJ%bLmO-fxY^0-`@G{+Q)1W@Ef#kcJOuHHR vXONqQ?GLzwN&~hNz-?{+%ChbSbL~RUL?#PNsh9zJ00000NkvXXu0mjfRB0DC literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/89_2.png b/public/images/pokemon/icons/variant/1/89_2.png new file mode 100644 index 0000000000000000000000000000000000000000..533ebe86c9ef6b5b9dbd88eff1d6b2184ca48ec8 GIT binary patch literal 753 zcmVX00001b5ch_0Itp) z=>Px%t4TybR9J=Wmp^aQKp2M~M=W)RNNpN1o5|vy_tAUr@6HGJ`p>2P zi%@9f&nrc#sdYkO~SRypEw!G3x-7pFU>#=}Y9fMr)86 zvQz{hK*g*xZaV<6a4@fIc=?y95J1;;wMJ{eqgO`Y|DM&QXLVP4cVRuKs?iz%&_CV> zVBB^h@M)DBFwUu}8Ps@QxLklTahy}b2AJ4G-#8O{2tdcsXd)udCMlDngb`j+Y8Dm5bvlAz|cLb!-1{n~tH;F*FW( z>xuKyDAP70U*5C2RLr^$_WR8{wrXnte$S~Iw;jf9$DbefOp=zGL|xj6Jq$n|=^K3g zJ_X=&RgV}#s;tBy+ljLDq3|)bNE3U=Noj}UZyzaF^}txwNoj|Ri;H4<&~;s{>3ET< zOza^Cy>$+H>w(GwSP!51<8oDJdNpHuH4Dt|7#czdZ`sk8$;G?7yNU7hy`R1zPH!(G zaS8Zi^oyFg8Hg=%bZQs(54Qt}Up$#{Zke20CJ^kqxOOO4b;?ye0yna+7v|1nl9SSo z5BKu*a{%7I{Q%5OaB5#h;3U9SZO!k+k$p|g+??;1`o_Xu%xseIzIJ*Wg@SoSB}kmo zZq%uIPzd3j&2HGc`#K3rZqhQIv>Ati(?F*FSlBz>51bYfre}5ir0Q4#sfxt(jiq@r zxftf#gPJ^P3Bz&qe3mL~iNm00vl~D0$iC+2t`Z$X3sg;o%X_oSH7V&@8UCn{Ra@oS jS@^wJgX00001b5ch_0Itp) z=>Px%pGibPR9J=Wm%nSDIyEg0Tf{wg{}EKm&zRZxIyK!Mx*i`r(tTEG6IRtf$j`{N8<^ zPQau7bLAf5p^Pz4{B7HI>UA;$6rrv!FMYAHt^-I1nh79d%v*MP$X7G~z`=`W`1|uu z;J&i1Cx(2I1t0+AD;hSF1ptJ?0o%;V<=>@D0BzgOm319YKfLx`xB4Sk{n1{}KGm(Q8bq1E4V zD1vPo2Cmxez@Jc6qBcVhxB4UGD;iwWfz==3$Gb8PPmchALyOu>7T8P{e16zHQQDb7 zv9zw~_#hiMQ>@o(0Ko4r*8xM23Z%WoWNh(=(q62Rf<5r?FfMEx>uFD5n#m60?&3qk?G-Y848Q7i31 z#+WxgspI(KJTy*6DvC!nV;NWlQu(lOd~xnO+YyY_AMr)SF#(B+i$y7si-B!>5EqCl zp&S?A&!o&sEQ5|u>U?2mI!EJX3W66iBf_QqvP(57>a$WlRH(T0K>*_Nn{174DbnYRZvj)u!iCP9k&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&+N~|nAmtPE0&tPG4mmKP99L)l>8FfxP1nSkPkj7$sy zKspMDGuv6f;#oj82qXY8NI#55vy=fC9uwFZSb!=FjEoH!7eGt}>0n&|F=+~r4FXI+ zbC|#?gDfq8ET}F+0|SukA&&ZMS5>2Yfz0EcE{-7<{%Nn{174DbnYRZviv#!&D;rZk=*I4CIS*EEJ3kunWx3{&3x1S+ZdkzfF%xJrWj zg8#z+!=^Jj=YgV}1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S_~VrE{6o}X)o zf~lUNp4p#^$JYbZY)g&sO!M^AV&DLBSQ(@kSs56CEH5CIhO)uFVPpo2GXcd78JQRa zfOHfPXSTC|#j}8H5J&)GkbW4AW+?+OJSMO+umDvU7#SNdE`XQ{(!sg_V$u{K8w8ku z<}iU(23cAFSx{Yu2B1J-IK)wZ?W$^&FOYfM)5S5w!vF20K)xdi94>*3w|~c1r1#7g z&AKI*@cg*ac}Wkg=iYx0M*nqK`0TqIcSKe#`?a9(^H26SDeRxu5U@U@V8L@8t@~3q zZF%mw@H$tli_}JgVun!9KJld{JI=9ftvj4KL1JO3O~>9!zD~_cmRft9)tlF?;+^ts z-VTmKmrj%!?`A#9r!eIgv&GU`J9(78Bo3K^H^!1$ccdrIlFvK48F=%fWs+=Pb zvp=3~(mg>f{^;Ncj`GT>vK6Uq-?mHdWjX(u`Q0-W_q;tTR)f6f>FVdQ&MBb@032hm A^#A|> literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/2/188_2.png b/public/images/pokemon/icons/variant/2/188_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb7b690ff0fcf1d451a0f38540cdd16de011ccf GIT binary patch literal 585 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTon`)7@RU0s%J4oH2<2$`2VC$P*BkSo59Dj4PVYz2C8}(*(m{} zxJ!ckg8#z-gO@+!C!jEAfk$L90|Vb-5N14{zaj-FC{f}XQ4*Y=R#Ki=l*$m0n3-3i z=jR%tV5(=RXZGjf@%2D8+fpMu(>y)37&w3&Rt70XRt82O%L|C5p=_{^7@5K1Oh9o% zMkWRUARPt7ne8lK@hl)41QLK4q#s73S<1l7z%YTGfd#0-z{uEuaRJ0skPg-b5R;|= z*&x6KG=~YSGRV>b$b#xJG%x_k9^$CKc2zaX7s%Y=>Eak-;s18hX`vPc9+tz0Cw%xX zzem_(s;kKL$8y{F`y8xURj2zUa{aos&-IzZ(w9jzhy?rcf;Jx7>*4h%)@HtU_wvU0HO`@_C7a&3FqAe;UjLkL(Mp{|VgFo@gq6n3EvR3Y iWHRUWN$a?-z4Z*0w=_RovU_Nn{1`6$5-iTon`);u(S;$dpcFDEKvv;r~hNprD}2tH0DD*9J|#3RLyzD&KY> z#a$BQ7yKU%7`*%$KLLd~3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv=}#LT=B zJwMkF1yemkJ+nU-kFN)+*_ImNnda%K#lQjNurf$7vNA9NSzbUa4P}FU#K;U5X99{F zGBPm;0O=?o&TMA^i)R7ZAdmpWApI~J%~A$nm`q@2U;(NyFfuk^TmUf@q=R(<#H1-e zHV7~Q&0zwo46?KUvY@&Q4GciChdAo5T~&?p1v0mIx;Tbd_`jWWTBt>Vhvo3$2_OE; z?-BNx>MC;mvD`NPJ_l=7)hqFz#N~f#PGqyQ=rnfGY%U2rED`0o)yc2$Xt9$(kZs?r z4~`L^Ogb!_S1fptsvVTw8yK0>Z&?v2lD1=~!Z#(K!s)JG9gjpRn3+ykz0=GpjOUt= zf3weqppA$2dU!pGwVChTy}U7gjdN&f$)-0h45dwz*FWc5v{L6#*gw}JVWly13+mS; inasI;(mJkdZ#_fhEzJ*?>|UM+`Nh-K&t;ucLK6V~9jJ@| literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/2/189_2.png b/public/images/pokemon/icons/variant/2/189_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5e127816a0fdfe4fc6f9f75374a796446c674e GIT binary patch literal 619 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`)dPG&Ton`)gew;a_%{Rv1!<@kH#g6JIFtF$O|$?1KczP=aq#U=FIxgs zJ8h4+Cy?ST3Gxg6j|3QOUnsQ!B{&N_B8wRq_zr_G*AN9$JwrXSKNpX$2ddeY8sVAd>8ZuQ0pzeUNHMZ9FalX#Kr9VqgMG%x z3>IesiW@RAF$e(ZC?L*kX90_60ofps0K_2uFdEHL24L7sU}s$Nv;eZ8x(p2rK(dE8>aSf@jq(LD&w08yhFJLDy&TEcY{0`3 zpw3(-{;vLB-(-%NI~?{~XR&(CSDUSMyZ>jg#+i!Vna5qcbf0q1b!#~lJb6xH`5PJL z>OSV(t5+Hw+`Lo$M&#a15k`%_#XBYKC9W(D`yY3}PS^V6gqW7xQqhR%qE%OKh_MGV zta@fHS=w-R<;;mQx8|}+#_!~|$*}p*Iz{zM&+_)-hn`PvaPu!0QB=P7Y=?QA!&dQ` zTGIXBjU7*I-*$lC?vIu8sdoicHp+YQ{jEN-?ED^9%^&?~{xgk?kW&X&ddyrko QC>`WWPgg&ebxsLQ04}Y$jQ{`u literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/2/189_3.png b/public/images/pokemon/icons/variant/2/189_3.png new file mode 100644 index 0000000000000000000000000000000000000000..dfee57baf86bc529ea2cbb9337f34f35e3daa4da GIT binary patch literal 619 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`)dPG&Ton`){$GjuzuY}2DCk4Jl12OF84O96c(eZh{}gfXl||~Mhz+km z=9wG422#8wL4LvikpP433#B%o1ZROqWHAE+-(e7DJf6QI1t=&{;u=vBoS#-wo>-L1 z5RjOeSEA?V8lqsTXQ*fP=i>48KsDP^BRtbQJ+&A(fE-o^DMnTXMj*=zh^3)yu+JEo z!QxCnaYIHX1_2-)1;m-{EMW00AR7b{fEc77Mx$BE01TT6>gCZIV?V3k3Z7C;tMm!W|HNcIp%{k5yAQNBRtIZqeI5DWjimm~R_4R}}r z)S1h~-__sio6IqDhr@pBELN}iYO}R&_x~)`I8)I(^SFzb?o;l$ZY`&RC(lVNeNOB>FvoH=pk)?8M}_?_G~88#nUr>K7ES>9g!(DTU+ZvN#Wipuw%?J$pX*eX6# zOS=ENvE!-j+Ya#C{jqXB^{$}GMtM)Zztu;Uo!`T%`J+G0f5!6c56AYm%paL_53&mx QrGtFw>FVdQ&MBb@0O~@#NdN!< literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/2/204_2.png b/public/images/pokemon/icons/variant/2/204_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e36cf0af684dda63d126fa79ac4cc0d70d515b05 GIT binary patch literal 589 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 diff --git a/public/images/pokemon/icons/variant/2/207_3.png b/public/images/pokemon/icons/variant/2/207_3.png index 7a0018836dd21b6463ea84a34f291c367df318fd..1a5c00992ceafd377c37cf307cb4207a3f56123c 100644 GIT binary patch delta 712 zcmV;(0yq7v1>gmcB!2;OQb$4nuFf3k0007-NklL7*E&4`6S=3uZw(Ipg%OOZea>DDgVWGThaLy7^HHdiUM z83HLT6@+t$?|M1X`f|A-LO+n<<^4iF`TpLY3tV!^CH+STVSoN>hjS4^m`{y$vy-F{ zqT~DBaHSg&`%9%hUMlqB2Ec%-+|cX{{$K!rMy-xmS~d;C@X4BZslZxv&NK|e=an2N zBq)S1L;0*F2jC9|2<5Yuct81Tf`(!E$mC3bP(Ir>r)e5gbV!Zy{n^{r7_9Vmw-4Lu z?MuU+{zWJi*?+%4N)E5C(@e&=bMMBv^=r{NOT^iB``kq+Z<0 z#!CgI`c$j;^-v%nH&HgAI(@2iA2Ku(|T7Z3mS&u+t1_}UR}2&Hj6uK7Iy$h zA8ZgW6-Xa!a5vu)btdT?tDtnu*m-sJHULvoQyW1j!~%DV*o zI3D2I$S(k%d^oFZCS#0@Ubn`l3o8KVdP}e`$BbRnE-B>(=cn81q!hsW`ws!Q_4=i< zoNGa+B!6_4lTrXjpO1O-VggV<1A7+KG|f708nrr+Xas<2scNk?Xirbl_ZElpSsJxE z{$PMctP)gdz@+oF$c7||8Z)^EhD(yb+bwY`2OhLoiiImWdqLwGCrisc2|4Nds*`f^R%z7g0PKxx ugeyAwMIUs5X9>!-dYPUlc=6BezveesXF$N~Q-B!3BTNLh0L01FZT01FZU(%pXi0000RbVXQnQ*UN;cVTj607GSL zb9r+hQ*?D?X>TA@Z*OeDr{R1600K8jL_t(oh3(hBYZO5g!13=PfrD`9!4)oSGbs|U zNMR99f`@;AP0ACCq>v!~sIN_#U~43VfR%V4K^ws~ECiPnSAQrZhQKrn+bAc5Kp@3h z$Qx#VoXKT(y%c%X?d)><+4tVg%vPc(;wnew8kjS#fqA14pi(N*T2~72q#`#^DHZh} z-sA4)uOyL5sR&4omjaZVNytry0sjRr9H^9vx(zorw)QhXYh4itU@%!@r2(^WHnQ7r z>9pMO0R;(=gnxSB0D$#{S)PCT2Egvb34-hSfyuP}KXCEB9O)&ov+0Ec+D_eMFDvZq z*;!4VD-F25FdIAH^8=pld2GzJ>9pL;k`H@;+`#j)ckA_glu~G|0r>sm5r8Ru@?i=G z3UdBz5`cHXcQ)qQ0I4$f{D4l&rRN8+K9%uOfm2&60Ds(Ge8ro!84h+r`u!W3*9#7y z?bOY0!P_rTZlIL-!|Ib1@XiAVfSZrEO;!cBJngW5d}`W4dbhNf1Yl}wB@_6p`@>w@ zcIq^1Rdc*~7y^H%At-5@v7t6naLdz9>^eaK%=oJSyuJT&q>1~|n*|#QWa0z`uygQ> z?T=r8(SKH#T)_FW$yoDCNu}o`?CeRDUgE6H1AvWg)~akCh9mb~ZlECTV_7k}4HqvQ z#7e%Tk1oAoC~V80#O)uS(yUck(nsb2#sbXR=}5UH{>zT~JeW+x7g-%j2M*iBdf|ZG uiIedIA)P@fYtdhKh4tW-{p>6|{s53K#ME6BxD7-A0000Nn{174DbnYRZviPFe~*~hT-it7atX|g$@c)6ASA1R2f8i0hJV%OtAq{TqQw% z!T(`^Vbd9%^FUF~0*}aI1_r*vAk26?e?&q9iy!t)x7$D3u`~F*C13&(AeP z!Bo#s&*=9a=50VV+fpMu(>y)37&w3&Rt70XRt82O3uK`*lnwR`BQsc>2`FyJ$iyH3 zq@#d1vz-Mjo&{usKmrhh^uuU0OBsOSF@c?d1*pQn$k>2!0mM|04%P(_lcoUKAixAP zhY74Q$kGDHg6c9fFaXKEy!y@J)UBKtI1teo#482R?9<3wLB3`2Yl+pioVEAObgIGXxNY=C-Y44xznA`MiaAc zG;f?6kl?mGQNUbcK39(`8|T%c{+rU*SKP_g`)nAuxQgTe~DWM4fj!vNV literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/299_3.png b/public/images/pokemon/icons/variant/3/299_3.png new file mode 100644 index 0000000000000000000000000000000000000000..68d8a89331631c10dce687fb567bf191a01b4594 GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{174DbnYRZviP|L^mJ=bx|t|E_N48Mo+4dhm>*rX#M}aX=-}&7WO>6jw=* zU+{kzVAym<=R8o9v%n*=n1O-sFbFdq&tH)O6qG1&jVKAuPb(=;EJ|evNX*PD(erZ+ zQ83jr)HC|Mhj|-N&9>AC&ooa@Ed~xChm}E!k(GfF$npYWX($`)8%AcZI1^CZkdcW& z07ypxab`OUSUd~J27v@12I+^kOkFcXkY-6eR=hp#i?64RY2xaPZ!4!3;(y14)Pr~;Be-gVe|Rm-JYmv!%#IB9BX_u$uA$#kO`F%2?1 z8>)(BPX1>s=sovNRAaC5(siMWWNLXLnhyBXi4}d3o0t}$d(f~UM^5IM;&Z1vpN%GF z-Duu8Hz2`nd!m53#C)zES2oV8Mg2FWudle1t@qh5ZgCy6{#yU(uh+^o>nHW9{3;OP Q;{iF|)78&qol`;+017vyasU7T literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/313_2.png b/public/images/pokemon/icons/variant/3/313_2.png new file mode 100644 index 0000000000000000000000000000000000000000..501bb3f859b1af48468651af9280ea5371b20670 GIT binary patch literal 688 zcmV;h0#E&kP)X00009a7bBm000XU z000XU0RWnu7ytkQVo5|nR9J=Wm%nQhVHn3h7XpD=0vRlsf4VH*Nu~K5v!V5^FCL zY1?6nRwUBaaMH%!%aC&tET(43ISH)h8sA@|R^4$IL)tk#XiAbT21Zcg2k5Bt^uUS8# zSwD%g-AEZ>F06*3Q%DG*cJF1`uO0x}TQ3(rQF#DIkCp(~uO4_g*#6xC;3(Pc>pnqj zM*{Rix?0_7Qh08&@p)+|T(NV^W?BHJE%Mv|g%GOTmfpC(C|s|Cu5=d;!1}3enWl-9 zGLY?99t3?D`{hEVugrKwV!r(VK%r3Z)|sY>ZQEmyoydTGP~Gx$71tiW>4SB>=R#VR z1#tcz9E3c4wm@dx(F4-fUB;)u{DWXQ7`c=9;mU1E=}CgE`dn``)t7&pX%YGE7#q-4 zv2)DoP8Yj(lPOkpXfX00009a7bBm000XU z000XU0RWnu7ytkQhDk(0R9J=Wmp@1wQ5?rVca%~I;-8_8eYZ4g(YD~wI33iX9i+I4 zr4neT3W7t2ibEHvAUJgBVlYcXy13YKQ&bQN2A3k4?nMVRG_7KfI{7+W@72^8a~G=_ z{6ZkS_q+G|m&}r%TVS|RJjNK`Es% z+&`@j;`;#P=N3+d2k4w}VboGl8!A$Y0nCI$$5sk}mbEEt>60dDTB=tc;1SlZ>Vv>WBPnhFglr8N3_hdAoKPuWdVcGDb|cA0*0BaIm;r6KSmaS-3HfO>xS832p--s&dFjAtvJcU>3DvJ`OU*ohRu z;}Sxs;FV`jW+=O9y=NvI9lZc@WMl-O?g%yv7(iZs_y}iW(09JK&cNvF3Y*qKn+6Nk zE(9>BM>FBjvNomHfAx$5e*Lu;+N$0i|62`K)6tTRS!g4*=-*@pM*Y;92?q*KBAt8my+{(5Km)JK$xg>HpO=J>YM%QL*G40!WJh0000X00009a7bBm000XU z000XU0RWnu7ytkQSxH1eR9J=WmoaM-VHn4MCxH;iNy|}?8|1x3Y)O|3ZSnz%o5L-! zW0n+3!6A+%9a`!)2pwDsE@=g`i=#s|8i$lt;&AVDiyRpu1VK0lz01YKn%pHuO8;=f zy~(}LFaP&>o_nHrp2z>JTk{6^n{EK(>IN{bt{0%9D8XeIh8Mn{^qL8vFCm0yw@ri) zGjF1aX>1Y(l~O9+ZRkq?blo2O0<+sD#=T~o?SVK&B5e=`mMc+P z4Z3a*RZC&H61!~zV7W4O8cYl*gz$37G^JwS{7SXJ(e4Urt19K>@mQV!NW zwb)uX8TnbKmY`BC3>>$rrJ{rZVid{y$Hvgw_TdHFhZg{piuqu@>-M6CiI#)8WSXPh z6%KYzgQMPBIN`-Z*u1}r?wkYQ=$YWzx8J@3{k}ME+=&6dm)`Ea^(KIHTy4n_tHgW7E~Xw2p8N0zf1mmgf9Uo3B0 zpLr_Pf0KiwAe;N^15G-tx+Z|Z!C@wi`YIjloYJW!xP0OS`R3@E;HaZcHB)oYawX7r zE1a8t<%XY`c@>8xrBv#_&woOA))e-hii3aBRYU7ciew(TUjORmp&vpA3`+s_Et3EM N002ovPDHLkV1g5FGQ$7> literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/314_3.png b/public/images/pokemon/icons/variant/3/314_3.png new file mode 100644 index 0000000000000000000000000000000000000000..716ffccd3f28ba64643663ecd4d75f22f688b9e2 GIT binary patch literal 691 zcmV;k0!;mhP)X00009a7bBm000XU z000XU0RWnu7ytkQWl2OqR9J=WmoaD)Q5eVn5y3Q>V##93ksMdZ-B2XGf*e zMk)QnLGHcqzTbWC`+xT?Kt%YTb?#pS{7q+oqB;W<)#(M4WNjq|j{93_NF0k~NB!nwVF5c=xRf0BD;AfCeVhg+mW81|V8$ zLXtJ&-D<8a&L};UbJ;$aX|VCOY2aq-0svs_@l)J;{t7@3&v=3iPy6J45GIlRwcm4U}_PHkMI(JYfKcH0u1XBV%)0)0o?u1^{fV z9n@pJ6X6X55Rs=VmQX2GBkI}~g;brownbgrB6>YVL`10?QApJ(r0SHa5xZgum0}5% zyvFkk=s<>4o!+#cFu*}@2KM0NKKtzehg97&BzL1;T$;euYX;lSZEFQz_Zt8XYA*Tc zJ^R1gR9@OnfcKlkab>jBM5{P+WZr>m6=$%qR)BKxG63L;e%sUQj~mbp8n0Ag?rZ|+ z_rJxZ2`oSCH*v=-FB|K4QT*ij-7E~~KyF(rtVuT(@`vWfe|!hPd2rw{$#JIX+7>g8 z+r>QY6*kE*O{NPhTS-@Kjti{m3*g>vGw|p6Pm(o4Ff6>bFEx0a{5Z6pD4-uYyX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0004M zNklb8BJx54Zv5jCzRs@0y+ysIE2}#BNfOU$wZhyeU5(ESi z66T8p5)5IR=o0KK3W1v{>Ml(oh~8~0NuTPSxP0>7yC1dUI3~|w6~F>m01Mzh0tzA2 zVzb%I$`w!u5$|^TYW&h^8bKNXO5Dwf3&8PpXbia!;C}0tjji?k0RcYVKLPRs6hg#K zugoMIVeeh4`RMVS!1rh#TxlVV0Q(Q80JOUUH6QpM!0LeVNRc=h?&bw&_lGp>s+!Y5 zW&$S5`dh}*=#>CV^*I%{rZOeV8~7e~uiF3|?Yz_o?6pPNUahldrxLC`7NW} z9q{$MwtQfzJ}2-!hS8XYU1b=JnS`SsK%Fvc0n>e$?8P*8>A)oNub70R%;hz94$2K< z8fW|_Nr%qvHGUU6y|OxThS3;68)y7ISgOy}Shutbdr>>RvXRU!^vQ1uSNzqPh;J!W VD%31o$$S6+002ovPDHLkV1iD_%|-wK literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/325_3.png b/public/images/pokemon/icons/variant/3/325_3.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd13bd75be152c497d2512120a02ef5c2990ae7 GIT binary patch literal 478 zcmV<40U`d0P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0004L zNklTw}IrVk8U2QTy)4HN3k2BTrZK*m3SCS^7P7W**Yi$(0zfqCR#F_7`t<+XMWstscs zXZJP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT00063 zNklCkX|4g+e5xOQ8<76uK!UatK`vp=s;T@wxatFIU0Ky%;;(f4j$V{NDfj{_lO4(OPqp zl}Q0pz!WeAOaYStDy1|)5CoYU2dI?N`K1~F{r$#2g|u=o3>kJ)+!fhuz#333Zc!}c z`10+Hqxx3>?mT`m^ls<%dSXZ`z{+NcmhZ4!X#?=_Fd&nC1i-7#I{;R8PbTl6!2L-A z`Q-fu?x((WeD0$9DgkC$!owtS10@1Pd9ekb=}&7|8V(XjxdM@oLFhL>#)xi|!I zu*USllu58`sMkFmx%7Vp48w^8QXJc^?g8+;y-Le>m|mDdUv8L0500+@%%(<3b}T>% zgp^G_UV8XO%Ml}L`3`__PyidfO=>ePUbZ=sld(%2?ICe?xzaXgp|}^8z|G9f((9fY z$hagg4@_yp?yc;euv4C&4B%Wf&w0na1}TztaZ$>ul+t7C!8nir=N*^+ ze&gCbEJ;o}G*}O;(f(9Q=`iHr_{wS|8~a2Z9U^|+Fq0p*MooSCPx8O?6B|o?)Uvdf QH2?qr07*qoM6N<$f(F_bSpWb4 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/326_3.png b/public/images/pokemon/icons/variant/3/326_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4025d0842f9d21d2cb9c49fae117a3cad78125 GIT binary patch literal 644 zcmV-~0(X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006H zNkl1uAp$;Ewl_j0&A=l#C-obSf8 z)|_R~0=vbO-hr&kY;t-bN!WoSq%z&p-k^4SuTs~G@3l)v$I;UWOtpDzGV8=Gyu zg97(A3FP&;uf$f~S@&mXz^j+~0Z1hi=Ka*`r({x3sP*hN1TGYyQcAat4w~oI>0hLh z305{<;JPk7w+ig-9I$h4skwmOWD4N)!3MdwgR^{|e6~bkzQe394s4lp+ax*=p#Ml& z9O@(&caFK}RdHa8_O7%^uxzMW-mJUyrviH6L;@*}Ex#`U@Tl)O`D}^yt~9s%f0{&Z zuT=odrs_#{AV3L(lubVVas0lPBSw_ZmH>={0(h^|!khGOa&f0FCj*z*-$UZ;zl;ylsNiqWZ#t5>t1bambTHs<^WzkyvxjR^#r6y-iwP; zR;83~SPuq)1eh7F(mSz!;vSYHhaDQM2UdT7Dy6g+a(k^}HIg-aqV^9Fe{PuOk6ZPo eKKdv5UpfL^CU?}y)S%M<0000Nn{1`)dPG&Ton`)sutewl+|(RKAb6_v)$b6S$+NWjEw94{{R2~@9F6|ckUig z?WvhU8-NsVNswPKP#g{zY+op~0VOyKJR*x382Ao@Fyrz36)8YLi4xa{lHmNblJdl& zREB`W%)AmkKi3ciQ$0gHvp*M)uLr8xmKx!i=IN=$zyaj2GDtD9GB5&JUO+4jWrKaj z$P5-|0*V_lGBF4M=_nx1Y-a(BX93wDkO0IW{V*EMQU+kyOkihV0je-CGB#jb05KJ$ zgLMJKq$xl)2rvQ7VFIfRva|rQpt=kV3_!AnIO?xmRgLlmGWU48IEGmGzrA!*sL6nb z^}>XEDl7i{|6Zkh=EhN_e!Cf$&TWyIrFWvt@ZSfMI_|C~mya7bZQUTVxBQFpqD@nR z+$$S*o)%JP&u(dR0A_zV7* z9=N@5`JBVy9Y&d_UY)W(G{=1QNn{1`wE}!XTon`)UM)Q~B`@%1<)%y*wNq=FmKW`voU%06WJ*nF@Bjb*dwP1# zox2BA9+cWB0;Kp#g8YJk;t0Utdf?6ppbTe$M`STj!C??)Jf6QI1t=&{;u=vBoS#-w zo>-L15RjOeSEA?V8lqsTXQ*fP=i>48KsDP^BRtbQJ+&A(fE-o^DMnTXMj*=zh^3)y zugCZIV?V3k3Z7C;tMm!W|HNcIp%{k5yAQNBRtK2I0N5DWjemu?C* z8St=P5ZJWv+yDCO(y7Pv#45iuipVV4()nqZRh5iALc``dD}Cp1FcyBQsq#(NX2AmABhitL_ib!s?<&;t zvA&nv_7z literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/332_2.png b/public/images/pokemon/icons/variant/3/332_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ff9077cec0a01dd9dc27631e54e3b601ca5bd1bf GIT binary patch literal 613 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTon`)nx*778S5YQ_O2F??@_dK={{Vw@czT(!h}MrN=$6Hwfc zk%>V7NJjy2W;+X5JPXJMfdn81>4(v1mNEdtWCA+_3s8lDk+A{e0*I*~9jpr=CQSjd zL4XNp4ii{qkfjBX1=VF}U;vUm#8H3ks%n%kka@w=#WBRff9b?VzGej;7w&BJU;pLz zSikAHkfw86a;=Phx^_{`N|7^Xu4s48j@)`BiaA?w7;+X&>F?K$aB*7nMxk#3Qit(nd22$d+M4~Q~30bt!dkCa-AERGhb9IWb{wjYAks;@7xZM OKRsRjT-G@yGywoKuf2!> literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/332_3.png b/public/images/pokemon/icons/variant/3/332_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c6cee79470ae9e32115868f0ec2256bfa9a6ff GIT binary patch literal 614 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTon`)HuM&qKREI6^<{k-CIx&q9iy!t)x7$D3u`~F*C13 z&(AeP!Bo#s&+N~|nAmtPE0&tPG4mmKP99L)l;-F*1Y2nSkPk zj7$syKspMDGuv6f;#oj82qXY8NI#55vy=fCCKK2hSb!=FjEoH!7eGt}>0n&|F=+~r z4FXI+bC|#?gDfq8ET}F+0|SukA&&ZMS5>2Yfy|4ZE{-7<{!1q{@--W9xGdD({OiB` zp53Qut8F%g7H)p}Ak4u9LjD!7!%{O;V%lJR_#|qA$)*3+!*Irb=6-s(yGU@wP zkpw=rBEOnqfv|VM4>^}IxJ*`gZ|pi@&cg})oj#~V%iW#OUVL0*@v+k9Wp`Iv9(t|WkhY{^=C(b%SZs|pJU)Dn#b}Euzh%-87uaq9&* OOg&xwT-G@yGywpXvA{_H literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/345_2.png b/public/images/pokemon/icons/variant/3/345_2.png new file mode 100644 index 0000000000000000000000000000000000000000..015696265f97eb3b4d28b897821764a4981365b9 GIT binary patch literal 610 zcmV-o0-gPdP)X0006hNklY5QZn>4@hC7f+QLcMEpdHh)qB&ECjK!vk*kE(MBtcR@ztz60oqd5y8SD2x-I= zieDgt;71TNjflU%n0GF3Sc9N@8?d>7yWO3en|^6UPCY!NtJ;a z;|J3Es{l8(aU}P*&k7T3Ytr#>b5BR!MrOx#YQ}BP52><@`OD}_L2i1NITc*6LpeB@pnRBjpH#35Mwe7D ze#=tDe~Wf-2}(y>IY0KMMR3y(ryn@H=c~kk+zH+2rYPM{<)a^9i1j`UTiTg*i7V5i z%;OBmL;xLLYS3kR_0<`Sd98bpFLI=UfSVhNm)u!NuZk+`s-P1f z;8@zcyh|+HQ3j-cCn5zGNaqp*@~LM=!FY<7dk1wLz1VUtwG$xW07j^ighHPyq%$Ca wP*Oqyj;9#U|Fy&fu^I||0j^pDHI$~V#sB~S07*qoM6N<$g1uxCS^xk5 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/345_3.png b/public/images/pokemon/icons/variant/3/345_3.png new file mode 100644 index 0000000000000000000000000000000000000000..41ba6766c21f7771686b38f814ead06708433b63 GIT binary patch literal 646 zcmV;10(t$3P)X0006_Nkl zlZ3P}1o1F7dTF$=QQ@u##Jqp*{>R=G>h2!cyoGzaGjDeGyMK1~iNq~dAXXq&AXcDm z3IsuLjbGgohKU+nlbIleLZJcnr@eQY?rr}^p^y1tb8OQ$*#tAzgn=&vx_gcS$mR18RT%dl30Cc+}gd_VN6oHDGyWRl1uElnDy~F7x4)P$|M;Hek{4 z4l#&zfkO@_1$h{d01bN&B~CRzQ5y;Z?nUC6+I;Zv(7sD=1!(TS_hX}yp52JnfKs&0 zF#=%Et#1nUtL;9tE-@CwLV)=(RaOiDwT(W+AeM)zHtsgtN2m1E?LW0--9ga%KWaRD|0l^@?l-#+WaUve3^=(e4ox<=@5U0K9}BWvbi8YM~WTl z%C(%U%I165u~Ui7#i$_Qp0-!MEEgS;3&MRGHeUt300GC+ZY_zV60OR<|En049DCIV z(!0cf%zr80gFMAUlOqb+JG|kopcf$F07fV!3m^3PLV5!d2&E<@;CPDh{$5K=Kpqy_ gK2XdN_w`WVKaAN2dXL#Ii~s-t07*qoM6N<$f-!V0V*mgE literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/346_2.png b/public/images/pokemon/icons/variant/3/346_2.png new file mode 100644 index 0000000000000000000000000000000000000000..71e233c31ccd52c3cb7727552c890b008005018a GIT binary patch literal 869 zcmV-r1DgDaP)X0009lNkl_&ZgyIlzbZ`_hNJ~LT2gSO#h>C+$ z9h6pDOo)Sxr6`$H$d+vJzL)!szwPDn-_;C49^C!+zyH1WfA_uj{yUMr^cnb18E_n@ zg{#-__r}=(z(%f2wp|yBtd?5I;}6h z`sS4+QwQbg%UKyedU6XH1V;OfN~PmVY;g>j>SDv>a`zgn}0qp1ch<& z+nV5_(2w&dqgCx-Q`8(-qW~ae{KRDiOBPLFT$e^odY)ozHZpcmz@Dbn1x9)I`K!oa zN`XRm=%H6@v)C6oMhJR-QPbahs)Ik}cOIKlf1QbN6Qy9P1NG z*sH`~(i&iU2M?&r7K9-2oS9!&kcC_KbUb_NIMm7}YjAa;7&+CEx)>XlCr2^t5P;2i z;IOD^u71?ii`V%m1IGzIl6D026jlr(y(X~1yXVxs@#w9NU=IM9?)GB4F|;&1##b^) z$u3tSvDo#P!3Ndx1MhuYLR@eFhO2gSpX!x87bFGs$fHNQ*R4H(iz8hDnn4MU3~~+3 z`Qn0spa#)Uc)`~nuF9XnG0EpPd^6jJP=E~1R5B>pOFj9m&GD(!REC(o!nFxCMIGX6 za$(G^MOWU>G$N%JKA|-TfM)H%foUZ;=pftc3%>lJ&;vfk5rep)48maP*-s3<02nT& zwYq%UUkiG`!M+;_We|bE#B}1Yj9x#W`v4eHIyKM~fUDL^vVML|rkdaV^pSaVH-zV9 zrnuzW=z_(~3Lws}FkyOWv%M^+#|V%V?Ql*yj9mf34~*b@O6H)OZYAXOZ~~9|slyyX zrgaiMrV23gRb6WkmUvSHLmI&rE^Yul!6EGs^B7_cvt|>+`_;zwX2qZx3~X}F z6q!1ld1xYl9LhcR>kmHs;xNthXS|>>GQgl9rjB3%6z3lsgbdoG)r|Mg0Wvs&VveQ( vK>U_P{dw&fKmx^Rg0)Gj>DzzaEdzf6iIAD>^be{;00000NkvXXu0mjfy(yO6 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/346_3.png b/public/images/pokemon/icons/variant/3/346_3.png new file mode 100644 index 0000000000000000000000000000000000000000..14514bb61836d4ab9092df25577081006dbee2a8 GIT binary patch literal 853 zcmV-b1FHOqP)X0009VNkl?E--f%oV~tn4O)OH*bFP-kaGqrXdXv z{HGp>L?Rxg-uUZlSpcxjy*;_9$q6r;&91A(j?0{?0E>C-cVv%=7*iB7s9)%3 zm@V<0cH_&>(`Kcm)tr4iV4mzhA99Akr2ln#zT_rC6N@yOiu9H25*!OACU2OHi$APx zY;4d7iu%OcyM`jsJhiK-opOgo$vM0x0T4-bU$wCEVh~K@e|{~Rx`&v>nvZrFyhm68 zlYIIxZ<;o>SWx;NoEpn}m-fu~fa&ZTE1IW_mlG!sVn89pL%?OGu3Njyb8{wkF=aY$ zp0@4u=#+(1e$uJU)Z$5JK)bsC02FT_g5-V2;b99obNP|2cem#b6W&w~{!C6(9cpJl zd2r#~9e9e0AQ{Ay8?qm5=t&KP9In=jPJqCLz;4~M3!1@mwgwDuD%^AmBVU zHn`a9DtLkrD$InEHevJpkP|xE!SL~pJ~~!!HAR9tuFz#ej1i3LVlHJ=;njFyTBx78 zZQq4_)8+eI5fE!Y@;#kR&zinxxf45nENVKsI_zS6>S!bJ{_@uesev8ly4;CQ|AXw5 zk39f@N>~7ScqaFy06x?2cj!9uU&&#h0c(y%Z81Jz-2`u{Xc4ukb^VZ^!TeKBQcGX+ z%hgUHE@z-{jK%5Waz6NdCI3UAQ|}Vipv^T0lyQO5=Fk90uId{ty-Ic60D}t$VO>sc faBk!MUp?>_y|T`bXD$Ec00000NkvXXu0mjfKvX00001b5ch_0Itp) z=>Px${YgYYR9J=Wl`(A7Ko~|}0#dAu1R(^ibVF)Ylqf^Gg5;qhDicE|cO)xo_bwmU1?ALwhK_3oxAw>D zRvrIt8ZiK^RRci#+3unv`hB(9j!c7bx6Q}( z%|u_NT0(2p5^Hf}8UW0P!==98p`4&*HUTJaZ^P%SrGC%Qqcy3SP3FTP&u*#9Tu`Pb z@vR;sb3eLo9KQz^NxF7GrCLhJ`JD^?`V=>;esrywO?<1z*6zVV_SODUy{eqD;Mw6G z<=}*Ja1sfRyX}N{9M=w%|617*49;e>CSN7Pe3n_s55b`XhWfznqAA;Q!825WC$M{T~LVB`Ap>Tb`lw?af2%!GxWoDZsxMj1!klE0&WLKL8!O*yc*p R7EAyD002ovPDHLkV1oUx4T=B& literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/396_3.png b/public/images/pokemon/icons/variant/4/396_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6725912b1993979a847d6650d0de4a6dbdeb6d0a GIT binary patch literal 605 zcmV-j0;2tiP)X00001b5ch_0Itp) z=>Px%7fD1xR9J=WmN94(Q5=WAh~+paNwZ~8d_yh>njw-w7s1gbG&eXHaj3XB3uZFJ zsTKz(7Z)kw&>?|zFCv9H1XDQB5`$i8hi=Cmg(6othxpE%DagG$#NoavdHS~wCc)-rPJCRzxSU@k;BfVH%?E-LoxHnh(8_Egx%^CoU7cQS!_cbHz$-Y_R_;8OK zcQ<116I)QGCu#OZSRbB-->WyD0n;Qs$0c7ZMC4A6hOzok>4>d%C;Z$uYczW!%9X~P ztVC4~6pwg!YmMjk9|Q1Y{RLLL!(=?5Txozgn49l8E(<@t#+Cz!^#j@553g4u;~$q> zSnUqGTWeujp5un~e6gUE9w;Q}YX+}I0k^d80K6IYrUi3Avp0&&z1F?Q-srO4bQ=_w0JN%;MikQ`Y109@T%XWKhXB$r4~GW*){HG@aB9A7?v rW7|6g;{Q4Llf;6v%*rMe%Sel#SW?vIqo2K!00000NkvXXu0mjfH7yIi literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/397_2.png b/public/images/pokemon/icons/variant/4/397_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f6982eeece48ea77964b1df5f38711b08200adb8 GIT binary patch literal 613 zcmV-r0-F7aP)X00001b5ch_0Itp) z=>Px%A4x<(R9J=WmoaGDKoo}mgo1@KI+H`-L6qRdlp-%p3B*%EHxHR?x_Qmm?%hnb ztR|a18(L}_GB^;DB@v+nfoVMmLOs>cp)uCd>k!`cRNF*4U1bs|!!8zQLS~(e)*h{&2M>-S<<@NvZo3(A?0mEg z0O;lJ9oIQPXai=Q4CvrUIx|ZQsVgnOAP5%5jT>a047_r60&>_7C%}@#U1~rUCuXl) zMK8C4VLz0gGe7t$`?;;I_SrD?VZrazF>ZaFdf#nz0i^o{NPXhv^mF`l9RRSnGs4ef z8#|xA82vX%Eg}-)`jt@2f6X)@hI*86e@njr3iI#+`-y%h00000NkvXXu0mjf)=m_q literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/397_3.png b/public/images/pokemon/icons/variant/4/397_3.png new file mode 100644 index 0000000000000000000000000000000000000000..83c2755599a2180f69c7742dfc7bbc626fbb08b4 GIT binary patch literal 637 zcmV-@0)qXCP)X00001b5ch_0Itp) z=>Px%H%UZ6R9J=Wm%mFJVHn51DV7idIkHG-(L9x85e|uDa7fk3MI3Y!#6Lhf2s)$) z2@!<2bt;rnTngPPM6x(Iqy-)PF=R^)`l5@tgbRp>!*yt%^UfsX?!6akA>ZZRd-L9V zpM2lvectDQfd(4r|5ixVL_}n9TL__S-WMt+VYo;li-&O91shb#{weSWG?K`o-7@j= zzNy4XB@RASEUqb=OBo=$r&>y5u-!7@ysA*37;$b6me=^>XZwwlc94iHytu zTyF7`r}y}Fkch0KFYmCHTgLv+ZvcQ)z6hgH!R3#`o^aKjDHq(`^{J;kDdk}K{T`BI zud%zj>FS@~IZSaoL#qi^SWLdN2n)EO z>pH)60)2Yh zEwcm6Puv9tWN~7y*9w>{t)Sg9?d3c#etjI5FG|;jfr|yBQNiN(i>|-d^F;u`J^=z( zyqtd0_qPCmHzULNb#;SgIQl#)Y9T~O2oY+AqnMq^;PB=avoo3g5B>|Wn<_t=p1pnp XbFJssUjNqr00000NkvXXu0mjfRtP0= literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/398_2.png b/public/images/pokemon/icons/variant/4/398_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe04248c7b742d5d34e07f9ad89736296458deb GIT binary patch literal 765 zcmVX00001b5ch_0Itp) z=>Px%w@E}nR9J=Wm(NQSVH}4aB~bLHQn9ds;AszD+FRjO>9A0ul}3nrm~5g6cO_zX>5#U2nhxXp_RhHI%s4`UA6VX*cjkTP zdB4Bjci~j0`p+eVu!RuzNzH#I>_7?CJ~`yv=ddlyYKe$TDHNa(!j@nst-vc5LfBI; zt^)A!+cxivF7>RQ+azi$wnhc#eJ`rG3;OL=o>zU9&2s>B zWHO`|o*#gal8~~MRy?Y92FhX?OJ|>bXXVN+0I}Pn08Qa!;-q%Us$W9h^#K=j@oj_SEC%jbHP<_&J64+a~z3MD%xyn$a zfD*E^umw0}Mu(I#VsYhOy-%OR@Am=&>ai$YS~VL7Ae$+jF9beJgx-rKkW2>Y+U{hV zD=ChvP)8%(ie6VrxaFEn&tO9Jhq2zV00EYU`&|%TrFP25cny0_40T}rx^N3~^$R1j zj^4hYj79oWF>T#UwYn_1O_OLFE1W=c>sJ^?5%$6fN v`iIV9T^Gk*1CYGd7b#q%I_dw%|E&H11GZ)U_Qx(Q00000NkvXXu0mjf82E2P literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/398_3.png b/public/images/pokemon/icons/variant/4/398_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a1d47a95b1a2dfd1ee0d432aadecd657d9359953 GIT binary patch literal 792 zcmV+z1LypSP)X00001b5ch_0Itp) z=>Px%(n&-?R9J=WmrqC(Q5?rVM%yBRe-3Mwn2%ubv_gwwNb5~INRYIb*oDC8vIJcP zp<#odOIL3S3vNY-H-nTsv?U!x!8tC(tP3S>Fz!NZtB2{Z&TD4fbY>l?z%ML2`{uow z&-?y{{`p1+no!N1{ng)KXqwjK4c2cp1So_sOt90I>lq6n zjMbSw0KTm1JY2ja@0GXL@Y=<5UcuG&^C~Z00a|r!sGX8tlpiZx=y~$Uv2G^dI0von z4J66{XMABp!aXhoBv@X}@iG>*0W^2^v+obu zo>S6`I9&xCJ1A#5sTeCWj}9OMsFMn9u?Y!wcj8Ii@g==TAR3`CpRu{<8K70)R?=Kv z-edaXD|P~XbVTm3m3hn9)Mua?P60+OSS@hNLBFHI?0T8m_XkNW?*Wjwd5@nAvz1xm zYGl;b*BaWwd`3bBqLD+nc$8dKvH8Nq;uYRRzXM3H(C|}R|B_ymg|n{A$#xU6@_y6N z!tU5XP1Blul`OtWmdx}m29*?pN=n{ee0JlHW5dZfh53vG2Isqus}P$Hj3nO4Hq$xN z$=ZdxR=!HswhSF7*F~afT9Xjf0;sNmRY>*2@9MQWRje(idzv*w~%wI#iHClo5{rV~OKpQf%G zUA-elSMP{%`*q5*1M7)rXF6)#U1Dk7Gv_=31lacn8EgH@($0^+6V~H&+W(LLS^Wax W3|?;WpX2rb0000X00001b5ch_0Itp) z=>Px%G)Y83R9HvtmQN_dVHn4sIV>j!qa~^3Pbf7Ult>hpm6Ma3t&Ej&aS$Sf99*1e z4!cpxNjYexl#~NkQd&t`?BGN@pzmAHug7b6-woSg&t>oLxA%SC&+q&Ed0!V5xVZ|P zkBWe~MyRM@QNdgl(AWEXzBjx}BoapHWi%;QNQQ!+hG>i`YQ1#YA25Qn0+e5mv8f7} z+ZjJl-}!ix{2M@QGU;}c*Hc0>_b;^9S4~4lcSb4zOhR%*OjI;h5F4yil`7xK)GPIL zRjM%{O>>GNSw*b-3DO9V;bMy$6kLcXKq%SRDS>K&gve1K#%p)$ZFG?M@@7H(H?rul0HC_|g6vH=bF>ER_>-I@EOEZ}O| zI;cOg`MZFeECmNI?cf<$h&SJ@h#Vh&6zN*{GK@ zAVPUK&`al`ZnZg-lLkmsc{ZVCKUNC*%b(S{d4IhFv|ZQi05T-n2y&3&@ZP2{JXR0K9vdn+FM#r9gE3zopx$~q?VQVb z0pyCtFP{>8-_vg=wl`>*(^*xq?m%xpHh08KzWxMISJY%<(>Yd++SKW9&MSDpcM)@2 WF1DMhxBvhE07*qoM6N<$f&c)_!XA_W literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/403_3.png b/public/images/pokemon/icons/variant/4/403_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0064c7d7d3f01ffa8f6e05b53df4411cb55295f1 GIT binary patch literal 633 zcmV-<0*3vGP)X00001b5ch_0Itp) z=>Px%Gf6~2R9HvtmODs7Q5eUMxr<`ZR2T$BO}!xKMMKaKHMg{c5z&+s5(Gg@LrWA< zLw#>Am;G71{Xt;Y~3&5Gh~#s9>2`8t`Mqm~YS%RTqr^Z1?r_c+HUD%@-p&L^sX z#d@f!U{%3l6;Q`}Jf3%ai^t5Ig&$R%qwj zoH3w3=9B8ZzTAC*BsHNjz&SLL0B~k1B;j-v$2cQE?%G_L4QRm6W+%k9{p6dnfa@G| z3GZZYX#pw7Nu7Lf_!n$h6=ToKR*aJC_l|Ci;ItJaKxFPu#??ce z-sq5M@1B;6Lpg4MM3xugTAD{I21&v3{&hJn@^ond)d%Vq#lkvGGuUB0Qt=ZZMr-_J%=-8oy%nb zq>RRsP6@j2skal;8#IsUg0fhhKrKHecf?$C{RyC|sLsN=eT)jV?xdycSMh)!5@KO4 TrLJil00000NkvXXu0mjfOa>hn literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/404_2.png b/public/images/pokemon/icons/variant/4/404_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9bd7a6ed7bf242b26ec538a42ad083cf09c485cf GIT binary patch literal 732 zcmV<20wev2P)X00001b5ch_0Itp) z=>Px%mPtfGR9HvtmQ6^MQ51%cF{=ncC;~y4sfKXTLI;9&2DTA$qiB>M1JmRng1HF< zcW&BTSP#D^o9? zc&cZIQit4Cbb$cj1Vz%nFxHSa0HOi%?4T-_y6bXsQj=1>ZgR>G0MGC3@5%e&k%s!9 zy0HLD6U*}L^H+KIU`Y1H2Zc&fC8h;))($OG2Y~Q{)PMmt79d0W{MIAMJbfrTH~S4B z>~?O_tgLDlg{yZ`JuRJv!+l=`*`)FEhwhs3l~47Wb!7K%6%q~#>h^<;uz;}Y9Mf=A z&xQ*G$S`o1$VKFtHip&(XIDERb)!y~woG^<18NvL*8Pks>Gx1T47U!s>-f{K_H*A5 zH%RsG2OMJ8i=T?;A!Q-x%EocW%8xo+LM9O9K!gTl(Hy+m zG#ur8)~q-QmeQlX00001b5ch_0Itp) z=>Px%mq|oHR9HvtmQ6^MQ51%c&0c0u5`*xKM*uB_xq3<)(dNlz|9Q zAcE*bCbg)Ri3`I`MvgYtv}$3ExSxvm(mR~F-OulD7-lhNbHDk1&OG-$Klju~ zgp7W!+UML%C_t(Qhb~CmfAwZY#`0HXF7Z-qK)~G`UMYY9 z3I4lPp$fbfIVfB`lZAVb^sqfzd6-;z@=8Vn%p z;p2N|WmU5%T)mU(Y3Vc^?)xgpCXJV`^^Y50>tElR^~+|)tb~Jty8U1yEFi2p$21(( zv*7{(G7Q`$auIo^jiGhH+0{-+-Kg)R7EO2~18NvL*8Pks>Gx1T47U!s>-f{K_H*A5 z7fJQ+2OMJ8zb>CFgp`G#D;vihD?jRR5g8D}1MKzkifPiiS?f(fMP0>V2Z+#sESl-2 zM}}i6cf+hW37RtrbInGLYx`&`3m_*O0B~Yq*a@wVF}{D?bmK~;z*TI2Y$r8Ons*&@ z=2g2IP)X00001b5ch_0Itp) z=>Px%ph-kQR9Hvdmpw>aK@^2&!LW^$2`GZFnks^bDFPB3Q3yz|QEY@j{KJ67Rw<%I z3e%(#ER>`O1Z=|ESO|i420&Nt`Y zd*+!kRX$Qx&S(CAz)U9d4_V0P^A*`_NkIX(zA$Ne-z-)iAmN~1RR98rX~gd@6HiT3 z$1~ewr2>YPiC2mV^!n2en@Xu30FQod8{YGA1p@Ke&h=HZ)!XMRlURTV2oMa^o*Ys| z3E*lT+y@lK`N64q)KXtQKm=uKH6Z5_J}CVXlJB`xj8qVTvJW5F80`aX_OAv+ii4oT z?1zw45wSI7C?Ep7C=|?-###&Kf{-c#lpFA=O9D=On<acNKfMKVRSCeQmwB;V0+!Q1%YBnCC0m*d8hSA zyTNmu%lhSsgzR7>>S7rXJN?|%c&A62hx_d{ZPu9oTK;Wb&W_%?kJJ*1VA}iSB3=se z1zG|Y#?byKm0~?|0{|mP)LESvkm;rZK_?5ldw2iLDtNfGQuM_;DTug`NI}GOsYnG` zUpOWQdzvjmZsX9brPHy$yuAULUT&BWm(sC^^iFY55NWh%no|Ei(d(29D3wjBQbiSvYa4N&FN=b47mf4$ a4LA|%F4b8)vH$=807*qoM6N<$f&c&=Tuyxe literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/405_3.png b/public/images/pokemon/icons/variant/4/405_3.png new file mode 100644 index 0000000000000000000000000000000000000000..82f0270bd5bf51dacf807460a5f59ee99d19a035 GIT binary patch literal 735 zcmV<50wDc~P)X00001b5ch_0Itp) z=>Px%nMp)JR9Hvdmpw>aK@^2&wU?EMU?VGpM6@$00-9I}DMTTaHX;N?Yy=^tBDR`9 z2!yDJVqww-QYco6f`zg32N7Is(x|)G8|4g~<$9g>-n_TFvN(-9@8`}p=iYnfnKBhV zQWef;o<3kElet9}ve|4|Hd|Csz%8uon4y98$^#@E)T;~XSX_b&AaV4&N7Jwh=2gWK<&vPRg?g(=D~eH zVXPe-n)j_Or2|Azrd9)TF5!dHFCqD!OT|b95vZ!V&BhoWoVI^8AW|Fz9cDj-q>6~G zAwvNX;5uJx($AVKoC`v#2vBaor!EP&`tqVsI@(hs0im8R+^^qXEnr{on6qhgw{i|g z2x_vD075Oojo$Q|@6|s|{$iuh@v`%EO=^eGE)WTb7o_L8Y=nS-Lr3-;Pgp>{3w78y zF2JzU$g4@Tr4UjohieiLY35+XUIG6Ry z6A9VDNYuqLAaw3^5Ghe3cHEq_I&o57!xutLS?jyB?BAE6*xrmp7e1VpLg)y{0 zN~Ktj+yKA`5_MK524uRaK+ws;?!L}lS_MCiPZfOeK?))+BvKGDT`E#R))$V+#^Z91002ovPDHLkV1iC2O-}#- literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/420_2.png b/public/images/pokemon/icons/variant/4/420_2.png new file mode 100644 index 0000000000000000000000000000000000000000..194ae1213e3e2717894b8064bdcf2fe059b9dbfa GIT binary patch literal 506 zcmVX00001b5ch_0Itp) z=>Px$v`IukR9J=WmOpF4Kp4g!OTU3&#SXqg9UXF$4o;=$R_IWuL)~3;39i{3vc$pc zE{aRBo8aisv2(4(2r3c~`T+{pp*@>emFAM-k{<-_-n-mAdH>u62nh)Z2?_B-B#1?b zh>NymS&@CVqd-Lb)x*Wro$M9>eCD9=iV%8R*8u>HTpEQ|?^iy`olXzVQ4AGC#4XE;*k;=`W}9tKh2l8}ow+A?xUS&l z(cJVGW7{Rf&%G=a;#j4;DU704LMoMlVyJsV>E|qzdXb2DtWw@P?lp{ukiLs;vyJWi w`VV}6rN}SF80Ohbpxz4<@gI0>9U#zR_x&G1s{jB107*qoM6N<$f_|*zy#N3J literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/420_3.png b/public/images/pokemon/icons/variant/4/420_3.png new file mode 100644 index 0000000000000000000000000000000000000000..71116e402436c698488db179612520f47711be0f GIT binary patch literal 480 zcmV<60U!Q}P)X00001b5ch_0Itp) z=>Px$nn^@KR9J=WmN9F>Koo#KODm-grF5y=3l0Xy8!B|{=$?Xu|DuCGp>*kwaBy(9 zn@d4x=OSh(2BBms;-E;EbdWnD)zVy|Q$7e>?uF#zy?d8~oSdAToSZZivUrJzM0y+q zL1EXN4XFi1BpP%&=Ki+T0^p(1#=uMGg*rZf4HYq-j{3P?{OkYYe6mM6OXDJVUSP+q@z9{dE+hl4N*8gH%vVD`;My-_M!kq`{W0R WxWCNj7tP=R0000X00001b5ch_0Itp) z=>Px$jY&j7R9J=WmcMGkKmdoogyP^_GE|Y9LOT>{CLh3O5Q>9z6@)I4K7uq$LFg(K zq{U~bbak?WgW?oQU8Hjh4qgYFG*uyZ7wM7@GTdG6^5u7bI7mrJNl7^fLJ0Za4k1Da z89YJx>*Yx%A$gR9T=C8YU_M*G{ezrzTDrrAm^z(>5Ylm+wHT1IEv$NtYP+9^9B2vx z^cofN!!bs8fYBZNX`6IfM5kT_L$#w2LN>Dno==bIH7a3!kY2P7;Oy!K-}m?ap7t8t zWK#^(`w-C7^%21Ss!f_`NJdc`u!lAC9*KRa4XwgteqquaUDY z=CcJk+gcC&b8#4rMgYoFtSuNwM$5td@b%hL7CR`qSFDsI`39#erViQmkC^}f002ov JPDHLkV1mS*&XxcG literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/421-overcast_3.png b/public/images/pokemon/icons/variant/4/421-overcast_3.png new file mode 100644 index 0000000000000000000000000000000000000000..91fb8ef3d5fbbeb1c1f106fd176b86cbfea42ff4 GIT binary patch literal 470 zcmV;{0V)28P)X00001b5ch_0Itp) z=>Px$kV!;AR9J=WmMw3>Kpcl3mTdyVFeEk2KZs=l)sUd@OE64~k1&g!sj8X9F5wF> z0j9}3mM}ZR(qNWg0D&3eCYEc;OVV&xGSerixVzr<>F=)BgPfe4oSd^DBI>^#Vnjsg zOP4?TeU*jeWfpRe*LMKSmunEz(D!YJjk&PtEF#MDygxC(EthC)9D*>+L=G$k0sK~r zZPQ^^D>ADUciM)&Pjc!_D42E>5!J1>8Q;wDTdlZWrM1=~U_fMX00001b5ch_0Itp) z=>Px%MM*?KR9J=WmcMHgQ5?WODRM}LR!E1?p*-nQ=+fMjp`99c5t2cnhOW!4mVm@$ieBZm{!}rI# zg9#HRO!zktLMS1G8uxpr#vvnwP|udrr>>8Jv7it_72@-uYqo6%WJl$K$z~yh$_|nc z_s6vG#*qbMlrt6txO~Y1hS>s?ZQG=dEZ?4&?*Ak*p_WinC^!tul&OX>^!r7!1muDF-d!T!0j2N6pQP`bHF-u z49-{D$b!20OM5*?CEWOj2U{%PzUmX}G@6mcG)51&2Q|=6&!N`W0I19)xc==6m6?Q3 ztXOMOuh%1qX^f8>xSPw>feKVVFgL&6OqJzG7`C zxvl zeIF(kg~;b1{F+XUS1!})2c)EwvEN?elX!o(-uAu&u$r894`c6ej55t5O9~;>r+atQ lk2lXF{k8lN{#vpBnx83jeH002ovPDHLkV1gOMF)IK7 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/421-sunshine_3.png b/public/images/pokemon/icons/variant/4/421-sunshine_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d615119bdf24bc6309f06fffe84a5d22d1813386 GIT binary patch literal 649 zcmV;40(Sk0P)X00001b5ch_0Itp) z=>Px%LrFwIR9J=WmoaD)Q5eU65m8bpC={jQ@UTNwqR68NS<X&7L)1Uzdi#1|;l3uUy9WeIA~<7Mm~D zD=4K>;h64A+upPSR7#~5Jr988*~3zIwzlbPZ3FPE_{soo~FJSoFNn0&c9Xu=)ObPrS6>VCLs<0CqAH<_3;Jo)iuemKfmOqnG5ext`e4`PL^FP1-fU6g$O#Jqfg@~iAc86M8(QG!Y!4d(62X*z&o+)Q8n`6Dc zZX9j3I{*eQ37D4km?_pP=J?#@^9Jb3%ne%Yj)AMHO#lkn{6O#K#12B&MS%GO(X+0W zRzP(2Mr&v2sq+&i2G>}&=_nmv; zo3c@&cd?cp8(LvF*Ks0HN~x4>i4#9vTH(*FFQ2{vaR2dLGmOI}9r>6!4iXM$X00001b5ch_0Itp) z=>Px$t4TybR9J=WmOV>CQ5eU6R-ZsFM1t}NF4+!*hN-=Xp60DpaUYq5g+N#1RoE zXun%QI1v#iKhFSgCpZAMZAXIey`k$sL>$vJ0eC%lCqK_nGjaqKO>IDc#KR`3m;vBD z^Ycs~kXlD9B2LZ70bnI2WM8+vwN%W2sU93?L{LPWi<_SJ?T2#}#8E2&x<&C;ZF&FB z9xvHxRu*h^k6Jl`Zmt3BG%F;NNlp%T*V?H_8SwaY&wGEXwit~@+}^*ewNsH&uX0;U zr(9$<9MijcUJ4dX$0@bD3wctQ8g09?1HnN|f zez2Nl0iV^~nD&(+wE>?xO-k+V!rITaqY9}E=x@@6`VqiFKKh&Yp8%Ss`EATCla-ig z<)PLr?v#t1Ul*_vla)5hCd_Z73~1YSWWQ8pHXPF_7gs{+6bNV*39vB6YDUh>y~eZ; n=-mwixm5b)2M+4e8cIhWM!Bsp=+09W00000NkvXXu0mjfa9Gpv literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/446_3.png b/public/images/pokemon/icons/variant/4/446_3.png new file mode 100644 index 0000000000000000000000000000000000000000..04c40204baf46f1d3ae0a65544d1ac79d1b01c19 GIT binary patch literal 504 zcmVX00001b5ch_0Itp) z=>Px$vPnciR9J=WmOn@WQ5?s=W{cb)PNjqVBq*GM8{48Ga=f8EYHBICNstB!Y7sg_ zCtHM;3!3u6K>~%Q5L^^nJRH*Pa0n-P4S90rpW(eDhwcN%9ru3k?)%>F-vc~6JUl%9 z2Smh(h^<=3T!@HeOI4OFRhipD*F--+L`;@t0Kn`09n@SAd7})sL<$Q8fc?`;Y{fPJ zU~*S;MOQ?wi%cdWmN&`(fI=#Xv+JA5m@QNkAMZpWVwnd6fslWx-Fe~=rfG8jhs(u8 z#ME4IO59O=8$)X}V=L-v?ih5saA=JXi^ZVq#h2Rgz%4MHF(%J}kRP2+2TyOUrFJ}U zCrQMrL3<2i(Cy($P2i>VG3D}f#y~I{M#QS2FCb7TNj48I5R8Tw+6=lq^efumCkX(U zrs?ZfG)N5{gKlp|nAFe_v1-Can|o!z&o1tq+(K&TGh@!02=JF1?ih3yX>I(@jz^o{ z#hVAA7?fpss?E)#kV>LnuXD$tP%r-4J;w9Nn{1`RRVlMTon`)Y&3+zyR*x;6d6Q%J?n8ko}_;C=+U`W5=qK@|Ns97DlDt^ zxDTXwN`m}?fg&)#AawuSIiNUafk$L90|Vb-5N14{zaj-FC{f}XQ4*Y=R#Ki=l*$m0 zn3-3i=jR%tV5(=RXY_jy^ERNGZK)BSX`Y^13>-iXD}xjxD+42tBNKxFkd6Z4%yt&AcovWi0trA2(hsB2EM)+O%LH}?7N80PBVz-`1rSp~I#?G# zOqv2@g8&oI944^JAWI7%3#!Y|zyKus^6EE>Q@3)efXo-3E{-7<{%0p26lyl$aEavb z`11e%cITwoEV;*%%WXI+H+wHy_;{g)`M#Iy9bWC)qR+db!{C$CI{r!P_7toPlnURJ zs>d4R)bpg0acRMdCm(pkCO*>$s%w_HXQ9<{|BGc(MhUW4qCY4&SiMN&Q!SlcleVFl z$9OZt>Z^vg82GJtm2WMGI@^}oHLb4W+NRQf_2C=lmvyfzwf(4Sbz+%R)DD(?f#v77 ptKAf4sw>*r@o4A8+|Pdf2gOftYlH;r)|!L-@9FC2vd$@?2>^~L#T5Vm literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/476_3.png b/public/images/pokemon/icons/variant/4/476_3.png new file mode 100644 index 0000000000000000000000000000000000000000..39cb2a72088f2b7d75c9e3b5eda9e579faf3c7dd GIT binary patch literal 641 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`RRVlMTon`)BsHwEf~S zmxTiO>_%)r2R7=#&*=dVZs3QCl?MwA5SrKXms!@LcsW?O26XPT#{76S*6!^$AV$jZP7WO)IxG?WeY6(ciP zoCzpy$jHPX0HmXUIJ2DvES?2qgFpfhgY?5_G)ozP;WB}pfd#0-z{uEuaRJ0skPg-b z5R;|=*&x6KG=~YSGRV>b$b#xJG%x_kzP$R);?%92Dj@TPr;B5Vh5y;f2ZfpqI9wt* zJih$@zuh@$HcRgDI1%FW)37Cv66VZQI>dWToLw&?S2=rH)?w2pt$x;+Ie1Es<@ zrRuT9IQ2ZKWL#RX;>iadv5C(#g6f)Oe9lDtVE178V43_#Y(hw*!%Rt!+j63;=?MwS z_ZhyMzWtnJ$`i?QqkM<;wD&t25+xMw+*xR~-2Y;klu?50mFN!&4puMH_*6@0*Q9MI z<}u#Pu==XuEe3uoUgcX0qRzIZc1^46xVEYEUw!z7`DNYfN^L)?TAf%X6}5w9Utsz9 q?P@oLnd*vmc0Ag7G551y|3UE++!`Uly0zvY|9iUnxvX}M{P)X00001b5ch_0Itp) z=>Px$@<~KNR9J=WmN7`&P#A!}90ef|1P2{Tu0Ms+auPBLS4a^K#Kk%~b!e9^2c5jp zNgT>K6v18SP36We<%S|U2wi##h0^6waWF&SD7XlD9puHFUbT5qyX2da$9ws|{O|u? z0wpCSB_$>Q1rgCAqHjCSy&{V}i4f3ADaVXurL*I4XB0PyMjoW6su%IVV zDqzHZtKBqvBBD3DYgEH2Y$UC>SSjTQXip*%H(-2n{F0pE?dpbY7z)*h$%rQrgLpvY z-r43pTZ<-xd16^N$ot3;*K@rhkyUn4o2h)o*8V%|#0pQe+(`!$nv^H(d z#ax0SqO0K)i>qA#o-OyOw}i^c!O*;iPoDs!l10e%Mn+Kmm_#1MJbpcQ?V7!|y0USu zBUc8MQqIr*G4t&(mHX7{U%6%w54itw*6NT3i!N45IlX2_10-(1eEY0XzI{0apf=;D z_lF;T;V(_tc-adY5;x$~kLfi#>Gi^!v#j=-9l&hQEVUV*qb<8Qg$`;s|2oWVz5w9k zMvt-Y$3y3znRlmx7iAMSz+al+XlwgMezR_zyZV7G$;%&asLn!oS_`NE0000X00001b5ch_0Itp) z=>Px$+et)0R9J=WmOV%uK@@<$5xWJ2WiN-_!@^idnn<`xk}FgaxMq)tt(Ys4h?Rv{ zClF$%RU)>gxJ!}Bm_kVxY+_oK(odfMz)%?@vP-@cuBJCKr+ zl9H10Ac#mHB0;b7^d(vBdx};`BYs!%i3D2_k-+y9zNgyeZG{sHnkpJOfXYRH)>;|4 znYSNtv*T^m?x~>GT2(F@`5ynfq?4TCSLM5H8dUd?n=uvfJw>%v=hSiAPnrWX zl^F=4l5z6H78H?S>)X$!x#>rP(`m5VJXB7vJ7=iTB80Oj}7 zze%^m0J%^H)2&#YppK-95KI83gtG| zzTCQ|TC4Ns*%PZK4GB&$G#d2$LJ5Gg>KOndV%oat75i-jjhr(i zENzy<@oaGtfThiHBgk=?FwzGnR(TRNYPkM8e4Z-;uvOmS`0A>u|Cu=3T!}Hg?!)WC jz1$J4xUUOrN?iT}OY6;RGK!*&00000NkvXXu0mjfnR)#r literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/499_2.png b/public/images/pokemon/icons/variant/5/499_2.png new file mode 100644 index 0000000000000000000000000000000000000000..992d5edb00a18e9a2e3d6dd0eb0172f43e3f0a63 GIT binary patch literal 743 zcmV?P)X00001b5ch_0Itp) z=>Px%p-DtRR9J=Wmp@1wQ5?rV${C>`A{0!WegSU~QR|QzLQ2umNlFH3bO;^Yq%E`* ziqK9KH=z!#APPby4HP;!6x0wBMX-njxxgJQ1_hxMCu8b$2zO1?s&^(sA>ZZh{kiu( z_ulXOdv{P%O*Pf@e@H}35iu)0Zha*N5fQUVLg(r#0bCKlv$_b_trWKa0ES`ISyzFI zZ!fq26cJO`b$mXbT?S~95XTKE1Tj6T!jYD+U*INkG(hRry?gV5NMw+Ki7*?p`xo{< zGHwoe?T1Cg+*%sr{*!M2958(2ps8Q(czZL){sh7`NY z8j1OM8JIunWhIuj>wFz;_=bacR0UnvapP*oE*{@G03eynkk<;dG;6dpYXBtX9EALsY2JG{?+U|=E)z|UVQ+1MI+tw1o?VfVGRzq^0b z=`^++o5Z6kghqx~iKWTLS9v`5w5-ocEX{+5eQeC`TE5G+q_nA6pN07)^f5x z>P64w_@4P;w^_gzoTaJG)?#~loABG!>H}^qjRAk-(UP9YvA4NS<4J(qfm3`PZDnox zVzQXj&m{WG6OPvc3Ttlpz4_Vp@PyUOyGSxP5fo9rQ*-sVv}c@7AQ zr%EZDrK?Qicm+ko^bH3uY-{i9vf-@64Mq2QR0WT!kk<<2wZgUFz@X00001b5ch_0Itp) z=>Px%!%0LzR9J=Wmp@1wQ5?rVsf7;NqDxWf(?CN(kRm!{vS`vG*2c!6HDf6_ln&Oq zbP+lf+*&LOX}TF58Z=f*^b}p1!4M=6s1YPDG+D$195OhR>!5c{jIFsCheE!~-Mzmb z-ur#u?;X@sQ%yDf9}+^SLI}0m<6f)AAVLV$-C!yys|IjY0MF_?;7U~y;MvuYQknvX zRo`6zt{d$jgiw>oBrPp1`Zs{P!9+Zj1tC;hK1ToxQp!s&qoDx`x9;)#6+E6k#)k*l zUt2u4ec({NG-TPGg%Il8{3>5wJOCh`%JS&>vl2L~)1|+sWd?tETmP;E)=&)YEX^=9 z6(XL>5;`~{==BwWS)DG{mpAmXCeg^Sy$f4DM>3hD5?32G$%)9g5L@vwK0FA(y%KclEkJEXMSkQ5{ax-GLDR6lIIgzITSqQW4nt z2x*xiEi(kYz7jZFK3A4u3vyAMZst-iy$7tG=k*me1+Wiy$jH z<;7__E1Y;}DukkJ@%_W=5+FFqDur;G66SxWM8hj6giwd=UFX(09Njvcc5uUqdu{m~ zwtS9+*+Syf$rr&vg(jJu{l?1238G4fgxNyj)k;f&g_`s)=Z~00000NkvXX Hu0mjfN4Q`U literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/500_2.png b/public/images/pokemon/icons/variant/5/500_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b8e88c46ed94ad0e525046772074d931448cda GIT binary patch literal 943 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 T|1BN>0000X00001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/513_3.png b/public/images/pokemon/icons/variant/5/513_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4592a0f54459c5be4bc3e10244532534425e9a GIT binary patch literal 671 zcmV;Q0$}}#P)X00001b5ch_0Itp) z=>Px%SxH1eR9J=WmN94(VHC%IQE?C#7qLb0Ln$U0G#nL4C)*041_@*kY(Wrl(kw{? zap+JNhvb$U>(HTA90Vl|C6It3^e9wGp&=1LE(ls7Dq;{S*w3Ndd1*v?y-TP2Z{K~7 z_kQ1d@80);FJHcV`Ra*;5K;&s-TK+%1&m!L*y{3vC;s+%;l!S)qL$%!^r9DT0S^G} z*=p)#8hX`JKvyN+TFR|pMJMErP z8H`3cdaFwi>0&J+rnu)#}Y!w zT0xV^WKv2gWxG|E?N(h1A!Mael(m8;+pW5Mdhdp8x9W03OUMl^Vc9s1=Qx9gVFco- zJkvuVYF93^J~PYu%q)tcFfww9BX8HNALqd1y8wKC^QG&M+l}YAC+tC9-=6sA-lwG% z0@q@Mj7`v=S04}_9K$e-fH?`wbQ3m^yO|faUB%3(mA}>Sae)p{oqS-+r1u7v|sz0l>>=uXuj? zBh%yyIEu37`qr(5qzT zDkzG=MDUOWWojpb+B4Z75$3F{6*Ny?)jg3{Pkvu+^#|9>6_Zc2?sEVD002ovPDHLk FV1hx!Dzg9p literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/514_2.png b/public/images/pokemon/icons/variant/5/514_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5e39da4c7f7b6d8d9fa478404aa2e54f99db2c3c GIT binary patch literal 848 zcmV-W1F!svP)X00001b5ch_0Itp) z=>Px&3Q0skR9J=Wmpw>ZQ5c3FZAq!%AY=%3ITs~Ca40cLFxYaz6f%fV9Ex-Z8A2Nh zQZm%89b7U9ZCVsUC+W}%Rw2*`K?-hZ=pckh!%L^go zoWnWK{oe2UPA+uSRaadBAcQc45JtQAy?NaYB-G$+(i~Wc8M?0bTz6lomNpVX7`m?a z2q6p$3^-hg(M~vk-d5lSXOq;kvt4#K1!#|$!x!gtV48AKv*smuqYu$Gz{?7tvR6V0 zO;Xt_)vP@on8t2<#{p$D24|E1MGQa*O#)CZYG~o;6Pw4;Dhf#?{IKfj=|SHe|D z(LXedmfo~JPLI;`;f=sI+-7z&1>C_A{K`H%y(&(R@*k8EnxtIRtZ^;9iQnr5Fo2p0 zxAM78TdEsDUDtaKS7Q9sPAJViB^HZN%_VBq*lm|^u0jgGvd{5I1eqeO*xiuD5)wdF zLjY_?``C{50Z`2)c%@!|x(X?dM-y zo(ck>OoY)i4SsAfzH|bZIV-jH{1X79XIU#f?7FJKHx20ZdRb6C7Mzp>9$z}aRYYP~mDZJu8r!R@WV31J&mjQF7Fj(Xmw6hATn-?cyTcbpkhrpn>jLV! z-lI%}jW6*>xTk_B6A3&sQ2b~X&D}o-e7|wWf>PBG*=(98?=jmspCqVfCdueomgA8KVCET^5&IXcnoC?i2QPz_xwLWrfbda( zje7_9m#ctTt*eXA*j>*MJ_-P4>&fTy7UZqpYsd$_>a3;#g%HNK<(HIqH6A2B)Xbd@ zOk4K(m3<4+OpUM={YJoA29%JO9U`rl7TRx|cK?xWSwaZoS7zBLzM1dHJ4##BsTZiO aTG3w}zJ!iyD#1Vi0000X00001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/522_3.png b/public/images/pokemon/icons/variant/5/522_3.png new file mode 100644 index 0000000000000000000000000000000000000000..03476f89139666941956fdaff73b69e448ed58b8 GIT binary patch literal 555 zcmV+`0@VG9P)X00001b5ch_0Itp) z=>Px$<4Ht8R9HvtmM=&{Q543{QxwzFAZi$MQPE;>MGPWX3=0}J7mQYi!MvbWjfQPT zi$M^JK`b*^6pW9tqBH1A(}9!k!g*XC({ca2ZNg4@XS{LmkMBEwo*D9a*oajnwE@o_tCXIP5uS*0{D_j3oXD?T*P7K@ zfPh%@eE~R|Ptktrgr1kmG;^2y6;8K_lmP*U%kE1V0hYhm5vp;HXIMd#kz@qOHMriK zq)X=|SQ?9&lCYRn!@QI`US+T=1G0MZ3fnl$QayJSKmw3Q&t_qpj?+b2ogNJ!BL_tN zA=q93O%!(p;Cc2`yaSk=19EDxq1@qG3WfofZyI#FG8BjkFaRRtoUNDDZi>TLabhbjap*3900000NkvXXu0mjf006Lg?+*X~ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/523_2.png b/public/images/pokemon/icons/variant/5/523_2.png new file mode 100644 index 0000000000000000000000000000000000000000..238e8d645942b30661c61d9d46c64c25b98db014 GIT binary patch literal 738 zcmV<80v-K{P)X00001b5ch_0Itp) z=>Px%n@L1LR9HvtmOV&ZK@^3rO~6#$8IK_QKhpcXcQVj(E$Y_yRS zK?`jx1aZMa6l{VRQ4nmD;1-fXB*kJOY*1pAXctJKa)zA8-Ql_O#`hLQoN9Jv-rR4_ zxp!vEqVTMDL9sf&C*Zw{sVaaAhzeNhDgfsX-&er9D)209zee(V#t zRFF=O}4a}{_ysefxU6S%niUwFV=AmrubxsnBG*CMIwmN|G zEv!g@2ujsfk8|=Wmyw#~rv?(RusZ#D(SXo;T`ZjQg~J}sYX)!#3Yezt8X0}DDd*Gu z(m9bWC|GTGYt=I|2Y5iE^6Q6Yq^-Tq`)YCmK0mE6!5DO9ByHe+{Qe{LPaX%5EFLON zIQ&L>gkA7aUL!9+K(PT%=Oqh>YHN83Xun8NUZY4k$Y8xgYe8|?a9nd0^upAK;K}Uh zTQYW|x$@Ep$iTXqF-9v367hfD9gKf0upevY{_dNlc9pvzy#Td>v=pE^-!QK8Q`?I< z9Fz(o9jL5*Q2zD;X00001b5ch_0Itp) z=>Px%nn^@KR9HvtmOV&ZK@^3r5@SfQEFoZu&9W&3Lz2Qm8x=8xbYhW|>LysGNoOHi zC<PBa0J2X&t#r~#I*WwX+HeE`BvlSm zGcJ52K<3>2$vzqBdt(&*T>2r~<)88~J1eQX-Lk*)B(R$Wr1SQoso(@;#eOOb7}36r ztO-ET0L#Xl)CGh>GDY_5NXEV&2C+V{PC%#tI1RR%Uy$dELjk1DNkWkZNeloP148R{v2e~84r@5C8Ngvvz&xAD%eTE1sqa6O z&7Oveg4K3UuDvpIfCn@xzq9#{|s zx@qi2bLFKIkQ?i2#u%-vNW`yk(g>XXrCUMZ+-opZEN|7XOZ zFs{e2CJV;(szg?h_FzK*zDuP9ef_Fv5XM7AmyPGyi*av2y&)9^WEceJZSZP9_MA6h zm}T~uu6)|*1EpiV0qqT;Qd}Dovp8&_By6lXU|bt(3V6}niu#>b4n|!x$+%O?ThT6Z UIIJE30000X00001b5ch_0Itp) z=>Px$YDq*vR9Hu2WEkXtage)@VbpCkzfkG7QOUz2FX< z8@vt7hRJEJ=p@^5Aalq{gCGYgyb^*tF28dZ!^Cnotd4vj_KvKy2Q!Q!2QJ>9#vo&s z&hX^aOt5*#4h4lIC=>_8f#CF|pz#0j$_fVC@D2tL4FfO-$2!gehj5r34};gSV`PUS zSs@5>;Hr`U21!#5lnerMFvx+W2C58-3d{rJK$s&t9n~4EG6KPlJT_xJm<^(@?`Ees z^vKR6$Uz1!?;O>^LW;(k4EN7oXDHu)6Rw2ZDvqK|f?m~OE2xRB4hg9vI}H*tm|F6K a-hluyah@Nca23k{0000X00001b5ch_0Itp) z=>Px$Xh}ptR9Hu2WEkXtage)@Vbp}moIVVML22HoK8WQQVI zAqaC|{ES5m+UjyB83g8FkOKos%ox;64KMM}mN^g*wCK6E_*oEog-+A-9U7D3hR9b=V4OVyic~!mgbb#Z{GfLr a0B@9^AKSnkt^fc407*qoM6N<$f&c)Ng{w#a literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/536_2.png b/public/images/pokemon/icons/variant/5/536_2.png new file mode 100644 index 0000000000000000000000000000000000000000..36a4a17dd2b4d133e9957df5764a0573ccfcaeea GIT binary patch literal 612 zcmV-q0-ODbP)X00001b5ch_0Itp) z=>Px%9!W$&R9Hvt)=MZvVH5}OBQnWC&B8*`9i_nn3zN)hBvWJ~3ZXMu{ z6X8CH0=1q{G{IJwZVbz6c?TqV6Z6=?f9JWw$e*U;Kpj`y=*RPpB#& zr8b^Y02U!u0^$qb?Hjn`&UHg_0}+R?(bF5~%ga!dSXhCCL&W~`9XQOXU`tDokhqTv zuZhXex}?aJU?^ayE=6GO$PjFdb!)CkZeZg_4!dc`Od?d3U$GSBi*RQH!_qY^HOU1; z2&RZg1m-s#g79b#0Ydus(ldMDSQxWNp&@q;kotWz`)&Pc<7G?Y&cVLj-({8S&}tBKyV*1At?>{X00001b5ch_0Itp) z=>Px%8c9S!R9Hvt)?Fw=VHgMSXXXMUNx5}aqI{$jZd{QhH}VlyBIQ;tR%S{eT9OOp z%9ThmWEU>B<%$%RVm>0}kPAebnUv3-H_z$Vro88zWfyy|PVYI}e*3@A^K3eZ@}-M% zAH;xaPbijPEJ3visC|8`2LC-lK@dI(A&R2rC!*>N5$9d1X1>#%3#hjpv1=`%ihz{b zk|h_ii!&u4UYswUfcflQGbA?uJ}$gB z^Omehid+eX1BUBT1d9G7SWk>oU6b6vu`E6N(9OvqFw}Ih6y=L>LdvsrPfbm70TF^J zA`*eiRaR(?fBFFotWNxZV+ow^-h$b6r|8HP0UOf|P@47vA5&`#cX)CMe&ZDb*EvTd zAmXsgX#^=5KdOLpWfo{|t7OReX*UQh2GE;^A;EVO(m*&PBMzj&?Cfz#=^+dkLgP9s zVCx}40^+{>h?NX+t_0;>OvfuPKmy_(rATAvad3e>>accjCCLS(Cc(xiaC<@~3<0mN z{OlffGA_cM?jOMM{CH%6ge+?Blj@IZ(6nI#hxe7Cx(D)EgN!!W!PC&sU=crJ!eJNV zvfl>)p}6v9d)aWNX00001b5ch_0Itp) z=>Px%uSrBfR9HvtmQP4jQ543HnDmDV+_W%=H!Y-a;if4Xs%79G+C>rxK_r+^K{2xm zgjOTEP!ORI1Vt2g(VuO!n5c16AchO)5#*xHKuRSc#dqU-ocEeH_sx3^%wo=F^t?Ow z{@!=KbMCZAgGWn)^GOphX@!~!HWjof;5g22tZ`kpE_O+@Dd1jaGE#E)WMu1|2TADv z0UisG05^A2l1?3yV(F_$>k*mT_t6MWXyoVimlCO4Ga%rmJI=}Sr?Q+pbin6;&F?== zE`8#l$p^vX*dP|*rEi@EKm!6Um?J%&^*x)E+>M@^)vO5+>g5++nR5%p4JkjK_7nsF zb3t%CV*s)iZ$<*7=Lm-bUR=2+*_k%!&#lSxe3z^pA2)!vJD$kc@GlRj{n3bI(tj0S zAIO>Vr<_*lEfgZDX$91s3g1DEnW;q?zI$D|zC1Js1CD_lp^bCRn-4H-V}ffqu7!&567KUx8~X&59%&b3qR|5O`b2sVk{ zhk#N1Sk;42$vHb{8bT`&RFN>6641rZKjidM-uGRu@gPOa4HP!SBQ*)fOQjj6OC6L^ z1L_ylkhW&A0%EhUUo6Onm6+FD`N1vIM3t;U&}uhKB*3t7LiL~&?_aFdaQHt62-xoP zXS}@oem;JQtHHsaILI`^#H?>Alp`EI*RS4@*B38%Yv^m+{Ty3Cjv@LIK7}$+gMsq% zj=sFIXp}8y@5_g`tKK@>FPzwbL2p*_DW?Ec#&-y31LI330t_oZ^HiD2a%9=cs`src pU=)>YFIjg$8-VS3!vp>SI^w4;!$P*q00000NkvXXu0mjf002~jTnqpJ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/537_3.png b/public/images/pokemon/icons/variant/5/537_3.png new file mode 100644 index 0000000000000000000000000000000000000000..229dd83c8ce9fc5de570c5c525c75fff533c39a2 GIT binary patch literal 753 zcmVX00001b5ch_0Itp) z=>Px%t4TybR9HvtmOp4yQ542c4Z->sN~MSjNkJ4FyC@>)E_4#9ir}VLTttTs;vncC z4qe1WDs~e@tr8prcLfn#N-B!j1pG&^1pG&(ROLJRh4Zetxi9Y-$dI$-<-D7FfA_oJ zIX6Ah;nCCKe9{F>dqQ0Wy9$OB$mjFFFs58Cx5X~0CI#Hg^oYEAR*})mvvo*9{}1p) zfCQM>w@wCk49MK`suY%IW#qvJ6`at>k3ag9O5K(L0XKbiNapUol)|=whyzM5s+#*= z=+nFlp2P-;04FwQ6u<%k&dre?@1E9r<<9)Kmep(t5b7Q3U#07QeEUWA4`=HN0)ROe z9Pb!_Y{i?g0O>ixVS(L!3v&O|ad~`tQubaMlMNSdD&Wt_lXBqdjXF?qW>MB}TBF~O z?OChGzhzfWhDRU9QZoo>D;2(j8l}pD6mq@t{`^s07;p^a2#wsbv1<{)(vL+gEL-)> zT3IYWRIA3DS_IHHF~Kby$3jJTa{TpDdIjk@94CTC$1^JV*7b@WD~^z#F7%NTIjwlB zJS_sqkRQDY+Jdl)vJ%;D@D8910NEfMaXu$<&k2k>7F*A@LnIkgtiyDiXGrMm@|PwJW0q zv>UXLp<)RFVlv-97UaE0{P%vobo-qaQ6sAmwAl?43((h2s2-H!{fn`@g8_$d0Rh{e z`P0DhJiFT8auNg5pI8WS?(oLQJ}jKJm7ObO>RzorhQ1En_6P5KhgRD%>ae%{e% zE^Jq2i^ZzUFJ)CVMCcz*VnElMjeP2=jNcG01jbFK0`z&4c{Y10%a#>7Ry%K70pq9~ j+GN`SLja-o9S`^$Hr}o-vjfiI00000NkvXXu0mjf`IK5y literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/554_2.png b/public/images/pokemon/icons/variant/5/554_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5df20db653cc926eddf89a1104741dd22d8a01 GIT binary patch literal 484 zcmVX00001b5ch_0Itp) z=>Px$o=HSOR9J=WmAy&>K@>($MC+7-XqZ4sv9Sq)f}miL7cho22^NZt2wE5{w6G96 zEd*19{JcPlbO9xj#=>B^FvB8(FJQYCa^ofu!C7N9r`p}wojH87_YOE54u`|xaQr|l z>I6!u0Kga%lWV~k6M6nf6DXyE`@0(emRGjP zCX=s{$yZ0-AFH5JD(Kc%QA!1p*y83E0LL4*09>6P6KqqQD+PZAAdo1)b}C|j3ECD}Xauy@kw zk4d7tM{gujNdR7-FKw0qVDh&gd{$&BNTdcU_N-L^K#LNX)&TmV!__O>?0cGY zwr$n0tvkF_3;=X00001b5ch_0Itp) z=>Px$lSxEDR9J=Wm9a|#Q5e8~S2;Hpg78)e#Zi%zG8$am8X8@W#{K|_XlTqWTpAtR zTpR=um8elV!qF#!kry8hMEQkinzZF3x=ch0j5N|Xn?|lO>vdi?G zsgBD^)+(`-(rWw8+N9HBI2qnsdhHS`F@SJ3$86kWHg0-rDx;z67~yOV zfKRNZ|3cmd#v2D?|C!AYk@`}0d{U~5l!HP;#s zR|_(JR5JnOOSRn!DuSXx@}(M}f8A{?s0iK^YM|?ucIyZsT;1!<@SpqwiSe-B_w>NQ P00000NkvXXu0mjfD;(1g literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/555-zen_2.png b/public/images/pokemon/icons/variant/5/555-zen_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ae18a833759854e33515a256b4d25053c7a76400 GIT binary patch literal 572 zcmV-C0>k}@P)X00001b5ch_0Itp) z=>Px$_DMuRR9J=WmOW_OKp2Lfh%TN=L8g=3+r0%(3Y2ceLp#+|Y%hUAAtB&3sF-AS zz~CuVLuI;U=?|D}Nx+^=H}7gZ1sg&pZ&ruq4o8-W@8qfIU3Ajv?w)(^zV8k)Wy+K( zQ>On~Tbt-a2oWWH55q8Z|IgAimSFokrNsIUM34^DxSz*K_^H0#Z8y2wZmRPA_*T{J@03<+E5;Bb6(4Zxr4F97U*p7Q4X zI{>WjpLp)PTxxIPQ)Szz8Qb5EUm6JL>EE_HR+756)8|@xIV*1%Q;ND3+anr{^ z-JHe9&NGy4ai+wLhbVR}zrxVa8!9@=a(W@ zf`R_U!N|e*Al-*s3jjA`psZdy{h<+<)JE=uaVX00001b5ch_0Itp) z=>Px$?MXyIR9J=WmcL6QK@`V7dmOB1k?INyIR-~9s?a&#u z0H{}*)GJLkGi#x9f8PBD;Ntd-i`z56EYw|z*Ja>!saKjRHhZp;E4@+MQ90l$D;i z7!nNh9}fTIxwWyntpKCGXkq~j$`2gJn=nxnJp&?c$UAaFNBaN(002ovPDHLkV1fb% B1_uBD literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/555_2.png b/public/images/pokemon/icons/variant/5/555_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f408122171a89b8bad9dc9037bee2a371dc6dbca GIT binary patch literal 743 zcmV?P)X00001b5ch_0Itp) z=>Px%p-DtRR9J=WmN7^hQ5eU6DMdsG*-{mU=b#X9X-Xj??Ql?(fE_#sA<)f2o1qq5 zq%9KKZh^X}#SWR=dKnCawt)kc(14gpJV*zRwy3xTA%n|x2=7cxf|sZ0(EK4>F7JK$ ze))gj`!3K?M;-l#5<)n)&CpUp2Mt*ph@XL(Lf$}U)HBI~Y4r*}9$)94?WS3db|0}3G=e{hxsvzt&f zvB_ls z(g_-X<^6TYvxBntdb>;j@|m~`lh4G-XX1=aE;BZ{Og^(%KH$nuDi7+pg@WsfrfKd~ z*L4?8YG`1WUwkdMhrM&YO#-W;)sY|1d8NVV@xfcmmHwC zt3F;jetPnS?;jo#2n|!VN|&Ye4k%T&N~9C;@?#aowryWTUv~fsMvNyfdKenmZEz2u zSS(`Owr~6`4(zz`Uh;a{ba8fF{BpS-4u_ip9_}TT|15YqB(`n)YG2LP0ao5rAAPlh zy4BG3D&<4cN~xJmV3^d*X50PNOiH%5k}P$>h*7pm1VY0^^mXO(!Zia*)%NUF;5xbv Z{R8{48|BXc_uBvf002ovPDHLkV1jQjQ)>VK literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/555_3.png b/public/images/pokemon/icons/variant/5/555_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2994d3da2cfa5f6ef3817ef4bae85cd6401a84be GIT binary patch literal 746 zcmVX00001b5ch_0Itp) z=>Px%q)9|UR9J=Wma$74Q5?rVDWxSyX&Zz~E0`y=gFP~&5R5~HWR`XaW~&v4LY=x4 z3-Im$)!f2rDsp}I7A#}!!^5N4KV`F1v%qReF ze%=S56b`ezFm&O!sr+Wwwb+%j5JEf6U?j@`%uP+Y_KMx$@bHkisY%`!ANK_^Pz~B= zv#>kk&K(#dxz#rBhkVzdQ+xAE&2yNt3u7e97|AkfcLudPgOMz|evVGQ)B^!_mBC0N z1{+PxJ1bZgWV2=0W?7ay&*gF*a8AQ)uXWeazB1^oz2$`=H#?SPdEm0{-0=f?&Sc_D;30ZuXr)b)+bi;M?toKm#ddr~*2bZ;&ygynS|y z#f{+$@4#xc+JX^6@13>|=eGv01av?ETAMfA&7H9Vx?;oAr^8q7NCcO;g0G^^|W8#0KKJPjQn2r+YFZ}@P~hr_phZF cxPkhiUkJi0qoCE_&j0`b07*qoM6N<$f+P!C$N&HU literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/566_2.png b/public/images/pokemon/icons/variant/5/566_2.png new file mode 100644 index 0000000000000000000000000000000000000000..927757ac2400bc90d19d8f8a2da962f4a94faaa0 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4aufr6LR^8g zf`UR&P|!^0yiau-d{(&6d)uQD9TGODY46^>|NsBzQ8{=AsEE5H$S;@y$cKX3vf8Ua z;eJmS#}JF&x0enIH5+iST+m^3`uU&#-7%|e;vX(8wzf(>CLU1Iqwb%_^sGE^Q^JQ> z5do<}PnX9tPSnaDUw1B3DcNab|0~AQc>%4{MSq7(xze*V%_`esf|HcZQI~La#U-!u z9tG_^b@kqI<7ZC`{5)0KV`ASoUcY#w?C3s)ghLk_g0miOn{(lxN%^|p>HlV%^G#${ U?H6_k13Hbt)78&qol`;+03b(p00000 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/566_3.png b/public/images/pokemon/icons/variant/5/566_3.png new file mode 100644 index 0000000000000000000000000000000000000000..450fd247d8b8670452eee55c48e674df3c072589 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4aufr6LR^8g zf`UR&P>}7EiMiLd+8FjH)!uCA-h1Ze|Gj(n{{R2~NPb=%P!V@YkY6wZkPij5Wwlp< z!u_5ujv*GkZ!aAbYBu0txuC=7^z%ReyJJ?{#6MhGY;Bc%Ogx~ZN8LY<=~;Q;ri2f% zA_7u{o-U7PoT!yQzV2M6QnJ&={#T5p^8#9@i~bIoa;0Z!npL*N1Sct*qb}jgv7a#?PJ>_<5?d$HcyGyngXU+0lIp35PB=1ZO?mHs``Wlk#=H)Bnvj=bOl^ U+Ar)726P&Or>mdKI;Vst0Bh}csQ>@~ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/567_2.png b/public/images/pokemon/icons/variant/5/567_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1050d13123d7f3f8661a2080848725f0af59b3f6 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a?}HSLR^8g zf`UR&P*CZdh0``~KB8alv%-De+a8tZkncrn!sayX-Mjby|NqVtp5_3R@|Fbo1v3Eo zaG=ZLxE3gJ-P6S}#G?1@AyA@Kqn5UgPDOX0L-8OiWxVOeZhk}i#eA0VU4}QDVtgZT$ z^_t5O>Hiy+?ao~xxzTFX38QXBU%_DMjgFrje2+=I6jD!rH77K**?6_4`=kd)_UQD? z&+lQ)u`c9Y=&9jq=2oW0YQl2k&j~xzYb#%eD0IJ;7IA+6PI<=x& y{^Z&Yy9CEoN7mWh&oel0oS(3FTJRnHQs!TLY~`)$ZB{@pGI+ZBxvX}7EiMiLd2ATKR81^UC-fZaJTNS+K%+3FM_wN1w|G&NrhZ|5SZ%L3}FawYe z2f8edYk?BiJzX3_EPCHgJ}tzg$ip&Ig30CI|LVCL?DQPBf5}?)&EewhMnYp>aKA~P{lVRGHwQVsTOqZJdD^*?a%D8yZG$(7dutqYDA;()C%rfI;I~`N+Nxh! zueltN{=Z?_?%WlU8?9EIFzQzH6%3Z%==jOO_n5>>A@%fEb3#L#jaO^BPkL}q6dzo*J%ZZe?n$CM-ApoUk*!w(@m|LicNF5$E?0WoJ%$^E1-E`0&A_Q!A?F xPp<8-OK@CuWS!mpJcIMb`3ZZc1>eyxW&Xv-R^F=KW(D*jgQu&X%Q~loCIG6Qmev3O literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/572_2.png b/public/images/pokemon/icons/variant/5/572_2.png index b6230a17cbcbdec9dba80e8090b101f4b8dbf5cd..1da1f6b953a748d90aa386b4f4b787118886a68c 100644 GIT binary patch delta 623 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 Z`Um!>Q3DFdM1KGP002ovPDHLkV1j70TfG1P literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/626_2.png b/public/images/pokemon/icons/variant/5/626_2.png new file mode 100644 index 0000000000000000000000000000000000000000..21930c7606e72716fa791aaf89bf4bd3fe12c8ba GIT binary patch literal 654 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`jRSl_Ton`)%1iydJPZvC6@1eIbiJ$&Y<)d1HRf|~Y_Gp(Yr~O^^%ZMU zoEmiH7ke7-?WqRpdwE(S0!Rs#1o;L3M*|G1YiA|_B{>T`B8wRq_zr_G*AN9$JwrXSKNpX$2ddeY8sVAd>8ZuQ0pzeUNHMZ9 zFalX#Kr9VqgMG@#3>IesiW@RAF$e(ZC?L*kX90_60ofps0K_2uFdEHL24GlCU}s$Nv;eZ8x(p2rK(dE8>aSf@jq(LDA9}ht zhFJK&y~NGetRTR0p)oY@%BjEpwh(=b&C*5PQ#PLd z$K}3!1CR2i!{;3;d1w4l>6BD{tg&dreh1qNn{1`4FY^ZTon`)&bYcxQ!#K?)_byf^TC>_hn{}8J8k6>1xqfo- z%TrNTrU|`&bqJ{G_LUTSASF-|cG@7Lhz;K$t&cFgx zVPIrzz_*Y`3nrX!-@sFcfO)a4K)Cs(3rmkAK15MxImC!v3(;zHrzpzxR;GNxwxW zR$n_mp*qSsNrX?CY0oZ$#CgwmoEMsqoRehM$Zm`t6q0{W)y`9oCK>qf0^>bP0l+XkK+Dg;Z literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/641-incarnate_1.png b/public/images/pokemon/icons/variant/5/641-incarnate_1.png deleted file mode 100644 index ddd0ca15c0c226c0b788ac74bc8ff454761aa34c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 889 zcmV-<1BU#GP)X0009(Nkl6rzHM1PWPFJjSC#DamMU6?ice(!o%* zgn%^!tkrl4*q9Dkq6{4hfsQs5qYmOOC+QMNbwgXo5605FlisIycmEymsQ*ZmQvYu= za8XKq5r|Ui`@Zl06Oar>1d_!bEV(R!3`7L#c6e3BK;wJLC}N(hKj>Jvgh zDfJh37I=ThaRC69)rPKXp;%gF0u&`eZk(uZI}ZRTbqYKNfWxMNe0m?8YgIxq1}46gQtF%KHh?d@U(rwj00Vo> zfmuuhO(W?XjKb*$Jxr%lc%GMw!U2G;YcNe0AJk9$nYZ7b!7(>c>J)HsbQ#N$c8F6g z5(X!0ySlmp0KD&g4Z)daupmU}kv)vf#Ux3SiWS`MpX0~JpD{quQZ9}zQLoq0Y&NAy zUJqY|AZ72%1SkSb?0l?(lv1Br3riXWWtPJHkJ(KYI3Qt&Cw3l=xd~>%GB~E9pb&ER-{AG$U z<3Lew<31=rl{y9fQ;ZobtIhXu<^(b&?j(yl3;0~#0uZcdaTudpSfjrm+Vfb0<_RT06nsYIM&{vsmJ}%aa`1Ddpyr?0g8}> z5PmX=>J~1z*7e&ei4}@^V-j2{KoJrEST%w89F$4dwGd=5C0c*xxFwUg#YN%7Q?pnl z5irfL&IQOIEvwBFvg@d#ZCOsza{)3)AUyms7;(qQ3O5&^O!LA#>LK(C38n1?KY|Tc P00000NkvXXu0mjfK?0AP diff --git a/public/images/pokemon/icons/variant/5/641-therian_1.png b/public/images/pokemon/icons/variant/5/641-therian_1.png deleted file mode 100644 index 8f6f01fd0d7d9e818d918abbcc23282227415729..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 803 zcmV+;1Kj+HP)X0008&NklI*&^tWAL7`E4O0-S8*7x$9eBNS(fGIPDhWJjvfIt zQ}OMxPHh6w??=Jc>-9oglp-S5s(9}^0x?(bSJRNq0JqLILtEf97%=~J-EKDk72hE~ z0qq^TR*f@ybKw$So3cSf%r{`Z0Xyev=Qgf`NB4U;IT-+$tGacz ziKF{H^!pKp!%?f+*2b0setviU+kX0009XNkl2JCZP5Ci}uNn)){l7uh}M_FB-R(=-JjilT#790gdGr8%!0$9nNsbpcmbkBdM4 zY7QXJb2D8Og|S+irbjJ!(8X0~!m(acnYlN0*moI2Llp#X^WW3_}A4cFgHDYCgAOO1nRfW1z`Y zQwOiEh$j;(QHE-?1vOk-ItesDp64V%Pg>!!=;R={4(V$b(tD*=$aVqA(d7MG;D=y{F&v)RuJD#qN z7HSQr)n|e32c?we+V_3yhuZ73i=Wktb$#oOp|PlrMXlv>NuKBC=t6ZZb}W&4b#>`KqgmW1*LBIV%v={mu>;uJQkeog77m_hLH)7z hxP9-bF#q)@^c(if?xQnh-!T9H002ovPDHLkV1kD+oNfRB diff --git a/public/images/pokemon/icons/variant/5/642-therian_1.png b/public/images/pokemon/icons/variant/5/642-therian_1.png deleted file mode 100644 index bea360abb957ac8e1939f82c695b036bb554eafd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 848 zcmV-W1F!svP)X0009QNkliO-9ef~=yh+}C@_gU-c@ucmt9p}C%2P^t&&?4lrIaUn zY{)l*cA%81uv-8OvZakM`Iz{wFN;$Uq?q{fu9U6?1ECt`!O}; z#km(g7QjKAeDE0DNG7S+HfxpzK)G0qTvIL<$vX}JABTowtI!hQV|y z?fSt|FzDgZ=lVEAf#Ud5kW+|PH+&Hs4&gu8xKHTa2Jd2l?9o-SIfgKbHT+kta zcb{%K|8>sH?s!Z4m+Nakpu;XHr95%ASGcZ#Km-mT|Lvl=^S<12-9j!$wOaMJU|v3S z7RO5RPcp2Ve$LIcWMR-jrIfdt$@p8ay%*q!gGwn+W+^nsR#4j`BQ3{re$BF2vn=Wd z2SDd>CXV*vYTFVQvRU$uL& zWF)Ay)`@+kJjpG~Fxaox$pe2UCIDE-0F{nvNU|Y+x;&}FXFfK aG4v056I$OD4N}Pf0000X00001b5ch_0Itp) z=>Px&GD$>1R9J=Wm%nb>P!z^LP?eE@A(=AVn15NA(nKL0Ix|F3UnURHXXrarRR?C4 zm?lK3L@UMoF&>zLb1{q^;tu3ouCHxulcrOSWP$O$*T4In^Bo)DEy9B_<}t>+xN-0P z2aFnwG4J%e^?cU$Y}?L6jm@TAn06heKoUh{xSQ)XHo>I=WQ=)-wPxVEdOZnbnn(ml zH}4r89M+mRtTizi7-IKHl>-3Vwlg=^Z2-XOc`J5qYz@kA@0%Y10QP9?yQ!*X7})ce zK)tQf9bJbT0U2Z7u2u&C9~`Tc0h9ydNmW^uuu@nXBtBvl)JmH8zJ^<$0|2X(!5uCD z!W88WM<%oh0s=tK=s+uJ;0{O6=m<5O*;Fh}<9bFXFu#7JBbP70nN59gG*4E2 zQ)vWpFRNz_`v8E_-hnUzrF}9mR=Zc~Fqbcgd98~}06_cuH?fA?u6jlXdbQzOQ%!Lw zAnl4f97}iZt0k?ZVKOlA^UDW(`urr|a`}Qt9o45b?4z`I5KxRl-Ef#$Lfs?xv0be$ zQmvIVe7(xT{rwA9Kh808Trr0r0SM42FcmH}pbSb%s*WZo3fa~5Bi#od7g2DrfCMQ9 zN7S6G7#U*bxIUMMZ7>cFNbs^?+jfQy@980+TKz~DPIYEe+;;C^-dmyz(4n>@?(kSR zAc2B%(9>n<&f(0a(5npqtCRu|4Va82Ls`Q<^lAgvu#aMKM{GXso~Zz3NOCB(6@n!| zVEyD_l`Dr@QifAo&Vrk%!6*{HuqlqFCG!5B~)>g`pPQ6ef9Tq)st~`eLdo#2E83 z*?plRZQ#`a(}ddK$<5n9zS{rd$-n^pm!Y<@O}vVNfWIWRHOO21i}(v!`22;Z#(2a4 o000hUSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$f_9FVvj6}9 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/643_3.png b/public/images/pokemon/icons/variant/5/643_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5c124dbb8f6c26e451044b162f4dc2cb9af2b0b6 GIT binary patch literal 1040 zcmV+r1n>KaP)X00001b5ch_0Itp) z=>Px&%1J~)R9J=Wmp^D5R~*MbZadaO)R;n1(FuFdQLBVnlwwrJgHcY9ERjPyHiN3k z*rJ0(h7d2VGZag0mqUcmshHSwNQ(b;NJN%^>LsM7LBbM~8T8x1(m$wyy;4DPa1iwb1W2WqR9oPj=Ku*KPSGqV053O-W`Vh+$*6CPlj9>s zePibXbh_t+@q*pn*&`6tNu|BR3=jzFZE$kzSIIpcbh-yErv$XwuzscfcCJCEc2_sG*sC!=D-r1wsuxK_cws-cFyAslq z<0A!|FyhQ5&8}(D6%ZhoNs>x0Q8WwWGD+pelU-8{F8Ad!$&TmsNQ`E~V)v(2nt%R< zRr!OH<0JK))Aep}o`CW;6X98MnIyGJiOW~gKr2*I&Dm6lKu~9GeT%jAE#+3TVe#Ve zFKqts4SFQT!s2(l*uO{MgZD`o@wS)EWs;|<(p_)6JN$nCo!=f7$gcd%VdEtqPaA5$ zgWsPq9sP`KD#UK|Yev8P3OEa^&p(dOKhEF(yoYZ*%(Gv==R-Zp+q+p4^qTfN{0 z0(8R)q~x6*iSg*cDpzmZ;?aXuE?-I0Y*^GPB~?(+8PcLzpjyuN{oEQFa5B0~AgJ?X z*JL6*3$#KCU_E~dv~~^W_6Ja_l$Z$5Qmd4(UmXCQi}JYvoshEph+6_HfN-|+B#by` zMK>7O(14PQ0w)qkC!8}cn+=OIoy> z2L3v50|UzBS8v>+Rw)q(>Qu{l>{kbB^OuCL*XtwIa$aqf=he_57P&u6-402`i;II) z?1f4GPv#f$>NvlUALu{$Lgf633Qb+N<@|L3|2NBfh5wB%QvU*}bQ-We%1p-q0000< KMNUMnLSTaJKMN-S literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/644_2.png b/public/images/pokemon/icons/variant/5/644_2.png new file mode 100644 index 0000000000000000000000000000000000000000..13ba216e9cec2d48569e1fd338fa40e627278659 GIT binary patch literal 770 zcmV+d1O5DoP)X00001b5ch_0Itp) z=>Px%qDe$SR9J=Wn7?isK@i42q7>=!0BKfKE`8D!2p8Tq9khffT`D(7bQFk!4#~|) zegWhb9^p^~qCg^jB(g=ED(`S9$SiZi?(Lo&CocR+7JqK<_BY?o%q|9=xf;F;N~uDA zXN>WVe=5DMx;ProOP{BcehK(7I*6&+{#`ZecpUx;O^u1$8cE%qjNdw0#r&Bi{%CY(CxGV{GAkt0+hK(kX#%t z1m-G0z#ULjg#3Y{@f>-+1#omUO_~6J-Tq*~`9v<5(Rgm}Bl!ZWtYQ+~sFW%Q4gk`m zX~FV*i}fmVPO?~TFuT3SaL_w@_HKWuEVw8@f}@E5oK5C~GsZN!owm(mf}%iu_tgTV zLXj?T_d?>`AWfQfiPx*F^1f&XN#x-BU!U>q#~VCc<^Ya)HJ$VeS9OznyZzxTXG5wD z2ppq+_g3TKGA}uE1j!2ExU>Yv$JAL~phgwTiMaR@Yu&O1Bij?N+?aM01t^O{ZhI1p ze|C)nPR>yassar*RBFJ$X@?+DPjv0o@|9nw!uXT7_FAnz=zvq~mlV&iXW%1AsGaU3v zVDz3BOQ@2A4$8daL0nzmoD~2$P7tm3KebNSE2 zi+%%7Cf}AZ??Mv*000hUSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$f<3}r A3jhEB literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/644_3.png b/public/images/pokemon/icons/variant/5/644_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a071965f32d103dc8b8440d9a721fb51f6b704e2 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4$prX>xB_Vf z1%(#FqBBjRC!DQ5U)K43dByv=>;50Tcq(U#SyhlQPz6^>kY6yve;BCi6bS>G#q8o*?nSdr?(0~O1>0}uvtA8fuz6o&;u23L=J5~oPYeC+nHUA!lHH$n__;p& zcy)5a{{E=@uF2IoJolq!|8}fr*chp18aT(_`m;u;pPldFQ<;yu7U^<5p0Y%3?`IK7 zLDN&WEHlIPei#&dF%wu&IBnHD8}RTibht zWHu$-cS~KTE52h_9&6g|rDpcC%U_-nF4p2b7*lxG`mR{Uwq4KX-|n$EoBFX^Y-g5D jhw%xcPj`;}f5p10pS?TRVv8X#kQh8&{an^LB{Ts5W@4=j literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/645-incarnate_1.png b/public/images/pokemon/icons/variant/5/645-incarnate_1.png deleted file mode 100644 index 416fa9ca1db85e4c292b45c95a5bba5c4ba333d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 905 zcmV;419tq0P)X0009}NklBLWqXH z&2`%e}sIfx` z(eQ(nM#-%3~I6gW7P~Yi^1)#Y%9mfgGE!#7hOsMSvi~Z4?oKCTO@l{>lr4btWY(ZJO z^5z?`38ZdErZ_%2AwAuM%x4SaY2MWK{+0r^EXxQl6$q;zP)5)6XCXu*Ss7B13X`;5 z{+8QAKU85hx3oA+LWoAGR8srv`>!voY`#$a<8$kb&#eQryn!gS1sGN_Wb$3ve8I=h zZ$14V-oFgYqel-=)^=@iy;`Ghpr4tMd3G<}c`T6juH}}oEQ?~X$kNhMU;)Q*`1$FN z5prW=!*j!J0s0{UW=7@#6r>QM@#^VowV=#>+xuGz)Kpbueyk*~BcXJ)WwA^f5?;dT z3#TU*Se#vDuW+c^i^Zbqmt*99Y`5HnRuWw|gO?m1K{7EE=+jSU@@AAu;taS;;6;jo zL-P3da}YGzfiwcTt{X$(vH523l0N#WS8J+D_!pj>P5~(uEr9BeC#@LNA-tC~le`&K zR!LC3teL?5swB=-^^oZ*Opzfr)#OBZ_%>1~IDcIZ)4N70Q8^I0h@cX~r{wcCz~h`UCcxE`MJqU|j=BNcmgVX21yJAKU3#J-xX5 f)ho<{{)hen_O;|3K5QX+00000NkvXXu0mjf%k{7J diff --git a/public/images/pokemon/icons/variant/5/645-therian_1.png b/public/images/pokemon/icons/variant/5/645-therian_1.png deleted file mode 100644 index c03d4233e293ce34964da29187c82a6cd3a6a6d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmV-w1C{)VP)X0009qNklIcbDAVyBg`zFGzC7FZVw8`}2Lz2p&<4F-yEQ z3?mZu8Bh9$;}m1eS{vKp*R^T`V6ehMM*B_%8*b=s+;MMqeg=v;0>+r-&a9sv1&~y$ zHu&fFpC2(0AH>kzIM&8?y2|gR&^-~PUfFYNVPYKsaB{vM*q72h*pG%M)v685&d*52 zN-e?|vouZP*SfAFlgV_&5ww`a+pBAsN*e$mW;WItg&AwXRNB5T8wluz^O6W{7)C_Q zxCpM8BN&Je^4~2?toxQ)YDjcl2LNoYYOcJ|)Bdl?ufD#-Aqh9sR$Vqsz(>1+~!UGAw>wJWYr%Hd%5u1-0Zt~+2viT2|qnFE3-X&M6Kz?xXxeL$d$({>C`5;+Hp_Jo5bgx(D zD$OF4n@PvX<>Y)HfNkWdR4Oo=p^cgr_9`VEr6{J-ETT}#A+MJCcK}jwQh>dDu+l8@ zBUCSs6wO-PRY-L5kpYzUK~g%KbSFM#fcyBDDT6f+EjFXN+$ zyliV}&#Kq!*4EOV754w$AU*gEd%^tk%>9?3KhHeSZfr!q&Hw-a07*qoM6N<$f_he< Ab^rhX diff --git a/public/images/pokemon/icons/variant/5/646-black_2.png b/public/images/pokemon/icons/variant/5/646-black_2.png new file mode 100644 index 0000000000000000000000000000000000000000..825a8bd36c02f47f267945ec1614088eed79cd2b GIT binary patch literal 1097 zcmV-P1h)H$P)X00001b5ch_0Itp) z=>Px&=}AOER9J=8SU+eRR~Y}Pv>q%l*d1(zAU{ckCKzcdB^V5X5DOBr1*Cv6v^be> zNn(0Kao`FeLj;+M5)Z-<2}*ZGi;06#j3(WpKqNnlz{!gR26@TwGAQ5cJKde`4m*W> z%iTTQd*AQ-eSc38T(B_41l@DaBNu)Cxr8w$8t=GhyyHRz`oDwlTK^j0z6js)8HzEhKN; zn-~f}NEe%}9*v}QP<0Ob+G69 zK7niRH*78?aNWAopmCYVAkpu32xTjQ^NOkVegm@$G27a4_Xxwz>p+FvmqCh?`omiz zg>Ov&BbO4m_I|@t;W#(|m`^SSioZYr0U(-M1pvJK@i#n+<{T~!8czfc2woJYF#l2ih~6&yWNJ)BQ2$`}NIjg1wgPS22w%^{tM`wkU>0TM{VShw}uZoP!5 zp((R7ory~$=z3-O8U}p}0Py0)9%|MJYSxKk^6_F12oQs6Ae*fo%vMj`3=+X%A##)T|TaVso}V z&24RB3GxI;?3k^duPaC~Fp5tqNm^k|g8T6PBYyh%GVmo1{g@+hjX`x%R_mK8obyO? zTLS_OV{sFx^J`E z6qlB6i_L0NY*w40KS|GJi8{_xYg7Af;mJQJKi-l9!{Ol}5{X2pe;m$DH8B!RtvaR_ z8o6kF(uDq1#VZ8De4u}`@)WVJ5LwK5R2ZqmjjCqEAX&f(7Dl25csbC_Bw{+!i%@e{WLM< zkTZvh9Dh2)hktRgJ^LO0T;6Q_&2)V4I6)i?j2#unYEH^qX>FHb>Yh^?Ql8I40jXDfz2mT2q|=p8UBx zrn#K?xGvP2PsUsO=A(Be8zfZ22tTXNoslpja`EmZYg5*@)UZBg{9wh) zv}=j^)1QwHWN&c~6MFsVWO3uv_0|VJKK{(+*3NCW_my|t{Qr{o7uj;(UA)o13>eA` Mp00i_>zopr0H!q3F8}}l literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/646-white_2.png b/public/images/pokemon/icons/variant/5/646-white_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e38dc504b21012706c682d8ac6c08d239108c19f GIT binary patch literal 1170 zcmV;D1a13?P)X00001b5ch_0Itp) z=>Px(GD$>1R9J<*mrrQhRvgDa_O?T42%(pb4vd6d2Z}PtOhW7Bkc;Uc41y_?oU%eO zI0>bv?jLKL4z`iQ23^`fE?rNhU_!uT7hiI46KF7nScgP7NXco29zxhKv@G61doNFx z;@D2o-$i=TdwL&zfBz(C(=<)1x4Y&f7H(&s*C6jrr&;L4zcyR-h5h+gt3W?O3~2I>s3QsGuD$7Zq2uWvpfqWkBZ z1st?c2i3B2XZ@|`-mY!aYb4GL4w@*aXFZT$pY{r&_5TW zxiAP$4T(TN_f4sXF5ctilZODTE)__QrC41m&~>oIKzf=?cEYo+YVQy=bT;xiBDzj; zEXB5Ivu)b!TWh|;E?x{|xAwG5+gb~*gQ|-GKA*ft*TELA7w6=)J+lNL-K$ze*XcD9 zWU>=P4V|c=9|^Z-me?~(+HSgRjGd25_dXJH^ygl(z09J}7ne2pebT_xkB^jG5Mbo2>IJcC2MurWn zvI{pmb-T4P6J%=Z`|5{pd>{f&Kn#s%7#TKLDVj1hIxNj|UY4x&$tBhap!veO$DKje))$DTX>}2wDx{j-qDu()7c)0~_3fzfsQ`kT z-69!+AO_OYQdz)rzg=tjzgW0fl$?!x&Ibps8bVR4Tsrc3ty)`ub^F#bT^x3rX3ALQ zlB|jE1+WpM*>|4k2915V6E~mwXS&+xMb-;DtKWi-Ea*eE6Z;Q7fo($pL4RQY000hU kSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$f^S+Wt^fc4 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/646-white_3.png b/public/images/pokemon/icons/variant/5/646-white_3.png new file mode 100644 index 0000000000000000000000000000000000000000..12bff95a01db22ea79090cf9869fae5b7493f84b GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a?ApJLR^8g zf`URQKYz8Zs#un;yr_$|M&S%4r9(zW)7{ke<(X)$(aw72`D{zHt!sZo!IAH8IzD{( z8r!^y2dGo1B*-tA;XgWvJJ@Civ@6Wh#WBR9w|7eKq(cfkEq7fOEaiRhd;go<2QKTE zUoBat{A6~@=V1Nm>W80NJOA!;*=)^mi}U)Y_2NsfeG*fxxVu}p^hWlkV!lPiPh&qF z%nh%&W!$;u$*%mTDo{k=#bf15!m>z0;ykh-Y!wrl2 zU+}vJgfCj9>he5f=HjGnuMHX2%rrD|Qpt$=vFTuIK<$dnb4=Geyj#Q(7HLxAw- z&AF88D(?c>(lw5!2p)et#gkXB_4^l&qg=P;Rdgq{DDpcuTs*9Pa?_HDGwfC6mY+8) zYcb3!3OdsNKb()v=^ShO0pSgMZVA3pdG>gzRZrvoI| tfB^Zg>CW@diK`^vzFB`%{!7JY=D7<5()&4{$pgcm!PC{xWt~$(696ul>{I{% literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/646_2.png b/public/images/pokemon/icons/variant/5/646_2.png new file mode 100644 index 0000000000000000000000000000000000000000..064598bfd263c74f0d439f669f44074d39e3a6dc GIT binary patch literal 1174 zcmV;H1Zn$;P)X00001b5ch_0Itp) z=>Px(Hc3Q5R9J=WmrqC|R~*MbS&E<_p(qBjad|{Zc98`$R2tS)#867<$zC>K@lcRe zsf!2EBK=283+f&g0xF1yf{J)(@z7I=SdF_`D2c2HMs~xXF`(2gA}Dz1^bp=-5)&tJ z%l6RzV94an`}3La@6US!|J&=C?M*KzgfQg2uIrZT-+0|c${8cax%{D$$Cag^T;QU@ zOT|SJUDs_w2*XMVA%tOu>L2N4w6i^@Pq8^lR!|6Gy!**8v$M0fH6Jd2NVS!ss5jup z8}O5gCzu?YRw`PlSu&um>$Yce<9zn@kE*Q{R|z4EAAVjX*xF1o8dI>4^+Y z9fP$VFR6HfR6GH|!HYdgRq;5T;lqc01Y4UGq?MKJ;%~bAxHTVuf-KZmUiBS4L^d`7 zxEK1EU~4l|;dyrB+a;}g?Ig*EbZb7+u|)uaLyrlzHmh+{;dwk-lY%nNPB~6zI8U!x zmYQqTK_P^3QQ-x^UgrR^uJ>q7IbagbI6K8wRgKg6HUQ68W9s>NdJQO^#g>4@%7{7U z>N|Sq8|b<;R>IwEyrtUKmzJ^DIruXCEdY~a)7)&l#k0Bbf{<6nV15}f7h7G|ZF0iC zfi9-P^Gt>3RlMcf`qDD%OUo)WswcVuuvJwTg@Y>;lyCr<%q#X+X83jZBipOas`!bnV3RtRV27_!iOS6i@w~9TGcJN}4{*hi<-pQ~N-BR$7t%GLwNw~+wNc}8UW%)RKpP&diO9w#$!IJmyCIwH@?OT@ zRCpd%X0F^S3&x<_J5%ulzYR75uoKpl|r{W0(H@qh1tEKeV$(9$>L8$9t{#4dJLdck}tBqGNamMF|Y6Fxz_0%A%x-dd|=!O zbQ^a9-Nr&fHzJXU5eR*r(_UzY5keUEznC=4zvg*`5XM46H{Sd7dt)J?8&-e?>tNP( z80YCEE`Ny0v1z4j#YK|ybW-&*|4LI^*W7qcjgui!j#wof7V_cCSs;HN^HHpnB(dD; zt_ze8=kkZJRaNK2U@2w^_)l3nwus9gQeSiBe0shSGbfV#|8MgAckFKkk3UWxPW9;k o000hUSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$f|~Rw^Z)<= literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/646_3.png b/public/images/pokemon/icons/variant/5/646_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e258eb4ce91da1b50be80836af85e48629620abc GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ats1|LR^8g zf`US|uIdaWC9O5uSiRuLa z^$3&%`2{olM+FB0x}AY`n0dN5hFJ9OoqVw9umOk5-h|`{Z=U@Bzm41Xl4Rt}w5k=4 zyxq>f(R+~k^E&f`yJs7=T5_<|MQpjovw6`A@9Y=nxmU3LKi_pI@(JgmHLcrbbUG`= zsW^sTmYi`(MR>{P<|&DNOZf#1)n-amZ) z)9bs@39&^^9@A7jg!j!eDvI3@%A@5~_$Jh=zjJnOHs4zH<)T@K3gb5BK1}rq;a>cy zGSDyY?9MMdx|-gT#M*T-vI|2Nud86Gj*x4Ar?BnnYo`M@})4@$>Yv+lh-$$NZ^y zXDb(fgk??Xjy*LWEo^rf_SP{yns)wuLhfDlJMrhml?%CEq*O@A0YjI;)78&qol`;+ E0Gg)NYybcN literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/692_2.png b/public/images/pokemon/icons/variant/6/692_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6cacc70ddf73ad7bae22dc7b6c3a8070bedbdc GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a-;)%LR^8g zf`US=gzkyx=-_?9D?gO2&oY0wCivH_`Wb?HM}X3tB|(0{4F93PoN4wIpx}H@7sn8b z-nW-F@*OtdU z93`_exz>7||LRu7y?RSS!Y(HBO+m)m8`4Y9Ue%Ic@oyHx*2_O1lpdOCQ}LDis%C!7 eZT|0Ps~Gd5n6noKBmVBqqcYYwmn`L96HV8;%P>uwSQlK=h{)ysBIl<!ph>`#C2~h|`*MxO3a>_}Y~YUCZnywj?_)_f}p!uZgqxyQ+^d-?t~$mvSw& zI7((`a;^0^|JALEd-axvgk4PLn}UqBH>8)Iy{aX@;@>QWt(Sj3C_OaOrs6C2Rn7dE e+x*|pRx##9F=sCf$aMxfmBG{1&t;ucLK6T!@OG2{ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/693_2.png b/public/images/pokemon/icons/variant/6/693_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d8ea4f56cd820df63fbe132947d3534bb60ef7f GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a?}HSLR^8g zf`WpLxOASLHHR{vw2gSq*#@UPy;?iP6IIHqGAuvsP5gDMzVTJKAW$i9NswPK!+#{8 z%i_2eDDlYC#WBR9_wA*Ne9a0xtO5BG8Q=cJf7OG~t5dKK4MmMLHJaXIJryDz)9FU{D6sgby}e(&S(a0F%Y{SYK;JTWy85}S Ib4q9e07q?{6951J literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/693_3.png b/public/images/pokemon/icons/variant/6/693_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0169bb057b558531be26bdefec276054f0091f GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a?}HSLR^8g zf`Wo(luY1>STp7Lq{#JOH#IJv^=o!h>b?y#Pi&d|;nnT`|301dn{*VYl(!_vFPPy! z63}IFTnm(V;_2cTV$u8dQefX<1s;|QeT}Sd?)~2*D}CuMn^frUSa;5@Pa6!Ml>I(d z&-`P;RPT`yN-u420Wbkzpqt0rGtjd?YkAJ6!EjQ6E^(^X@a%gkwQ7mTuF=UU~| zJc*I)v&`XYzx-^z`lB7&zUaJ}ztf>`PEZur@nZtpW$t#A3QxTH^2Ls=9y)1z%Z;PU zKJPTPx-)mu^re$iVhbiN-sfe+zwC*Sb)4ccP6wv867|0<{pKPcTR816-Mo17ub;-w zs{K4?o>+5~i%$9H{NcmBokspTVouXl-)b}0^H0;Son2u4QTe+RzfU literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/2037_2.png b/public/images/pokemon/icons/variant/7/2037_2.png new file mode 100644 index 0000000000000000000000000000000000000000..528793de5c5ae1b0b0f0cfda0fffdf5d9a10959b GIT binary patch literal 618 zcmV-w0+s!VP)X00001b5ch_0Itp) z=>Px%BS}O-R9Hvtma$3$K@f%~_yTDqh=Bt^BiN-7Vkb(3NbJ%J+6W3Fh<1vC2nsd| zmO?s10tUrGP_PI#f>96-W0Bq$5ar)6VcfgK-Ma)*WSWrM-Pv#dnVs1P^|(cPoR9i| zVI$O6u&-b%1>*7e50BMqwXUT~Ajg2ae|T@QPo+jkhm;4v#Gr?;2E@jhnPXbtPX7^? zAsI{_;JNxmE6YhW-xkygP*+Y89`2T@bhAnljK}Ny2Nc`fP=Ec@Zg-Ia0mfdd%4dBn z;qeVnU0r>W4Wu<-KD|iE`MKtvIwSzu+JTxv8Uu28Ss_*tFl(2ezEGH(8+cI%;)5XE zuw41vC?Bl>^}NzUnz?>!Nqy#`sAgurqUL-r5=fB6*zA}sw4r50P!)i{Y zc%^=&lBO5N7!VG*#7HpYQgo|GrP)yhAr+M&_EXU$53K?90`0mkIgUdorxm&_JbG?0 zmmdIPE$1L2(NRFZ8pt8t85&dq`2osMN*^Y0SZk~xoDZZf=x(pk5u~A00B$-vNfU{v zXAE70I|z3g(~e>c$T=wU4c`DKjR6r_0K+7p=XC#kumWUA_KBVhV-TqxLWsO%3kqos zC=cAKH_L~Edsa|OoTaQ$Vb%o=4d{1!bwJcXlcMYw?NERma;O9dln#Dc1-%pu`)d_xQq^800000NkvXXu0mjf E0Q0^7Gynhq literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/2037_3.png b/public/images/pokemon/icons/variant/7/2037_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d79fd1c23690bfdeeb629c8727a09bb8b9b6efbf GIT binary patch literal 624 zcmV-$0+0QPP)X00001b5ch_0Itp) z=>Px%DM>^@R9HvtmcL6vQ546IYePX0O@SimZb1+P(b5tv4Ph-B4*3^In_IL5O)Zfv z77lGKEg=L=)z+XQ3QdhRv=-;SckI0Tu5#|X3J%^yP9w@)`0g*2awsG`#)2IL_k`@K&6mkKnibPAyN?l>d#L`D72mZS@AC9Uj)OAYwz<` zl#kYcL_&F`hxBa6vshbTaI}f3jr%2#R)8wJwG^Q9@0mAsEDs}xQ{OhWl+F8NPyKQw zr3E7fM2FO3I2h*A@q8Id51ve1(Ljg|DoXOu8c=W0?RFcI$s}}c4xxVf8meGwKgfrB zDF-nUBLy_|KniK;yydB90OXiO literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/2038_2.png b/public/images/pokemon/icons/variant/7/2038_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d8295be1baf0c885dea40b4ff7f9de109da3616b GIT binary patch literal 798 zcmV+(1L6FMP)X00001b5ch_0Itp) z=>Px%*GWV{R9Hvtm%U3|K@`QWP5uWZf!!dI&DvTl7FH>@3PQR-1Q7ySXrZ;mZlQ&N zfCvesOOtB9K_xvg{&AyL$Gru|a-ZQg9^32=N zGv|~4fJGzppbC~sr5gaY+wI)*r=XSvq|#p9#`=!FT3M_KuJN0e3U>nJsu4Qh7)tb+eLbPC>%(sqoC^Vf zUEI%qF9Kv%o<;+5;Kss|tZc05zss}D1;d5JHSrr|hgU0)y+{n~R*}gdHDh5KT|J7@~>Ul-06}1}{i7wC? z_CUa%3dSf&h_p~x7}bjUBEaw*4WPEsmhcSuj4HQgjpu$>i2@83k|=2Z-W*{Is+Ybq(3b>Y*a{)5heYm3#(!!(_OBA60kd~7MX#J4D^i117 z_8686kg8f0yI_*Mv^g5C6CZpOK<1{;I~IqknS@q%4ztt5cp!wxtsqt8(F&78r8GFL z&V?l@fBqsLu6Dx#qn|X00001b5ch_0Itp) z=>Px%)=5M`R9HvtmoID-K@`ScRb`QFLUXsAz>p?L#I;S6stO$D1V=T#f$vJOx z=bTUe12&D&A62m3ZvO({Xf&!lPwf}IGJvrl_&t1kTe8)?e*8|6I_U&lk+&FNUpQw~dlH}x3)R4NaQ~y+Jw4SfRc3cZq?4&y+HhY23)R_d zKKf9n1MY8)O%6DON<+T6AcL3Ra=^0YU~Q@(7aJFestCw;pL2x%x;)&Nmy1gWX@CSb zpnzlqW>zFI#GOn5cV7LNR1u5lwsItU&#;FSVE&fNF6oDbn1{zh`MLU79$kJSJ5N8w zJcAl&8fHRyIFf{ZTVQ1sot}fn`=H!ndr@xQ$!&(k5Fz1zP_PKl_H{C~8x{#Z<#VwT zaH4|ol@KB=6cz?@3s%x?X?3fb0JSaH61p^>JDFIsM!(-xk^rNHgq%Xf#&G%sG73e| zun5``ebd_u{ScpI(NqHBVf!L^RDm<#I20kd`-B~ZkQSz>Sdsw!i_vll0LT0=s7cSX zkEb5PY5`K!F%>P02`O_l=4bE*GVY6J4@r*OfTZP+kw zZG;|&Yt<>*s#qJ)h8VeJJ&t4EbUk#+zr99)-Xr~l1hU&#YG|oqW5B9JpB8AQMN$Pf ci}BxTRQfK&gX-h}0000X00001b5ch_0Itp) z=>Px%q)9|UR9Hvtmpw=vK@`WIg#!uL03UmKc4EYDahHX0|>Z={41IWr^i*@Rlus=K`JcB zp^i@xTQ@s_!={r0#3I9u9@^ReEd&G{41ltkx$mz6ayel@83wQnI=^^G1>P)r_w7>r z1fU#qaP8-S0U^P=@1sOcET6#v&Ai!fHGw3TF!_tEa-<&FrG?p#$m< zObNJ|=0?N)0Q?mR7#Z!Pa3`do>R#2&DwvwlEus6Ax$@n%tHgtIq@a8du$qY9aW)V9 zDK^Rw`m7j9d^dM0F_Jgr7!=1i~wmGhI zP#>FX00001b5ch_0Itp) z=>Px%qe(r>DCjv=C+l9Tde&q8mhz!h&>=iVk5ck%EYl zHw7<>3f@AB4pLztf(PrCL=ae#V6vzYZ6dn5;6=2ImEt?_d&~~A``+xng@yWE-rITa z&3xwj`!`!e1#U$J&PV?NbM?@_rC=}^{1c1CJl(V>lK~8_Tw8iU7wc}5mykIF0uEpc z&xdI&{*1m&*B2h(`SwpV-@765!Bjz3Kb`8HDahGs0th%OaZCy8bXwIt1#GKoCCh(? z-u?7By4ejJHk}h77HKL@QX+mR1OyxmfU@b_msdb8Ck!aV0G2_cnQb%w`PFzd=SVq5kKQ>?i#pa zmm&1$OqrTBAUum7HyOD;30hdhQWml~*tI*IS(la48BysXaX&dyEx-ZDtqtSoHf#)Qa^i6WWEI~|bX00001b5ch_0Itp) z=>Px$q)9|UR9Hu2WEkXtage)@Vbp z90zh32!O=yU3tc^pzjnzLXjC*%)9hFZKD|7f$JBZWZ0IG33e3Bksulb<}~dF)4j)k zf$6Q?hO~7cw$KAPuyHmw18b8p*nu!dfgGeFC%}-o@)bP9Xr7C)IS>?uYiF1$bq0}x_I_6*esBPKmZhq`o^*h`_^3rJ8s{hrwpr~ zvl5-wa5+ppvSq_9b5|-#;4y{`825i^#aIt|6 zL1Z7J*B&5#sN`=3Cp&41(;vtlvO^GGw7?uapixXtjwDA9O+t_yhfp;aQ_}&2%o+_r iLLo#*e$a;?0Bl;k9}>C!fdBvi07*qoM6N<$f&c)`_Q>7< literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/746_2.png b/public/images/pokemon/icons/variant/7/746_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8746a45310dff6fa78aeabb7f9eba9d407c64907 GIT binary patch literal 489 zcmVX00001b5ch_0Itp) z=>Px$p-DtRR9Hvtl|4(tKp4lLsp%AbR5*iy#OtqF*baG?yIk%rzxy&?8h&%=ElX?8(L!$n$OnHPWnLj>Vuz69YpiE9vmNR!v@ zioF1YfJI|wTGSfgZhHoel|Q6w?JxMmfY^v3MQyda0*nKITywJDx_)Mr02z{toX00001b5ch_0Itp) z=>Px%n@L1LR9J=WmOV&YQ5c4wmJ%F-(1Jh2*hKj%OTEws?WrQ*tE9IBKu<@fIHZbLq!+g@r(AJ4n3|X^i5N+TD{{!l9wxQc=bA?$J?o4y*@a(>4@ajMhMAQy(S@z z&du`t=>P!1V9;i>of_t>z165W#B!*pvA&uivT?DadQp>tN-1+YHEavjXlMYL^SScp z?kySt=9dojxSTCDm!MM0EPYvGeKm7xO`OHTZXI50PD+@?R_xanx;ZaRY9?5X`K3dx zNLPQ~DW`4zDH}1UsQBpP7yye~9&P_GTv$c&??jcgg>DwNJiLE93BbcADPmzaP{~LC z?Hep^c^I3X(Pu~{1NdBdibjBUchih7?;~f|MNlba8rSdB-qXQxA*m~|XardK`3ZnK z>(4YvAqZ%a=|o)bv69T?a?NQo(rDZKQxuJWcI55t#M|3R;PGc|I~p3Guydft=|r5! z&>pd{8=ot$LvAJ8FhRgpojz9{pDWMEk(ZGp@2NbqA{KV*{45#)9qJD+zBwl7C-U>_?$*5rMCWF8@dz34 z5E$NKH(m9r(rm-ijzprgB32n2&c#@h=3L^ceYgNca=6ZlIG3OfgkhV0=l zXG?VTSBN{ki)(r;NSgu9RKVJBCFFyXo2)H#+lav>zGkd_(WzZCU)U|Q@W1f~y%#sM Tq+&1{00000NkvXXu0mjfYe8DG literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/780_3.png b/public/images/pokemon/icons/variant/7/780_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d98c750e8ea074b93f6e534e25fdfa8f64a5d84 GIT binary patch literal 720 zcmV;>0x$iEP)X00001b5ch_0Itp) z=>Px%ib+I4R9J=WmOW@%Q5462ElMC1x>%wRAJ^jGpth9^zA=M~5Gt02lCgyl(oS7m z90MUsr#48JE+s?g5D+pXYeA>9Bo41MR55{A>JmDI1ngkW&C?k3{OaT%gm-=C-t&9+ zeB29TjWyO-Bh{TzEUJ`h$aAGq8OX=b0hLmXWNKNDx3|^@f*dMfJDg|`NY}trU36Uj z&2(T&kNXMz&~~s>Xt#Gi^8UkjJvJ8R_513^rX$F^g8<2|{hfp~nONk_>&F1ZVzCw* zV_}|7bKBK(h-FdP4J%(jDQD2-t(v<6Dy16HN6(lJOtHPSt}D@N#ChTV1VHxbJq;;MIBiB6Z8Eit*NAIJf!PRw*$Ck;&$Vr6&g8UwtjF0*j)RK{>Y*UDYEg&$ zrb6lq5Sm|Xf38)FtnSRPx-)Yv&+Mv)f;vCFMqG!wG+B2H=qLxJ8f(>}&aG@F$I99g z$;2XX)fc63?CnGfLjDsuIZYh(K>;iOxLWJgOOs?`Q5TQEcwBIBF@f*W&KLI6zF#M$ zBhL2=j&jh^Su6mtSd6bf{{S%g_o&4|I-PDn6As|Ce09wHxLQd#thkxBdabw=OV^1KcG50000X00001b5ch_0Itp) z=>Px%R!KxbR9J=Wmp@1wQ5?rVseu;cplC8g9bUPBb;(qfqqU1JrI7vuhcCc9E_EqFLf=s9pcWwn>LAzYotMO>ytuX%cr?{l!b za=`X-p5xVdC#*_W?hn%+k2Qr9LfF0If}=I*IR||e34obNa^v2lV^@tRrJXzgcW*v| zcA-=H5DOvfMA~v72l{&W_Tw|x-#>GF4oA$Ea60l`#U~5v09<~2i_w>_C=TBS z;Nk3>hVTj@Y&V?W-2;srRJ(Yd_DcI4tx3mLz9$Ro9FCan2UL&%z2ky@SHA6)_MLY% zUd|RUGf5W5QVgZ0wA!F{-&CN3#wl=?e}6uG#mpofxN^2Y)re~MXzgCC7F^j_Vr65A z$d_^roRXPI(p@?5+&KaRRFLt+WW%^Rw9DB7i({#aETJD_I6Jrj2Kssc`1$KM+sk=| zQd0n^-vO;q2Xfu28c}vDT@I)!2q|T#YD6zIw>F@LicA;E2#0pN? zgT^Vlm9B>G7Tqci?0R1N%@X|8KM<+b_P;qga_cW!*$(d@!G=5l0000X00001b5ch_0Itp) z=>Px%MM*?KR9J=Wmp^C|aTLctCx%X0q{~4`-%tnv2N6Q)a3Z87V7Gus771dC;uZoW ztBVNIsX~dJvIJ>|E>#4FHW@kyr9&YEGW?R|mTsLookRUyE{TcvClSGXm%I17cfa4~ z-h0142XoCe*F+gXoJGU|P)ZqI+uJs6-Sz7zBF@8aA8w6o*#U6vUv0C1^wr@2+ytFx z%Ttf!ooRM93;9klz^lXq0QPzp1NVLvre;G$P{Vn3n%y0N7>0`#id0+Qi4}@t{XzjM zrHu1z`Hy}@t3uJLj2-;r_OpTO)Bv@H)2Z##>@FoM55TA9yRqqe^ZxU|)sF(NgVzZ4 z);@c^3pcG=n~5~Z<(09JBH}zsJf+b)@Lhv}CJ8{v%9BsMbnQ5b!G&6(EFwaT`<>xe*GQyeo(UVF5FJDP8=0_kB+pli-_Z$!B@8JLILjD7zHxY zVL>TnY~D|ew0ptQ)l8HjqDSx=0btQI0l2bl>aBgYQtJTd=Rl|^PUW~2M{#4HxuAMN zD5Z=zDpKE}0rlxbODSb&$YGy*g^kcP7&*lnPTLFS8aMXY$YMRKe-_^o5hvF^baL%O l$M0G1uS-P!UAX^NKLI0X4S0i_Jx%}s002ovPDHLkV1jQJG64Vp literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/783_2.png b/public/images/pokemon/icons/variant/7/783_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1e686e9501711f1d6d3ad8fe6f8e59f9abf6bf61 GIT binary patch literal 758 zcmVX00001b5ch_0Itp) z=>Px%ut`KgR9J=Wn6XP6Q5?rVX)1+4pe~|A!tZQ@CM^U48gwZLLM8`6DA+;i*gv65 z9h_R6Ds&XlDU*WWVh1ZqP^2zNC14)OpqmsyOM|=)@m()5CAqtVE`FE0%X@eE!{>)q+mj)&UQFBK78SX*v77Ju{Z|2rrmwsX7FqxN|> z62)_p#Nrl*OAEx}766A!3-*`+bvo&UcjNFQFK|k!z}R}uh67kEo)bz(5fME&ldPLB zB6=u%%fW1#q3|tkoc080G`G2LA1euq{%9|QGfB>}C-+=hnHsM zlcFE!**@kd7$W?S`Ncx1&h@SVHVfm|j~i&MdGY#HZ4Q5nc5O+Z3v0`+v)pxv8{w*% z6abl>Pc83tCQ`fdwFY~(kL~l{+uvHw|L|?@iR7wTTvL^sk61DYoQNHA&d})XG zI#<3|VnXStYdBAUPRRafFBj!Y03!Jkk$j0S)n83ZiF2+SdCp>`RDdixl#UX~m#8Ex zcAnQlcy#uY%XW*Rj;vTrzZW%b! z-kflz*P3<*wG#9`HsE^`+g6Ah;Tp$6=_nOynOwR1JOZxUS~Gb{lE%X00001b5ch_0Itp) z=>Px%ph-kQR9J=Wm@#YHKorOSZquPu^-^#Irtq8^L%{W544FEmNRX)n_bb$xP6a{f zkhw#hp^y-gPTidj9YS*CBZNRrz}R)-gEruFOa)#HuY-KDq`26UY{-y5m^({%=bzrw zd+*M`o$fSQM8rhI^H_T!&SV8uJgPYtOpB$IiTGF}MP7`EcyZH0I-sPc5y^s5%EYN@xo`l`-)^9kGC)LJE>wKuiHMU+ z28u^DB$o_?c~2v|7yvp|;kG#&AU%U}p@Mp2_lA|SJBF{FRtv@p`2KU>SgLleUyH0n_5W=5gpi3hm+`oS|g^0Il=E z#JS!;npUyiL1A~@{+D;3CXRpc^>66k2n{HuOw=2@0Dzo5yw>YN_PRs&0w;gOjTBQ# zg$s_zfL=(_Gmt&UifzsL{CZy)n@YT6=MLzFRB$=lNg?UH4sJJ5E>zrYSSe*hf&+m2 zQ32I%=IX~4t}g`iZ&d)m&(+T`i)#RY-;bW)`GaTfoS^HcQRp$0v--E; Y9}D44#U7k}SO5S307*qoM6N<$f;4enaR2}S literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/784_2.png b/public/images/pokemon/icons/variant/7/784_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9217358397da75823f654864ceaf7ceb82d61a GIT binary patch literal 1013 zcmVX00001b5ch_0Itp) z=>Px&uSrBfR9J=Wn7?ZqXBfvnDjqz97lWGX;gLqmn5?c?6bUnZ^{gmMjAdedU{KV|G$-pz zkxE?GO%=flf(*IHyLd|^@*63o_suWQ0eJcLh{q4_n&*7I1@IB%K_rt>N>9y9BL+jC z^&qg*e&n99d=N0;0P^(~C+kbpvVwfQMRmpEs!!>6dpU!enKs~5Poa7$a!(?F+9Zdi zozVDUX@`5|ry&M6x?zQSZ*yx6=lBef76w=?E2w2ftlqI1)ZoB3u?7}*u}<5e@Xj&d zPS%&qnvJfa_~-vHvG$#Oy@kD;;jpyB`zI9u`ukP#^;XE_wX6s!?6e(<|N3*P=U+m* z#YWd>G0wyz1&Nf>+uqwW??07~Li5h?nPDVfZ&Aw%<`--eEJ4N96$`+yeX_npzTQF% zhLH@89K{;svr>cE%q;^>#d82ETsGg#^YSUb`5oy88w@0S@ZSQSH`jnK? zn|+WSRc*3FtrY-}vrs){SZuD^Ce^%t^}SjD?7PJ#YLKtDLg4g#d2tTl8aR;_>}75PezzkMf`btl41yDB5n{k}CutGN zjXF{5J*uZdOiql!Yv8WTk+Tq7mM<-#e(|)A0K;TbN!Bb}F_8wQnbnm+=R)lYuIr`> zy9cKGPV%93BS3wy7!3V^++{)6iCec#!Lj)Tn@-z7eM~X>yr@q6Q<6A}gZ`%rzwTUu zZT#bhcR4KWP?@^m#org9WIgdHjyhC-XXxi(G7h$0H=Qw2fS*$6x^9XF9$S7eynj+b j058S__St08e;fV-7_%^!+dqK}00000NkvXXu0mjfmI>{# literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/784_3.png b/public/images/pokemon/icons/variant/7/784_3.png new file mode 100644 index 0000000000000000000000000000000000000000..077a6253a19ed26a07867f21dccf9a6c13bd9f10 GIT binary patch literal 1016 zcmVX00001b5ch_0Itp) z=>Px&vPnciR9J=Wmp@1wQ5?s=DH%c_j!8HA^vz zo1KLALYGVTE+QB~s3Hd~Aw%6PMN>*R%RLIQF^gb8973-{c+b0dXYW$`XYe;A@7=xM z=f1x`?>*q!uFczs$RZ-^Uvsz`5m}EK73)!>@<$=VgSVPC7 zE32zWWs>O5ZlOE7%*G$7P_-r0xn%E zh-XgcD>zzE2M;mN9YfY2kB&o`n8ehBVF1AD!8Qz8bA&uvRvZqS^%fG(cLDT53Y@3K z>3jvzvf>$HUqwPhR%!Q>_+OoS;h3-O?+8T0%VMZIuV9VV?{VI+a|(md4$*Ukm3>+yBlcMTL6I4 z?kCrrA|mTy`mtZP!5TGp0Q5p+woRd8cr7nl&C=%$@%+NQyN*2MaP|+q%mN)2h{)Qi zf5GDT)AI$^^5XZ8VjemD7)v8FSUuRr-0(DFAP~W!+P9qbZ&Q~t)FS}I1ez^X*J3~2O=zRO)W%Vglku|oiS!3&(7`NZ_8ehBCX!5=_qP}#@2fYFMZZmFsC>B(qCf~vi;XG|$w#HvK mu3+P9*WzmZcNhDshWZJ)S3Hg``9moH0000Px$k4Z#9R9Hvtn6XL&K@f%~*yuZ0MvS1C6CcFJ&Q7cp!RN3Ljg_L6osEUyONgWp zOwh*=w2S;J|FK!lOIY14m}nKiTa_ff74m{~LXYry7gt|XY*TxNd&t-RDM3Vze+00000 NNkvXXu0mjf0040z(OUoj literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/871_2.png b/public/images/pokemon/icons/variant/8/871_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bfefb010219cef18084f42ec879cf851b55310ef GIT binary patch literal 474 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

      Mt%cTwC&`S3r_%9OT-Vc=)ebHHmQrq@z>E)) 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 C2IkuU literal 1602 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

      OGhsclm$hi~8H+U^2rROB2`1Rr=TEV(UzNJ2v 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 z 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 GLK6UM@3&b1 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/variant/644.json b/public/images/pokemon/variant/644.json new file mode 100644 index 00000000000..e84e7373389 --- /dev/null +++ b/public/images/pokemon/variant/644.json @@ -0,0 +1,48 @@ +{ + "1": { + "1a1a21": "35296b", + "2c2c35": "c1c8e8", + "103a52": "251076", + "191921": "686c99", + "22222e": "705ba8", + "005da4": "4800e3", + "31313a": "cfd0e6", + "6bf7ff": "b77dff", + "00c5ff": "7626ff", + "1a1821": "7888c2", + "23232f": "8c9bd1", + "ce0000": "a44bf2", + "121212": "54428f", + "940000": "762fcc", + "52525a": "e6e7f2", + "003682": "4c29ab", + "08528c": "3b1899", + "212129": "9b9fc4", + "111111": "5b5f8c", + "009cde": "dbbaff", + "101010": "49568f" + }, + "2": { + "1a1a21": "350707", + "2c2c35": "9c5fa4", + "103a52": "671212", + "191921": "843172", + "22222e": "350707", + "005da4": "c8433a", + "31313a": "ef9dae", + "6bf7ff": "f5e5da", + "00c5ff": "fbd3a8", + "1a1821": "5e286f", + "23232f": "763e7f", + "ce0000": "f3d32c", + "121212": "210214", + "940000": "aa5d0e", + "52525a": "ffc5d1", + "003682": "671212", + "08528c": "821b1b", + "212129": "ca6c94", + "111111": "4a1a4c", + "009cde": "ef806b", + "101010": "3b1a4c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/646-black.json b/public/images/pokemon/variant/646-black.json new file mode 100644 index 00000000000..70094ae228b --- /dev/null +++ b/public/images/pokemon/variant/646-black.json @@ -0,0 +1,59 @@ +{ + "1": { + "2f2f38": "112240", + "6b8c7b": "2b4366", + "524a31": "203c5c", + "191921": "6a6a94", + "648776": "905dcf", + "315a42": "1a2b4d", + "e3e3dc": "d4c3f7", + "e8e8dc": "e6a18a", + "35353d": "c8c9e0", + "786655": "5482b0", + "ededeb": "ebd4c3", + "b3ac8b": "c77161", + "006b94": "4c13a1", + "3b3b42": "9e463f", + "2e5942": "484873", + "addec5": "426585", + "b59400": "b35a3e", + "004b6f": "4c13a1", + "7d6d5b": "b2bdd4", + "ada584": "78a9cc", + "ffff4a": "db966b", + "deddd3": "edc9ff", + "282830": "9b9bc2", + "23232b": "0c142e", + "1e1e26": "15213b", + "00b5ff": "a033ff", + "b6e3ca": "bb8ae3" + }, + "2": { + "2f2f38": "550f0f", + "6b8c7b": "be6e34", + "524a31": "550f0f", + "191921": "3d0d38", + "648776": "ea93a5", + "315a42": "7b2d25", + "e3e3dc": "ffadbe", + "e8e8dc": "e0e0cc", + "35353d": "913a7d", + "786655": "982222", + "b3ac8b": "cec7a7", + "006b94": "6b3773", + "3b3b42": "423f30", + "2e5942": "ca6c94", + "addec5": "e6b45b", + "b59400": "166a2d", + "004b6f": "411d46", + "7d6d5b": "982222", + "ada584": "c23232", + "ffff4a": "6ae649", + "deddd3": "ffc5d1", + "282830": "6c245b", + "23232b": "521610", + "1e1e26": "480b0b", + "00b5ff": "b464bf", + "b6e3ca": "ea93a5" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/646-white.json b/public/images/pokemon/variant/646-white.json new file mode 100644 index 00000000000..ff46920d000 --- /dev/null +++ b/public/images/pokemon/variant/646-white.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "741a18": "9c5528", + "4a4a29": "2a446b", + "4a4a2d": "181930", + "4c4a2c": "1b2547", + "315a42": "1b2547", + "7b7b5a": "779fbf", + "73737b": "222342", + "942921": "d49748", + "e64a42": "ffe587", + "6b8c7b": "2e466b", + "cc9827": "b35a3e", + "ffde38": "db966b", + "ffde3a": "ffde3a", + "ffad63": "fff7c4", + "ada584": "b7dbeb", + "bdbdc5": "292b40", + "addec5": "45678a", + "f7f3f3": "f7f3f3", + "fbf8f8": "414659", + "fdf9f9": "fcfcfc", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "741a18": "1f504d", + "4a4a29": "550f0f", + "4a4a2d": "1f1544", + "4c4a2c": "7b2d25", + "315a42": "7b2d25", + "7b7b5a": "982222", + "73737b": "2b2871", + "942921": "3d8073", + "e64a42": "4ba789", + "6b8c7b": "be6e34", + "cc9827": "166a2d", + "ffde38": "6ae649", + "ffde3a": "9df377", + "ffad63": "5cdca6", + "ada584": "c23232", + "bdbdc5": "3d458f", + "addec5": "e6b45b", + "f7f3f3": "f7f3f3", + "fbf8f8": "5870c4", + "fdf9f9": "4f9290", + "fcfcfc": "e2f9b5", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/646.json b/public/images/pokemon/variant/646.json new file mode 100644 index 00000000000..c8a0453a135 --- /dev/null +++ b/public/images/pokemon/variant/646.json @@ -0,0 +1,38 @@ +{ + "1": { + "8c7329": "b35a3e", + "949cad": "a6cfe0", + "3b3b4a": "39444c", + "103a52": "121836", + "ffe600": "db966b", + "73737b": "6394b0", + "373746": "121836", + "bde6ff": "3c5878", + "424252": "3d6285", + "696973": "606a73", + "ceb500": "a55c39", + "cecece": "bec9ce", + "def7ff": "577c96", + "6d737b": "a55c39", + "6b8494": "1a2647", + "ffffff": "edfcff", + "a5b5ce": "293c5e" + }, + "2": { + "8c7329": "166a2d", + "949cad": "c23232", + "3b3b4a": "4a3b3b", + "103a52": "7b2d25", + "ffe600": "6ae649", + "73737b": "982222", + "373746": "7b2d25", + "bde6ff": "e6b45b", + "424252": "550f0f", + "696973": "736969", + "ceb500": "2aac2b", + "def7ff": "f7ec88", + "6d737b": "2aac2b", + "6b8494": "974626", + "a5b5ce": "be6e34" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/692.json b/public/images/pokemon/variant/692.json new file mode 100644 index 00000000000..954dcffb3e9 --- /dev/null +++ b/public/images/pokemon/variant/692.json @@ -0,0 +1,26 @@ +{ + "1": { + "b3f2ff": "fada7f", + "44a2b4": "af6a37", + "2f7280": "783a1d", + "cd9d3a": "53be53", + "575757": "c85b5b", + "72561c": "20734c", + "60dbf2": "e1ac53", + "b4b4b4": "c8ba6d", + "3d3d3d": "7d182d", + "ffc549": "a9f076" + }, + "2": { + "b3f2ff": "faf8d7", + "44a2b4": "968144", + "2f7280": "5f3c23", + "cd9d3a": "7743be", + "575757": "88cd56", + "72561c": "371c72", + "60dbf2": "e1d6b6", + "b4b4b4": "68a7aa", + "3d3d3d": "1c873e", + "ffc549": "a36feb" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/693.json b/public/images/pokemon/variant/693.json new file mode 100644 index 00000000000..2e80795d2a0 --- /dev/null +++ b/public/images/pokemon/variant/693.json @@ -0,0 +1,30 @@ +{ + "1": { + "23a2c8": "c87a23", + "ffc859": "6ccd80", + "224b73": "552813", + "404040": "3c171b", + "262626": "230808", + "5f5f5f": "6e2e3b", + "cc9c3d": "1b3c17", + "61daf2": "f2bd61", + "735822": "08230e", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "4595e5": "aa6839" + }, + "2": { + "23a2c8": "beb099", + "ffc859": "f5b281", + "224b73": "5f463a", + "404040": "2a8c53", + "262626": "295a1c", + "5f5f5f": "51c85d", + "cc9c3d": "6259af", + "61daf2": "f0eadb", + "735822": "36235f", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "4595e5": "c8b493" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/746-school.json b/public/images/pokemon/variant/746-school.json new file mode 100644 index 00000000000..a76aca2921f --- /dev/null +++ b/public/images/pokemon/variant/746-school.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "113650": "0b3d3a", + "123954": "75351b", + "10437d": "16574d", + "134884": "934f26", + "1766c6": "b77736", + "3d66d8": "d39c63", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "43ebf3": "824388", + "72f0f6": "27133f", + "9cd3fd": "78f389", + "a6c5f7": "aafe94", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "160523", + "113650": "846228", + "123954": "28071a", + "10437d": "b7904d", + "134884": "350b19", + "1766c6": "4a1111", + "3d66d8": "622222", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "43ebf3": "4378eb", + "72f0f6": "31238e", + "9cd3fd": "fefed9", + "a6c5f7": "fefeef", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/746.json b/public/images/pokemon/variant/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/780.json b/public/images/pokemon/variant/780.json new file mode 100644 index 00000000000..0399d3567bf --- /dev/null +++ b/public/images/pokemon/variant/780.json @@ -0,0 +1,40 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "606f55": "496375", + "ffc4d7": "f29d9d", + "105262": "0e194a", + "b4cda4": "9ab5b8", + "f5ae07": "e8c987", + "ce5b9b": "cf4654", + "faf550": "faf0b1", + "e67b9c": "e65757", + "bd3983": "bd3341", + "eea6bc": "f06e6e", + "5aa4a4": "284c80", + "b8b7a3": "cf8d38", + "726d5c": "a36026", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "606f55": "8f825d", + "ffc4d7": "f2e396", + "105262": "3f3c61", + "b4cda4": "d6dbba", + "f5ae07": "24ab2b", + "ce5b9b": "d9ae5d", + "faf550": "3ec435", + "e67b9c": "e3b656", + "bd3983": "c27529", + "eea6bc": "f2d98d", + "5aa4a4": "6a708a", + "b8b7a3": "254e59", + "726d5c": "162d3d", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/782.json b/public/images/pokemon/variant/782.json new file mode 100644 index 00000000000..bd04ccc0c70 --- /dev/null +++ b/public/images/pokemon/variant/782.json @@ -0,0 +1,34 @@ +{ + "1": { + "f13035": "48bd8c", + "bec6cb": "e8cea0", + "fdfdfd": "fcf2ca", + "f8f236": "e77b57", + "504e4b": "2b130b", + "aba5ad": "336340", + "7b766f": "472d1d", + "7a756d": "a67e5b", + "726475": "214a33", + "4f4d4b": "8a5b41", + "940a0d": "258067", + "dbdbdb": "4e8759", + "957509": "a63424", + "fff7cc": "f7c4b5" + }, + "2": { + "f13035": "b8c0fc", + "bec6cb": "b7ddeb", + "fdfdfd": "d5f4f7", + "f8f236": "52d9ac", + "504e4b": "132040", + "aba5ad": "5e3e75", + "7b766f": "273959", + "7a756d": "8ab7cf", + "726475": "412959", + "4f4d4b": "567496", + "940a0d": "636a94", + "dbdbdb": "855d99", + "957509": "258085", + "fff7cc": "baf7dc" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/783.json b/public/images/pokemon/variant/783.json new file mode 100644 index 00000000000..0748d5ff79e --- /dev/null +++ b/public/images/pokemon/variant/783.json @@ -0,0 +1,32 @@ +{ + "1": { + "f13035": "48bd8c", + "6c6968": "472d1d", + "97938c": "2a573e", + "4d4644": "2b130b", + "940a0d": "258067", + "fdfdfd": "fcf2ca", + "6e6a69": "8a5b41", + "fff5ae": "f7c4b5", + "c2c1c0": "42754f", + "d7aa22": "c25236", + "957509": "a63424", + "69625c": "133027", + "f4da42": "e77b57" + }, + "2": { + "f13035": "d9ddfc", + "6c6968": "2e4266", + "97938c": "543666", + "4d4644": "151e38", + "940a0d": "636a94", + "fdfdfd": "d5f4f7", + "6e6a69": "567496", + "fff5ae": "baf7dc", + "c2c1c0": "744e87", + "d7aa22": "37ad94", + "957509": "258085", + "69625c": "2d1c3d", + "f4da42": "52d9ac" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/784.json b/public/images/pokemon/variant/784.json new file mode 100644 index 00000000000..0bd28476e98 --- /dev/null +++ b/public/images/pokemon/variant/784.json @@ -0,0 +1,50 @@ +{ + "1": { + "c99f21": "c25236", + "4b4657": "8a5b41", + "544747": "517d37", + "d0d2d5": "77a353", + "fafafa": "f7c4b5", + "d4d6d9": "e8cea0", + "9d6702": "9c3c27", + "f4da42": "e77b57", + "f13035": "48bd8c", + "2d2b28": "2b130b", + "c59c21": "b5482f", + "cb0e12": "258067", + "47444e": "472d1d", + "f7f7f7": "fcf2ca", + "a7a29e": "336142", + "807673": "a67e5b", + "504444": "123028", + "885902": "a63424", + "7e7572": "204736", + "d7d9db": "548752", + "4d4946": "447835", + "fdfdfd": "bbd477" + }, + "2": { + "c99f21": "37ad94", + "4b4657": "567496", + "544747": "558ea3", + "d0d2d5": "7ec2cc", + "fafafa": "daf2e7", + "d4d6d9": "b7ddeb", + "9d6702": "227880", + "f4da42": "52d9ac", + "f13035": "d9ddfc", + "2d2b28": "151e38", + "c59c21": "34a897", + "cb0e12": "636a94", + "47444e": "2e4266", + "f7f7f7": "d5f4f7", + "a7a29e": "6c457a", + "807673": "8ab7cf", + "504444": "2d1840", + "885902": "2b8c8b", + "7e7572": "4e2e61", + "d7d9db": "ac7fb3", + "4d4946": "558fa6", + "fdfdfd": "adedf0" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/840.json b/public/images/pokemon/variant/840.json new file mode 100644 index 00000000000..255e2e7689a --- /dev/null +++ b/public/images/pokemon/variant/840.json @@ -0,0 +1,34 @@ +{ + "1": { + "e2244a": "70a2c5", + "8d4229": "570749", + "94d84a": "e5e8ee", + "5fab1d": "7a7c9e", + "d39a52": "9c2e72", + "e32b50": "4e77a2", + "357912": "313846", + "fe455c": "abd7e2", + "5bab1d": "acb0c3", + "247912": "48485d", + "a50534": "3e6085", + "a4d84a": "9aa0b3", + "f2c171": "c55885", + "fa6f8b": "c1f3f3" + }, + "2": { + "e2244a": "bfb5ab", + "8d4229": "230808", + "94d84a": "589df3", + "5fab1d": "a8546e", + "d39a52": "291411", + "e32b50": "807770", + "357912": "823455", + "fe455c": "dcd9d1", + "5bab1d": "354dbf", + "247912": "2e2246", + "a50534": "68645f", + "a4d84a": "e28c95", + "f2c171": "463731", + "fa6f8b": "eeedea" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/841-gigantamax.json b/public/images/pokemon/variant/841-gigantamax.json new file mode 100644 index 00000000000..5d3b8c49133 --- /dev/null +++ b/public/images/pokemon/variant/841-gigantamax.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "772628": "3e6085", + "2c4828": "291634", + "427638": "7a7c9e", + "872d23": "460c4d", + "8b3329": "2c255d", + "913c3c": "5b4585", + "a63139": "70a2c5", + "8d4229": "272a52", + "bf6c31": "b668a0", + "d2394d": "abd7e2", + "d54456": "751680", + "c57741": "9c2e72", + "e84466": "8666ae", + "39a43d": "9aa0b3", + "b3ac62": "95aec9", + "c68a48": "2b526f", + "e2bb56": "c55885", + "e9c558": "397880", + "ffc66a": "eeb4cb", + "dad08b": "dcebf9", + "fff1ab": "63b9b9", + "f9f9f9": "f9f9f9" + }, + "2": { + "101010": "101010", + "772628": "695d57", + "2c4828": "341c1c", + "427638": "a54e69", + "872d23": "2e2246", + "8b3329": "3a2222", + "913c3c": "682d2d", + "a63139": "baada1", + "8d4229": "9c564c", + "bf6c31": "354dbf", + "d2394d": "dcd9d1", + "d54456": "2e38bf", + "c57741": "291411", + "e84466": "915a41", + "39a43d": "e28c95", + "b3ac62": "c1a39c", + "c68a48": "d1a87e", + "e2bb56": "463731", + "e9c558": "eee0bc", + "ffc66a": "589df3", + "dad08b": "e2dcd6", + "fff1ab": "fdf3c0", + "f9f9f9": "f9f9f9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/841.json b/public/images/pokemon/variant/841.json new file mode 100644 index 00000000000..3f1c756da5e --- /dev/null +++ b/public/images/pokemon/variant/841.json @@ -0,0 +1,38 @@ +{ + "1": { + "df6655": "c55885", + "b5915b": "34123a", + "9b2629": "70a2c5", + "8d764b": "110723", + "56ab32": "a59ab3", + "f0bda6": "c1f3f3", + "c3a965": "b3b1d6", + "f1c950": "f3c5dd", + "ccca71": "e6dcf9", + "ccb468": "5d2654", + "612324": "3e6085", + "d72d31": "abd7e2", + "874c23": "613863", + "ebe381": "854774", + "488235": "8e7a9e", + "395a2e": "383146" + }, + "2": { + "df6655": "463731", + "b5915b": "541711", + "9b2629": "bfb5ab", + "8d764b": "230313", + "56ab32": "e28c95", + "f0bda6": "eeedea", + "c3a965": "cbb4af", + "f1c950": "589df3", + "ccca71": "e2dcd6", + "ccb468": "8b4332", + "612324": "68645f", + "d72d31": "dcd9d1", + "874c23": "2e2246", + "ebe381": "c68862", + "488235": "a8546e", + "395a2e": "4f0e30" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/842-gigantamax.json b/public/images/pokemon/variant/842-gigantamax.json new file mode 100644 index 00000000000..5d3b8c49133 --- /dev/null +++ b/public/images/pokemon/variant/842-gigantamax.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "772628": "3e6085", + "2c4828": "291634", + "427638": "7a7c9e", + "872d23": "460c4d", + "8b3329": "2c255d", + "913c3c": "5b4585", + "a63139": "70a2c5", + "8d4229": "272a52", + "bf6c31": "b668a0", + "d2394d": "abd7e2", + "d54456": "751680", + "c57741": "9c2e72", + "e84466": "8666ae", + "39a43d": "9aa0b3", + "b3ac62": "95aec9", + "c68a48": "2b526f", + "e2bb56": "c55885", + "e9c558": "397880", + "ffc66a": "eeb4cb", + "dad08b": "dcebf9", + "fff1ab": "63b9b9", + "f9f9f9": "f9f9f9" + }, + "2": { + "101010": "101010", + "772628": "695d57", + "2c4828": "341c1c", + "427638": "a54e69", + "872d23": "2e2246", + "8b3329": "3a2222", + "913c3c": "682d2d", + "a63139": "baada1", + "8d4229": "9c564c", + "bf6c31": "354dbf", + "d2394d": "dcd9d1", + "d54456": "2e38bf", + "c57741": "291411", + "e84466": "915a41", + "39a43d": "e28c95", + "b3ac62": "c1a39c", + "c68a48": "d1a87e", + "e2bb56": "463731", + "e9c558": "eee0bc", + "ffc66a": "589df3", + "dad08b": "e2dcd6", + "fff1ab": "fdf3c0", + "f9f9f9": "f9f9f9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/842.json b/public/images/pokemon/variant/842.json new file mode 100644 index 00000000000..9563715745e --- /dev/null +++ b/public/images/pokemon/variant/842.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f4329": "313846", + "1f5829": "852560", + "2c743e": "7a7c9e", + "9f7034": "9aa0b3", + "ac6b20": "110723", + "af2348": "67829e", + "e75574": "70a2c5", + "39a45f": "92cbd9", + "7de755": "9aa0b3", + "e78422": "1f1946", + "ffa63b": "2d3d68", + "f1cf6d": "a3b9d0", + "f9d56d": "698db4", + "ffc575": "2b526f", + "f18e8e": "c1f3f3", + "fcff86": "397880" + }, + "2": { + "101010": "101010", + "1f4329": "511c2d", + "1f5829": "2e2246", + "2c743e": "a8546e", + "9f7034": "3a130d", + "ac6b20": "68645f", + "af2348": "bfb5ab", + "e75574": "dcd9d1", + "39a45f": "e28c95", + "7de755": "589df3", + "e78422": "4b211b", + "ffa63b": "63473b", + "f1cf6d": "cbb4af", + "f9d56d": "b9937a", + "ffc575": "d1a87e", + "f18e8e": "eeedea", + "fcff86": "eee0bc" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/871.json b/public/images/pokemon/variant/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/88.json b/public/images/pokemon/variant/88.json new file mode 100644 index 00000000000..61b7ca3b802 --- /dev/null +++ b/public/images/pokemon/variant/88.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/89.json b/public/images/pokemon/variant/89.json new file mode 100644 index 00000000000..eda3558d7c2 --- /dev/null +++ b/public/images/pokemon/variant/89.json @@ -0,0 +1,30 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70", + "ad63ad": "c63a17" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf", + "ad63ad": "e5728a" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/_exp_masterlist.json b/public/images/pokemon/variant/_exp_masterlist.json index 0ef5f209439..e588be59073 100644 --- a/public/images/pokemon/variant/_exp_masterlist.json +++ b/public/images/pokemon/variant/_exp_masterlist.json @@ -94,6 +94,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "699": [0, 1, 1], @@ -120,6 +122,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 2, 2], "748": [0, 1, 1], "751": [0, 1, 1], @@ -159,6 +163,7 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791": [2, 1, 1], @@ -186,6 +191,9 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 2, 2], + "840": [0, 1, 1], + "841": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851": [0, 1, 1], "854": [0, 1, 1], @@ -200,6 +208,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -297,6 +306,8 @@ "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 0], "2103": [0, 1, 1], @@ -422,6 +433,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "699": [0, 2, 2], @@ -448,6 +461,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 2, 2], "748": [0, 1, 1], "751": [0, 1, 1], @@ -486,6 +501,7 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791": [1, 1, 1], @@ -513,6 +529,9 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 1, 1], + "840": [0, 1, 1], + "841": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851": [0, 1, 1], "854": [0, 1, 1], @@ -527,6 +546,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -623,6 +643,8 @@ "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 1], "2103": [0, 1, 1], diff --git a/public/images/pokemon/variant/_masterlist.json b/public/images/pokemon/variant/_masterlist.json index ac683d9544e..719f3db3d86 100644 --- a/public/images/pokemon/variant/_masterlist.json +++ b/public/images/pokemon/variant/_masterlist.json @@ -32,6 +32,9 @@ "29": [0, 1, 1], "30": [0, 1, 1], "31": [1, 1, 1], + "32": [0, 1, 1], + "33": [0, 1, 1], + "34": [0, 1, 1], "35": [0, 1, 2], "36": [0, 1, 1], "37": [0, 1, 1], @@ -67,6 +70,8 @@ "85": [1, 1, 1], "86": [1, 1, 1], "87": [1, 1, 1], + "88": [0, 1, 1], + "89": [0, 1, 1], "92": [2, 2, 2], "93": [1, 1, 1], "94-gigantamax": [1, 2, 2], @@ -113,6 +118,8 @@ "141": [0, 2, 2], "142-mega": [0, 1, 1], "142": [0, 1, 1], + "143-gigantamax": [0, 1, 1], + "143": [0, 1, 1], "144": [1, 2, 2], "145": [1, 1, 1], "146": [1, 1, 1], @@ -154,6 +161,9 @@ "183": [0, 1, 2], "184": [0, 2, 2], "185": [0, 1, 1], + "187": [0, 1, 1], + "188": [0, 1, 1], + "189": [0, 1, 1], "190": [0, 1, 1], "193": [0, 1, 1], "194": [0, 1, 1], @@ -192,6 +202,8 @@ "201-w": [0, 1, 1], "201-o": [0, 1, 1], "203": [0, 1, 1], + "204": [0, 1, 1], + "205": [0, 1, 1], "206": [0, 1, 1], "207": [0, 1, 1], "211": [0, 1, 1], @@ -247,6 +259,7 @@ "291": [2, 2, 2], "292": [2, 1, 2], "298": [0, 2, 2], + "299": [0, 1, 1], "300": [1, 1, 1], "301": [1, 1, 1], "302": [0, 1, 1], @@ -265,13 +278,19 @@ "310": [0, 1, 1], "311": [1, 1, 1], "312": [0, 1, 1], + "313": [0, 1, 1], + "314": [0, 1, 1], "315": [0, 1, 1], "320": [0, 1, 1], "321": [0, 1, 1], + "325": [0, 1, 1], + "326": [0, 1, 1], "327": [0, 1, 1], "328": [0, 1, 1], "329": [0, 1, 2], "330": [0, 1, 1], + "331": [0, 1, 1], + "332": [0, 1, 1], "333": [0, 1, 1], "334-mega": [0, 2, 1], "334": [0, 2, 2], @@ -283,6 +302,8 @@ "340": [0, 1, 2], "341": [0, 2, 2], "342": [0, 2, 2], + "345": [0, 1, 1], + "346": [0, 1, 1], "351-rainy": [1, 2, 2], "351-snowy": [1, 1, 1], "351-sunny": [1, 2, 2], @@ -331,10 +352,16 @@ "393": [0, 1, 1], "394": [0, 1, 1], "395": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 1, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 1, 1], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "406": [0, 1, 1], "407": [0, 1, 1], "412-sandy": [2, 2, 2], @@ -344,8 +371,12 @@ "413-trash": [1, 1, 1], "413-sandy": [1, 1, 1], "414": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 1, 1], "419": [0, 1, 1], + "420": [0, 1, 1], + "421-overcast": [0, 1, 1], + "421-sunshine": [0, 1, 1], "422-west": [1, 1, 1], "422-east": [1, 1, 1], "423-west": [1, 1, 1], @@ -369,6 +400,7 @@ "444": [1, 1, 1], "445-mega": [1, 1, 1], "445": [1, 1, 1], + "446": [0, 1, 1], "447": [1, 1, 1], "448-mega": [1, 1, 1], "448": [1, 1, 1], @@ -392,6 +424,7 @@ "474": [0, 1, 1], "475-mega": [0, 2, 2], "475": [0, 1, 1], + "476": [0, 1, 1], "478": [0, 2, 1], "479-heat": [0, 1, 1], "479-wash": [0, 1, 1], @@ -416,11 +449,22 @@ "495": [0, 1, 1], "496": [0, 1, 1], "497": [0, 1, 1], + "498": [0, 1, 1], + "499": [0, 1, 1], + "500": [0, 1, 1], "501": [0, 1, 1], "502": [0, 1, 1], "503": [0, 1, 1], + "511": [0, 1, 1], + "512": [0, 1, 1], + "513": [0, 1, 1], + "514": [0, 1, 1], + "515": [0, 1, 1], + "516": [0, 1, 1], "517": [0, 1, 1], "518": [0, 1, 1], + "522": [0, 1, 1], + "523": [0, 1, 1], "524": [0, 1, 1], "525": [0, 1, 1], "526": [0, 2, 2], @@ -433,6 +477,9 @@ "532": [0, 1, 1], "533": [0, 1, 1], "534": [0, 1, 1], + "535": [0, 1, 1], + "536": [0, 1, 1], + "537": [0, 1, 1], "538": [0, 1, 1], "539": [0, 2, 2], "540": [0, 1, 1], @@ -448,17 +495,23 @@ "551": [0, 1, 1], "552": [0, 1, 1], "553": [0, 1, 1], + "554": [0, 1, 1], + "555": [0, 1, 1], + "555-zen": [0, 1, 1], "556": [0, 1, 1], "559": [1, 1, 1], "560": [1, 1, 1], "562": [0, 1, 1], "563": [0, 1, 1], + "566": [0, 1, 1], + "567": [0, 1, 1], "568": [0, 2, 2], "569-gigantamax": [0, 1, 1], "569": [0, 1, 1], "570": [0, 1, 1], "571": [0, 1, 1], "572": [0, 1, 1], + "573": [0, 1, 1], "577": [1, 1, 1], "578": [1, 1, 1], "579": [1, 1, 1], @@ -499,6 +552,7 @@ "621": [0, 1, 1], "622": [0, 1, 1], "623": [0, 1, 1], + "626": [0, 1, 1], "631": [0, 2, 2], "632": [0, 1, 1], "633": [0, 1, 1], @@ -507,6 +561,11 @@ "636": [0, 1, 1], "637": [0, 1, 1], "640": [0, 1, 1], + "643": [0, 1, 1], + "644": [0, 1, 1], + "646-black": [0, 1, 1], + "646-white": [0, 1, 1], + "646": [0, 1, 1], "647-resolute": [0, 1, 1], "647-ordinary": [0, 1, 1], "648-aria": [0, 1, 1], @@ -583,6 +642,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "698": [0, 1, 1], @@ -613,6 +674,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 1, 1], "748": [0, 1, 1], "751": [0, 1, 1], @@ -651,6 +714,10 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], + "782": [0, 1, 1], + "783": [0, 1, 1], + "784": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791-radiant-sun": [0, 1, 1], @@ -683,6 +750,11 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 2, 2], + "840": [0, 1, 1], + "841-gigantamax": [0, 1, 1], + "841": [0, 1, 1], + "842-gigantamax": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851-gigantamax": [0, 1, 1], "851": [0, 1, 1], @@ -700,6 +772,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -798,14 +871,18 @@ "1007-apex-build": [0, 2, 2], "1008-ultimate-mode": [1, 1, 1], "1010": [0, 1, 1], + "1011": [0, 1, 1], "1012-counterfeit": [0, 1, 1], "1013-unremarkable": [0, 1, 1], "1018": [0, 1, 1], + "1019": [0, 1, 1], "1022": [0, 1, 1], "1023": [0, 1, 1], "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 1], "2103": [0, 1, 1], @@ -880,12 +957,20 @@ "307": [0, 1, 1], "308": [0, 1, 1], "315": [0, 1, 1], + "332": [0, 1, 1], "369": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 1, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 2, 2], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "407": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 1, 1], "419": [0, 2, 1], "424": [0, 1, 1], @@ -937,6 +1022,9 @@ "29": [0, 1, 1], "30": [0, 1, 1], "31": [1, 1, 1], + "32": [0, 1, 1], + "33": [0, 1, 1], + "34": [0, 1, 1], "35": [0, 1, 1], "36": [0, 2, 1], "37": [0, 1, 1], @@ -972,6 +1060,8 @@ "85": [1, 1, 1], "86": [1, 1, 1], "87": [1, 1, 1], + "88": [0, 1, 1], + "89": [0, 1, 1], "92": [2, 2, 2], "93": [1, 1, 1], "94-gigantamax": [1, 1, 1], @@ -1018,6 +1108,8 @@ "141": [0, 1, 1], "142-mega": [0, 1, 1], "142": [0, 1, 1], + "143-gigantamax": [0, 1, 1], + "143": [0, 1, 1], "144": [1, 1, 1], "145": [1, 1, 1], "146": [1, 1, 1], @@ -1059,6 +1151,9 @@ "183": [0, 1, 1], "184": [0, 1, 1], "185": [0, 1, 1], + "187": [0, 1, 1], + "188": [0, 1, 1], + "189": [0, 1, 1], "190": [0, 1, 1], "193": [0, 1, 1], "194": [0, 1, 1], @@ -1097,6 +1192,8 @@ "201-w": [0, 1, 1], "201-o": [0, 1, 1], "203": [0, 1, 1], + "204": [0, 1, 1], + "205": [0, 1, 1], "206": [0, 1, 1], "207": [0, 1, 1], "211": [0, 1, 1], @@ -1152,6 +1249,7 @@ "291": [2, 2, 2], "292": [2, 2, 2], "298": [0, 1, 1], + "299": [0, 1, 1], "300": [1, 1, 1], "301": [1, 1, 1], "302": [0, 1, 1], @@ -1170,13 +1268,19 @@ "310": [0, 1, 1], "311": [1, 1, 1], "312": [0, 1, 1], + "313": [0, 1, 1], + "314": [0, 1, 1], "315": [0, 1, 1], "320": [0, 1, 1], "321": [0, 1, 1], + "325": [0, 1, 1], + "326": [0, 1, 1], "327": [0, 1, 1], "328": [0, 1, 1], "329": [0, 1, 1], "330": [0, 1, 1], + "331": [0, 1, 1], + "332": [0, 1, 1], "333": [0, 1, 1], "334-mega": [0, 1, 1], "334": [0, 1, 1], @@ -1188,6 +1292,8 @@ "340": [0, 1, 2], "341": [0, 1, 1], "342": [0, 2, 2], + "345": [0, 1, 1], + "346": [0, 1, 1], "351-rainy": [1, 1, 1], "351-snowy": [1, 1, 1], "351-sunny": [1, 1, 2], @@ -1236,10 +1342,16 @@ "393": [0, 1, 1], "394": [0, 1, 1], "395": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 2, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 1, 1], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "406": [0, 1, 1], "407": [0, 1, 1], "412-sandy": [2, 2, 2], @@ -1249,8 +1361,12 @@ "413-trash": [1, 1, 1], "413-sandy": [1, 1, 1], "414": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 1, 1], "419": [0, 1, 1], + "420": [0, 1, 1], + "421-overcast": [0, 1, 1], + "421-sunshine": [0, 1, 1], "422-west": [1, 1, 1], "422-east": [1, 1, 1], "423-west": [1, 1, 1], @@ -1274,6 +1390,7 @@ "444": [1, 1, 1], "445-mega": [1, 1, 1], "445": [1, 1, 1], + "446": [0, 1, 1], "447": [1, 1, 1], "448-mega": [1, 1, 1], "448": [1, 1, 1], @@ -1297,6 +1414,7 @@ "474": [0, 1, 1], "475-mega": [0, 2, 2], "475": [0, 1, 1], + "476": [0, 1, 1], "478": [0, 2, 1], "479-heat": [0, 1, 1], "479-wash": [0, 1, 1], @@ -1307,8 +1425,9 @@ "480": [1, 1, 1], "481": [1, 1, 1], "482": [1, 1, 1], - "485": [0, 1, 1], "486": [0, 1 , 1 - ] ,"487-altered": [0, 1, 1], + "485": [0, 1, 1], + "486": [0, 1 , 1] , + "487-altered": [0, 1, 1], "487-origin": [0, 1, 1], "488": [0, 1, 1], "489": [1, 1, 1], @@ -1320,11 +1439,22 @@ "495": [0, 1, 1], "496": [0, 1, 1], "497": [0, 1, 1], + "498": [0, 1, 1], + "499": [0, 1, 1], + "500": [0, 1, 1], "501": [0, 1, 1], "502": [0, 1, 1], "503": [0, 1, 1], + "511": [0, 1, 1], + "512": [0, 1, 1], + "513": [0, 1, 1], + "514": [0, 1, 1], + "515": [0, 1, 1], + "516": [0, 1, 1], "517": [0, 1, 1], "518": [0, 1, 1], + "522": [0, 1, 1], + "523": [0, 1, 1], "524": [0, 1, 1], "525": [0, 1, 1], "526": [0, 1, 1], @@ -1337,6 +1467,9 @@ "532": [0, 1, 1], "533": [0, 1, 1], "534": [0, 1, 1], + "535": [0, 1, 1], + "536": [0, 1, 1], + "537": [0, 1, 1], "538": [0, 1, 1], "539": [0, 2, 2], "540": [0, 1, 1], @@ -1352,17 +1485,23 @@ "551": [0, 1, 1], "552": [0, 1, 1], "553": [0, 1, 1], + "554": [0, 1, 1], + "555": [0, 1, 1], + "555-zen": [0, 1, 1], "556": [0, 1, 1], "559": [1, 1, 1], "560": [1, 1, 1], "562": [0, 1, 1], "563": [0, 1, 1], + "566": [0, 1, 1], + "567": [0, 1, 1], "568": [0, 1, 1], "569-gigantamax": [0, 1, 1], "569": [0, 1, 1], "570": [0, 1, 1], "571": [0, 1, 1], "572": [0, 1, 1], + "573": [0, 1, 1], "577": [1, 1, 1], "578": [1, 1, 1], "579": [1, 1, 1], @@ -1403,6 +1542,7 @@ "621": [0, 1, 1], "622": [0, 1, 1], "623": [0, 1, 1], + "626": [0, 1, 1], "631": [0, 2, 2], "632": [0, 1, 1], "633": [0, 1, 1], @@ -1411,12 +1551,11 @@ "636": [0, 1, 1], "637": [0, 1, 1], "640": [0, 1, 1], - "641-incarnate": [0, 0, 0], - "641-therian": [0, 0, 0], - "642-incarnate": [0, 0, 0], - "642-therian": [0, 0, 0], - "645-incarnate": [0, 0, 0], - "645-therian": [0, 0, 0], + "643": [0, 1, 1], + "644": [0, 1, 1], + "646-black": [0, 1, 1], + "646-white": [0, 1, 1], + "646": [0, 1, 1], "647-resolute": [0, 1, 1], "647-ordinary": [0, 1, 1], "648-aria": [0, 1, 1], @@ -1493,6 +1632,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "698": [0, 1, 1], @@ -1523,6 +1664,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 1, 1], "748": [0, 1, 1], "751": [0, 1, 1], @@ -1561,6 +1704,10 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], + "782": [0, 1, 1], + "783": [0, 1, 1], + "784": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791-radiant-sun": [0, 1, 1], @@ -1593,6 +1740,11 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 1, 1], + "840": [0, 1, 1], + "841-gigantamax": [0, 1, 1], + "841": [0, 1, 1], + "842-gigantamax": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851-gigantamax": [0, 1, 1], "851": [0, 1, 1], @@ -1610,6 +1762,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -1708,14 +1861,18 @@ "1007-apex-build": [0, 2, 2], "1008-ultimate-mode": [1, 1, 1], "1010": [0, 1, 1], + "1011": [0, 1, 1], "1012-counterfeit": [0, 1, 1], "1013-unremarkable": [0, 1, 1], "1018": [0, 1, 1], + "1019": [0, 1, 1], "1022": [0, 2, 2], "1023": [0, 1, 1], "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 1], "2103": [0, 1, 1], @@ -1790,12 +1947,20 @@ "307": [0, 1, 1], "308": [0, 1, 1], "315": [0, 1, 1], + "332": [0, 1, 1], "369": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 2, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 1, 1], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "407": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 2, 2], "419": [0, 1, 1], "424": [0, 1, 1], diff --git a/public/images/pokemon/variant/back/1011.json b/public/images/pokemon/variant/back/1011.json new file mode 100644 index 00000000000..d8cffc4d587 --- /dev/null +++ b/public/images/pokemon/variant/back/1011.json @@ -0,0 +1,29 @@ +{ + "1": { + "b09579": "7b91a7", + "253922": "232b3a", + "fd9477": "63b9b9", + "345539": "313d4b", + "9c1e2a": "272a52", + "7eb36a": "9aa0b3", + "9fc164": "9aa0b3", + "8e9960": "67698b", + "c73030": "2b526f", + "e64d3c": "397880", + "477d45": "67698b", + "61071f": "190e2e" + }, + "2": { + "253922": "2e0920", + "fd9477": "f3efde", + "345539": "4f162a", + "9c1e2a": "9c564c", + "7eb36a": "e8838d", + "9fc164": "e28c95", + "8e9960": "9e4553", + "c73030": "d1a87e", + "e64d3c": "eee0bc", + "477d45": "903c4e", + "61071f": "4f0a1d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/1019.json b/public/images/pokemon/variant/back/1019.json new file mode 100644 index 00000000000..b8e674f2357 --- /dev/null +++ b/public/images/pokemon/variant/back/1019.json @@ -0,0 +1,44 @@ +{ + "1": { + "8b1313": "302752", + "746739": "582c74", + "6ba835": "7a7c9e", + "b49779": "9c2e72", + "9ce05f": "9aa0b3", + "bf2b2e": "abd7e2", + "d43e2d": "4e969e", + "841111": "302752", + "ae2124": "663267", + "ff7a59": "69c5c5", + "680606": "27103c", + "b72629": "2b526f", + "b59a7d": "a3b9d0", + "3e662b": "313846", + "e8cfb4": "c55885", + "82664a": "48476c", + "a60b0b": "70a2c5", + "e9cfb3": "dcebf9", + "3c9b3e": "e8edff" + }, + "2": { + "8b1313": "413534", + "746739": "312374", + "6ba835": "a8546e", + "b49779": "402622", + "9ce05f": "e28c95", + "bf2b2e": "e8e5de", + "d43e2d": "eedfb8", + "841111": "4b211b", + "ae2124": "63473b", + "ff7a59": "f3efde", + "680606": "4b211b", + "b72629": "bf9870", + "b59a7d": "cbb4af", + "3e662b": "341c1c", + "e8cfb4": "5d4c45", + "82664a": "613838", + "a60b0b": "c7c2bc", + "e9cfb3": "e2dcd6", + "3c9b3e": "5e75e2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/143-gigantamax.json b/public/images/pokemon/variant/back/143-gigantamax.json new file mode 100644 index 00000000000..ffe8e7a31cd --- /dev/null +++ b/public/images/pokemon/variant/back/143-gigantamax.json @@ -0,0 +1,62 @@ +{ + "1": { + "101010": "101010", + "624120": "544a41", + "5e3e1d": "351b52", + "31573f": "7b59ba", + "54792b": "c06386", + "103941": "701a55", + "315a7b": "943469", + "bd3740": "c94489", + "a3704e": "522663", + "a47352": "6b6357", + "ad7f5f": "b56564", + "de5656": "d65a8a", + "069f5f": "b083de", + "89b432": "f1a1b2", + "bbe35b": "f1a1b2", + "98a0a0": "98a0a0", + "a0a0a0": "a0a0a0", + "fc8b9f": "ed7794", + "e6c5ac": "cf8880", + "f6e6bd": "f0beb1", + "c9c9c9": "c9c9c9", + "f4f4f4": "f4f4f4", + "4d6e27": "5c9bb8", + "91ba3d": "6bc7c7", + "93bf39": "74c2cf", + "bee366": "8de3d7", + "d95b7f": "c24a6c", + "fc92a6": "fc92a6" + }, + "2": { + "101010": "101010", + "624120": "ba6632", + "5e3e1d": "c2986e", + "31573f": "4b4c52", + "54792b": "208073", + "103941": "93b5c2", + "315a7b": "b6d6d9", + "bd3740": "9e4619", + "a3704e": "e6cda1", + "a47352": "cf9d48", + "ad7f5f": "284878", + "de5656": "bd742b", + "069f5f": "7c7c82", + "89b432": "37ad82", + "bbe35b": "79e0a2", + "98a0a0": "53738a", + "a0a0a0": "abd1cc", + "fc8b9f": "d9a443", + "e6c5ac": "27538a", + "f6e6bd": "36719c", + "c9c9c9": "b4d3d9", + "f4f4f4": "f4f4f4", + "4d6e27": "964117", + "91ba3d": "d9a65b", + "93bf39": "d9a250", + "bee366": "e6cf5e", + "d95b7f": "b77727", + "fc92a6": "d9b64c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/143.json b/public/images/pokemon/variant/back/143.json new file mode 100644 index 00000000000..7dc08d72559 --- /dev/null +++ b/public/images/pokemon/variant/back/143.json @@ -0,0 +1,32 @@ +{ + "1": { + "000000": "101010", + "103a42": "701a55", + "315a7b": "943469", + "528cad": "ad4b70", + "735a21": "91504e", + "737373": "756363", + "a57352": "b36462", + "c59c5a": "b36462", + "cecece": "cbc4c4", + "e6c5ad": "cf8880", + "f7d6bd": "e09f96", + "f7e6bd": "f0beb1", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "103a42": "93b5c2", + "315a7b": "b6d6d9", + "528cad": "d5e8e7", + "735a21": "1b2e61", + "737373": "525266", + "a57352": "1b2e61", + "c59c5a": "20386e", + "cecece": "bfc7cb", + "e6c5ad": "284878", + "f7d6bd": "38638f", + "f7e6bd": "457ca8", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/187.json b/public/images/pokemon/variant/back/187.json new file mode 100644 index 00000000000..7e0d1dca511 --- /dev/null +++ b/public/images/pokemon/variant/back/187.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "425a10": "934200", + "52843a": "c27600", + "63bd5a": "efac00", + "8c083a": "012a3e", + "9cde5a": "ffdc46", + "b56373": "003e53", + "ff7b94": "006d7f", + "f79cb5": "00a59b", + "ffc500": "e3396c", + "ffff00": "ffa8b6" + }, + "2": { + "101010": "101010", + "425a10": "5f0052", + "52843a": "960070", + "63bd5a": "960070", + "8c083a": "802600", + "9cde5a": "e01c75", + "b56373": "d8591c", + "ff7b94": "fa9600", + "f79cb5": "ffc93b", + "ffc500": "5ec0ec", + "ffff00": "94ecf9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/188.json b/public/images/pokemon/variant/back/188.json new file mode 100644 index 00000000000..a674bbf244e --- /dev/null +++ b/public/images/pokemon/variant/back/188.json @@ -0,0 +1,30 @@ +{ + "1": { + "000000": "101010", + "196b00": "c66b31", + "42b521": "e99f23", + "63d631": "ffd953", + "8c5200": "004269", + "8cf74a": "fef579", + "b5d6de": "fa9600", + "ce8400": "075976", + "f7a519": "005883", + "ffd600": "046c90", + "ffef00": "007b9a", + "ffffff": "ffc93b" + }, + "2": { + "000000": "101010", + "196b00": "2659ad", + "42b521": "5293d5", + "63d631": "79d5fa", + "8c5200": "5f0052", + "8cf74a": "a6eafa", + "b5d6de": "fa9600", + "ce8400": "9d0562", + "f7a519": "960070", + "ffd600": "ba0071", + "ffef00": "e01c75", + "ffffff": "ffc93b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/189.json b/public/images/pokemon/variant/back/189.json new file mode 100644 index 00000000000..ed1e40ed4b3 --- /dev/null +++ b/public/images/pokemon/variant/back/189.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "194a73": "b64d21", + "29844a": "83839f", + "3a73c5": "e19903", + "739cff": "fcd936", + "84ce7b": "c1bdd1", + "8cb5ff": "f9f870", + "b58c31": "071a3c", + "d6bd5a": "282773", + "ded67b": "2192b2", + "efe69c": "104f80", + "fff7b5": "1379a0", + "ffffde": "2faac4" + }, + "2": { + "101010": "101010", + "194a73": "680054", + "29844a": "3887d3", + "3a73c5": "980062", + "739cff": "d20d6a", + "84ce7b": "58c1eb", + "8cb5ff": "e4486a", + "b58c31": "da5014", + "d6bd5a": "f06f22", + "ded67b": "fce37b", + "efe69c": "ffa747", + "fff7b5": "ffd45a", + "ffffde": "f9f29b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/2037.json b/public/images/pokemon/variant/back/2037.json new file mode 100644 index 00000000000..0d2c02cf980 --- /dev/null +++ b/public/images/pokemon/variant/back/2037.json @@ -0,0 +1,22 @@ +{ + "1": { + "151515": "101010", + "558b9f": "9f435d", + "648082": "6e67b0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "558b9f": "90215e", + "648082": "bf4747", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/2038.json b/public/images/pokemon/variant/back/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/back/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/204.json b/public/images/pokemon/variant/back/204.json new file mode 100644 index 00000000000..1e4007149cb --- /dev/null +++ b/public/images/pokemon/variant/back/204.json @@ -0,0 +1,16 @@ +{ + "1": { + "52adb5": "a4b76b", + "84d6d6": "c1cd7d", + "294a7b": "4b7641", + "b5eff7": "e3e796", + "3a73a5": "74a057" + }, + "2": { + "52adb5": "d46b84", + "84d6d6": "eda6ae", + "294a7b": "700a4b", + "b5eff7": "f7dcd7", + "3a73a5": "b43469" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/205.json b/public/images/pokemon/variant/back/205.json new file mode 100644 index 00000000000..5a3e2d61606 --- /dev/null +++ b/public/images/pokemon/variant/back/205.json @@ -0,0 +1,22 @@ +{ + "1": { + "847b9c": "103b2c", + "e6cef7": "3e7745", + "ff9c9c": "ffb356", + "c5a5de": "205639", + "f76373": "f68b31", + "bd2942": "d8681e", + "524263": "04211a", + "841031": "af3b11" + }, + "2": { + "847b9c": "962a41", + "e6cef7": "e9b1a0", + "ff9c9c": "b0f5ee", + "c5a5de": "c86554", + "f76373": "6bbfd2", + "bd2942": "2c6094", + "524263": "691338", + "841031": "0e2667" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/299.json b/public/images/pokemon/variant/back/299.json new file mode 100644 index 00000000000..3b2cd15e3cd --- /dev/null +++ b/public/images/pokemon/variant/back/299.json @@ -0,0 +1,28 @@ +{ + "1": { + "000000": "101010", + "5a1921": "1f3a30", + "31314a": "6b2710", + "9c314a": "30594a", + "de5252": "487c60", + "ff6b7b": "5a9170", + "42529c": "a14020", + "637bbd": "c66831", + "ff9494": "7fbc7a", + "8ca5e6": "db8644", + "adbdf7": "e09a65" + }, + "2": { + "000000": "101010", + "5a1921": "28163a", + "31314a": "38619e", + "9c314a": "452b5e", + "de5252": "584282", + "ff6b7b": "675398", + "42529c": "68a2cd", + "637bbd": "99e4ee", + "ff9494": "7282c4", + "8ca5e6": "dcfff8", + "adbdf7": "f3fff6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/313.json b/public/images/pokemon/variant/back/313.json new file mode 100644 index 00000000000..65a1cfe9eae --- /dev/null +++ b/public/images/pokemon/variant/back/313.json @@ -0,0 +1,28 @@ +{ + "1": { + "a5b5c5": "eea256", + "4a4a52": "9c1200", + "deb552": "ffda31", + "7b8ca5": "d66d38", + "ce3a52": "491c22", + "f78473": "643a35", + "8c6b52": "845c46", + "ffe652": "fffa52", + "8c314a": "2b1419", + "8c8c94": "ff3b21", + "e65263": "57272c" + }, + "2": { + "a5b5c5": "3a767b", + "4a4a52": "175614", + "deb552": "b6d479", + "7b8ca5": "1e5256", + "ce3a52": "1585cc", + "f78473": "77d4ee", + "8c6b52": "5c713d", + "ffe652": "dde6b1", + "8c314a": "0c4275", + "8c8c94": "0ba905", + "e65263": "32b0ff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/314.json b/public/images/pokemon/variant/back/314.json new file mode 100644 index 00000000000..f77165c7b15 --- /dev/null +++ b/public/images/pokemon/variant/back/314.json @@ -0,0 +1,30 @@ +{ + "1": { + "9c8452": "ac6f0e", + "5a6b8c": "9a4013", + "8cadce": "d66d38", + "ce8cde": "6a342c", + "ffe673": "fbf650", + "7b7b7b": "b82b18", + "e6b54a": "efcb26", + "3a3a3a": "6b180d", + "9c52bd": "57272c", + "adc5ef": "eea256", + "3a3152": "2d0723", + "6b5a94": "2b1419" + }, + "2": { + "9c8452": "074656", + "5a6b8c": "70a84f", + "8cadce": "c1db9c", + "ce8cde": "77d4ee", + "ffe673": "3dc5d3", + "7b7b7b": "155870", + "e6b54a": "019792", + "3a3a3a": "0a2934", + "9c52bd": "43a3df", + "adc5ef": "e5edcc", + "3a3152": "051b37", + "6b5a94": "255b95" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/32.json b/public/images/pokemon/variant/back/32.json new file mode 100644 index 00000000000..473edcae2af --- /dev/null +++ b/public/images/pokemon/variant/back/32.json @@ -0,0 +1,34 @@ +{ + "1": { + "101010": "101010", + "006342": "273161", + "63426b": "944f25", + "b51900": "28678a", + "de4229": "42adc1", + "ff6b52": "78d6d3", + "00a573": "3b4d7a", + "9c4aad": "ab5c24", + "bd63c5": "cf863e", + "19ce9c": "55729e", + "e69cd6": "e0c151", + "efbdef": "ede4ab", + "cecece": "cecece", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "006342": "b0384a", + "63426b": "142440", + "b51900": "b86527", + "de4229": "e1b13b", + "ff6b52": "eddd95", + "00a573": "d65e64", + "9c4aad": "133257", + "bd63c5": "253f5e", + "19ce9c": "ed938e", + "e69cd6": "375c73", + "efbdef": "5d91a1", + "cecece": "cecece", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/325.json b/public/images/pokemon/variant/back/325.json new file mode 100644 index 00000000000..1918b48adfd --- /dev/null +++ b/public/images/pokemon/variant/back/325.json @@ -0,0 +1,24 @@ +{ + "1": { + "ef84ad": "5ca0b5", + "f7a5bd": "6ac5c8", + "c5637b": "3c6b95", + "ffd6e6": "b4e6e7", + "7b7b8c": "559b43", + "5a5a73": "2e7320", + "a5a5ad": "b5d780", + "a53a42": "2b4d7d", + "3a4252": "18340c" + }, + "2": { + "ef84ad": "1f6759", + "f7a5bd": "379a85", + "c5637b": "144844", + "ffd6e6": "8dd6ab", + "7b7b8c": "dca878", + "5a5a73": "a7724a", + "a5a5ad": "fbe3a3", + "a53a42": "0c2625", + "3a4252": "72442d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/326.json b/public/images/pokemon/variant/back/326.json new file mode 100644 index 00000000000..eb1c4954208 --- /dev/null +++ b/public/images/pokemon/variant/back/326.json @@ -0,0 +1,30 @@ +{ + "1": { + "9c9ca5": "7ecdd1", + "d684ce": "7bb15b", + "636373": "3c6b95", + "6b426b": "559b43", + "ce5a7b": "d06d50", + "a5425a": "a84331", + "f7a5b5": "f7d1a0", + "ef7b94": "e99e76", + "bd63ad": "559b43", + "e6a5de": "b5d780", + "4a4a52": "2b4d7d", + "7b7b84": "5ca0b5" + }, + "2": { + "9c9ca5": "fffade", + "d684ce": "67508c", + "636373": "e8bc75", + "6b426b": "081f19", + "ce5a7b": "1f6759", + "a5425a": "144844", + "f7a5b5": "5cba98", + "ef7b94": "379a85", + "bd63ad": "574285", + "e6a5de": "7a649c", + "4a4a52": "d08f55", + "7b7b84": "fbefb3" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/33.json b/public/images/pokemon/variant/back/33.json new file mode 100644 index 00000000000..331220de9ef --- /dev/null +++ b/public/images/pokemon/variant/back/33.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a3a63": "944f25", + "b51900": "b51900", + "de4229": "de4229", + "845a52": "42adc1", + "009463": "273161", + "945ab5": "cf863e", + "4acea5": "55729e", + "848484": "848484", + "ce84de": "e0c151", + "e6adef": "ede4ab", + "c5c5c5": "c5c5c5", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a3a63": "142440", + "b51900": "d98943", + "de4229": "edc85a", + "845a52": "e1b13b", + "009463": "b0384a", + "945ab5": "253f5e", + "4acea5": "ed938e", + "848484": "848484", + "ce84de": "375c73", + "e6adef": "5d91a1", + "c5c5c5": "c5c5c5", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/331.json b/public/images/pokemon/variant/back/331.json new file mode 100644 index 00000000000..7dcb633affb --- /dev/null +++ b/public/images/pokemon/variant/back/331.json @@ -0,0 +1,30 @@ +{ + "1": { + "003a10": "601130", + "ffe63a": "7aa1df", + "31944a": "b73736", + "215200": "69102c", + "63bd6b": "dd6754", + "f7bd19": "448bc3", + "4a7310": "9f2a3f", + "196b31": "891d2c", + "94c552": "d76868", + "739c3a": "d74f4f", + "8c6b3a": "123a5a", + "bdde7b": "e67f7f" + }, + "2": { + "003a10": "684531", + "ffe63a": "eaa5c6", + "31944a": "c09e6c", + "215200": "694426", + "63bd6b": "d9c985", + "f7bd19": "d979b2", + "4a7310": "6d3494", + "196b31": "946e51", + "94c552": "9364a5", + "739c3a": "7c558d", + "8c6b3a": "983364", + "bdde7b": "a772bd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/332.json b/public/images/pokemon/variant/back/332.json new file mode 100644 index 00000000000..c13c07c34b4 --- /dev/null +++ b/public/images/pokemon/variant/back/332.json @@ -0,0 +1,28 @@ +{ + "1": { + "319452": "831a1f", + "4aa552": "9f2f2c", + "7ba563": "b44040", + "8cbd63": "c54b4b", + "215200": "710f2f", + "196b21": "831a1f", + "a5d674": "df5252", + "4a7310": "982443", + "a5d673": "e16363", + "63b56b": "b2332f", + "215201": "630d28" + }, + "2": { + "319452": "b08d72", + "4aa552": "c5a77f", + "7ba563": "704e7e", + "8cbd63": "e3d7a6", + "215200": "3f3249", + "196b21": "b08d72", + "a5d674": "d7cda7", + "4a7310": "4f3956", + "a5d673": "8c669b", + "63b56b": "cfc191", + "215201": "583823" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/34.json b/public/images/pokemon/variant/back/34.json new file mode 100644 index 00000000000..953d0276777 --- /dev/null +++ b/public/images/pokemon/variant/back/34.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a296b": "7a411d", + "73735a": "696342", + "73735b": "73735b", + "73735c": "3b447a", + "a55294": "cf863e", + "d673ef": "e0c151", + "c5c5a5": "6272a8", + "c7c7a9": "c7c7a9", + "c4c4a7": "c4c4a7", + "de94f7": "ede4ab", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a296b": "142440", + "73735a": "a37355", + "73735b": "73735b", + "73735c": "85204a", + "a55294": "253f5e", + "d673ef": "375c73", + "c5c5a5": "c43d63", + "c7c7a9": "e0b990", + "c4c4a7": "c4c4a7", + "de94f7": "5d91a1", + "fcfcfc": "fcfcfc", + "ffffff": "ede1b4" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/345.json b/public/images/pokemon/variant/back/345.json new file mode 100644 index 00000000000..c7b0d665e29 --- /dev/null +++ b/public/images/pokemon/variant/back/345.json @@ -0,0 +1,28 @@ +{ + "1": { + "633a84": "611746", + "efd663": "fcf3a2", + "bd5284": "6084bd", + "6b5221": "679e3a", + "b5ade6": "ff5289", + "d6a531": "d8e374", + "efadb5": "b9f0ff", + "7363b5": "801f4c", + "ce7394": "84aedb", + "843a5a": "394287", + "9c84ce": "bd3167" + }, + "2": { + "633a84": "b57c2d", + "efd663": "de463e", + "bd5284": "429949", + "6b5221": "661634", + "b5ade6": "fff8a3", + "d6a531": "942532", + "efadb5": "beed9a", + "7363b5": "dbb34d", + "ce7394": "7fcc68", + "843a5a": "296e47", + "9c84ce": "f5df73" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/346.json b/public/images/pokemon/variant/back/346.json new file mode 100644 index 00000000000..d2b5406f75a --- /dev/null +++ b/public/images/pokemon/variant/back/346.json @@ -0,0 +1,30 @@ +{ + "1": { + "ffd6ef": "deffea", + "3a6b52": "7f183f", + "a57b10": "5e8c29", + "a5e68c": "f38460", + "ce6394": "526f84", + "ef6b8c": "93c6c5", + "7bc573": "eb564b", + "ff9cad": "d2faef", + "f7d642": "d8e374", + "cea531": "a7c961", + "944263": "304459", + "529c5a": "b32843" + }, + "2": { + "ffd6ef": "a3ffc3", + "3a6b52": "96483b", + "a57b10": "661634", + "a5e68c": "ffe6b5", + "ce6394": "32806f", + "ef6b8c": "53b491", + "7bc573": "efbd8c", + "ff9cad": "7be3b6", + "f7d642": "de463e", + "cea531": "942532", + "944263": "17404a", + "529c5a": "bf815c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/396.json b/public/images/pokemon/variant/back/396.json new file mode 100644 index 00000000000..00ffa97fd19 --- /dev/null +++ b/public/images/pokemon/variant/back/396.json @@ -0,0 +1,36 @@ +{ + "1": { + "d6dede": "e3d09d", + "949494": "dbb070", + "736363": "28854d", + "ffffff": "f0ecd3", + "382028": "751e23", + "d67300": "db963b", + "b5b5b5": "d4b27f", + "808080": "c48c51", + "9c4a21": "b06421", + "8c7373": "bd453c", + "3a2129": "07332d", + "524a4a": "156146", + "4f4747": "144a40", + "ad9c9c": "ed7f4c", + "ff9429": "ffcf5e" + }, + "2": { + "d6dede": "f0deaa", + "949494": "c29b72", + "736363": "2f436b", + "ffffff": "fcfad2", + "382028": "163d4d", + "d67300": "52281f", + "b5b5b5": "debd8c", + "808080": "a67c5d", + "9c4a21": "451915", + "8c7373": "307b82", + "3a2129": "0f1730", + "524a4a": "1b2745", + "4f4747": "e6a647", + "ad9c9c": "4da8a1", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/397.json b/public/images/pokemon/variant/back/397.json new file mode 100644 index 00000000000..d1f7e646649 --- /dev/null +++ b/public/images/pokemon/variant/back/397.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "bd453c", + "574f57": "144a40", + "5a525a": "28854d", + "f75242": "8bba65", + "878787": "bda377", + "b5b5b5": "d9c798", + "ff9429": "ffcf5e", + "382f38": "0c3331", + "3a313a": "156146", + "362d36": "572e14", + "fcfcfc": "f0ebc5", + "bd6300": "994c1c", + "7b4221": "c47a2f", + "523a4a": "751e23", + "9c848c": "ed7f4c" + }, + "2": { + "735a63": "307b82", + "574f57": "e6a647", + "5a525a": "2f436b", + "f75242": "f797ad", + "878787": "ba946e", + "b5b5b5": "debd8c", + "ff9429": "8c604c", + "382f38": "c27b34", + "3a313a": "1b2745", + "362d36": "421917", + "fcfcfc": "fcfad2", + "bd6300": "63362b", + "7b4221": "52281f", + "523a4a": "163d4d", + "9c848c": "4da8a1" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/398.json b/public/images/pokemon/variant/back/398.json new file mode 100644 index 00000000000..ed678a4c4f3 --- /dev/null +++ b/public/images/pokemon/variant/back/398.json @@ -0,0 +1,35 @@ +{ + "1": { + "9c4242": "5fad3b", + "5c545c": "144a40", + "3a313a": "0b3634", + "7b4221": "b06421", + "bd6300": "db963b", + "5a525a": "156146", + "7b6b7b": "28854d", + "f75242": "90cc58", + "735a63": "bd453c", + "ffffff": "e8e3b6", + "523a4a": "751e23", + "3a3a3a": "07332d", + "b5b5b5": "d7be89", + "9c848c": "ed7f4c", + "ff9429": "ffcf5e" + }, + "2": { + "9c4242": "c4833d", + "5c545c": "e6a647", + "7b4221": "421917", + "bd6300": "63362b", + "5a525a": "1b2745", + "7b6b7b": "293854", + "f75242": "e6bd4e", + "735a63": "307b82", + "ffffff": "fcfad2", + "523a4a": "163d4d", + "3a3a3a": "080d1f", + "b5b5b5": "debd8c", + "9c848c": "4da8a1", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/403.json b/public/images/pokemon/variant/back/403.json new file mode 100644 index 00000000000..4b8d7b52070 --- /dev/null +++ b/public/images/pokemon/variant/back/403.json @@ -0,0 +1,22 @@ +{ + "1": { + "b59c5a": "45babf", + "7badf7": "bb5c3a", + "637bb5": "903325", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "42426b": "671919", + "736352": "267789" + }, + "2": { + "b59c5a": "9a31be", + "7badf7": "303465", + "637bb5": "222352", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "42426b": "121031", + "736352": "611c7f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/404.json b/public/images/pokemon/variant/back/404.json new file mode 100644 index 00000000000..32ab9ea8a1d --- /dev/null +++ b/public/images/pokemon/variant/back/404.json @@ -0,0 +1,24 @@ +{ + "1": { + "736352": "267789", + "4a4a73": "671919", + "63637b": "f1dfb1", + "637bb5": "903325", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "b59c5a": "45babf", + "7badf7": "bb5c3a" + }, + "2": { + "736352": "611c7f", + "4a4a73": "121031", + "63637b": "dee4f4", + "637bb5": "222352", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "b59c5a": "9a31be", + "7badf7": "303465" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/405.json b/public/images/pokemon/variant/back/405.json new file mode 100644 index 00000000000..46a38cfd243 --- /dev/null +++ b/public/images/pokemon/variant/back/405.json @@ -0,0 +1,30 @@ +{ + "1": { + "b59c5a": "45babf", + "7badf7": "bb5c3a", + "63637b": "f1dfb1", + "4a4a73": "671919", + "637bb5": "903325", + "353255": "4a0e15", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "943a52": "472614", + "e64a52": "4f3217", + "736352": "267789" + }, + "2": { + "b59c5a": "9a31be", + "7badf7": "303465", + "63637b": "dee4f4", + "4a4a73": "121031", + "637bb5": "222352", + "353255": "06051b", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "943a52": "614b9a", + "e64a52": "6f5dac", + "736352": "611c7f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/417.json b/public/images/pokemon/variant/back/417.json new file mode 100644 index 00000000000..27f45e74557 --- /dev/null +++ b/public/images/pokemon/variant/back/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "5ae7f6", + "ffd663": "8ffaff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/420.json b/public/images/pokemon/variant/back/420.json new file mode 100644 index 00000000000..3177603d799 --- /dev/null +++ b/public/images/pokemon/variant/back/420.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "423131": "103d47", + "6b3a4a": "09303b", + "314252": "8f3833", + "3a734a": "ab554b", + "843152": "185158", + "ad426b": "368a7f", + "429442": "d98b77", + "52a54a": "f7bfa8", + "73ce5a": "fcdbc7", + "de6384": "51b095", + "ff8cad": "73d9ae", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "423131": "390f26", + "6b3a4a": "29091b", + "314252": "752a4a", + "3a734a": "9c4861", + "843152": "3b0d21", + "ad426b": "571539", + "429442": "a86a79", + "52a54a": "c29597", + "73ce5a": "dec3c3", + "de6384": "752648", + "ff8cad": "ad5168", + "ffffff": "ffffff" + } + } \ No newline at end of file diff --git a/public/images/pokemon/variant/back/421-overcast.json b/public/images/pokemon/variant/back/421-overcast.json new file mode 100644 index 00000000000..77c5c18415d --- /dev/null +++ b/public/images/pokemon/variant/back/421-overcast.json @@ -0,0 +1,34 @@ +{ + "1": { + "101010": "101010", + "105221": "ab554b", + "4a2942": "5e1228", + "7b294a": "103d47", + "7a2a4a": "236e6a", + "427b4a": "d98b77", + "6b427b": "962a3e", + "a53a63": "368a7f", + "ce527b": "51b095", + "52ad5a": "f7bfa8", + "5ac55a": "fcdbc7", + "845aad": "c75058", + "9c7bbd": "db7f7f", + "de7394": "73d9ae" + }, + "2": { + "101010": "101010", + "105221": "995969", + "4a2942": "521d44", + "7b294a": "390f26", + "7a2a4a": "571539", + "427b4a": "ba8087", + "6b427b": "8f4270", + "a53a63": "611c3b", + "ce527b": "752648", + "52ad5a": "cf9d9d", + "5ac55a": "e3cbca", + "845aad": "a86886", + "9c7bbd": "d197ac", + "de7394": "ad5168" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/421-sunshine.json b/public/images/pokemon/variant/back/421-sunshine.json new file mode 100644 index 00000000000..096641576c9 --- /dev/null +++ b/public/images/pokemon/variant/back/421-sunshine.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "006310": "e6d590", + "941e3f": "103d47", + "9c6b10": "c4655a", + "941f40": "5c1547", + "942142": "591230", + "ce3a6b": "751a38", + "cf3c6d": "872e5c", + "cf3e6e": "368a7f", + "19943a": "f0f0bd", + "d6b55a": "db8e7d", + "f7de73": "f7bfa8", + "e66394": "51b095", + "de84ad": "962a3e", + "ffa5c5": "c75058", + "ffe6f7": "d0fdf0", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "006310": "72559e", + "941e3f": "390f26", + "9c6b10": "4a2942", + "941f40": "3a234a", + "942142": "804058", + "ce3a6b": "995969", + "cf3c6d": "563666", + "cf3e6e": "571539", + "19943a": "9574b3", + "d6b55a": "914972", + "f7de73": "b35f86", + "e66394": "752648", + "de84ad": "cf9d9d", + "ffa5c5": "e3cbca", + "ffe6f7": "d26393", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/446.json b/public/images/pokemon/variant/back/446.json new file mode 100644 index 00000000000..1f6d43127bb --- /dev/null +++ b/public/images/pokemon/variant/back/446.json @@ -0,0 +1,38 @@ +{ + "1": { + "000000": "101010", + "104242": "4d0f3f", + "215a73": "701a55", + "317b9c": "943469", + "3194b5": "ad4b70", + "524a10": "91504e", + "73737b": "756363", + "7b5a31": "522663", + "948442": "bf777a", + "9c3a42": "714084", + "b5b563": "de9494", + "cccfce": "cbc4c4", + "cecece": "cecece", + "de9494": "a270b5", + "efe684": "f0beb1", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "104242": "6398b7", + "215a73": "a3cacd", + "317b9c": "cbe4e2", + "3194b5": "edf5f4", + "524a10": "233f69", + "73737b": "525266", + "7b5a31": "e6cda1", + "948442": "2f4d80", + "9c3a42": "487d43", + "b5b563": "38638f", + "cccfce": "bfc7cb", + "cecece": "cecece", + "de9494": "9cb780", + "efe684": "4781a8", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/476.json b/public/images/pokemon/variant/back/476.json new file mode 100644 index 00000000000..5f54f51d1f9 --- /dev/null +++ b/public/images/pokemon/variant/back/476.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "5a2921": "0e291d", + "7b3129": "1e3f30", + "293a4a": "352310", + "3a4a5a": "59452f", + "bd3152": "30594a", + "e65a63": "578b6b", + "194a84": "62230e", + "3a63ad": "9d3a18", + "5a7bce": "c76227", + "ef7b8c": "77b472", + "739ce6": "de7f36", + "84adf7": "e68c43", + "c5cede": "c5cede", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a2921": "21132c", + "7b3129": "301b3f", + "293a4a": "111b28", + "3a4a5a": "253142", + "bd3152": "482a5e", + "e65a63": "6a5394", + "194a84": "30578e", + "3a63ad": "5b97c1", + "5a7bce": "92dee8", + "ef7b8c": "747fc4", + "739ce6": "dbfff4", + "84adf7": "c2efe5", + "c5cede": "c5cede", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/498.json b/public/images/pokemon/variant/back/498.json new file mode 100644 index 00000000000..ecc0ccf7a98 --- /dev/null +++ b/public/images/pokemon/variant/back/498.json @@ -0,0 +1,44 @@ +{ + "1": { + "101010": "101010", + "2e1e1e": "b1a385", + "2e1f1f": "d1c5ab", + "302020": "194737", + "312121": "1e2a4d", + "473830": "f7f5e9", + "4a3a31": "2d405c", + "7a3827": "1c2e1b", + "7b3a29": "194737", + "947310": "cc955e", + "bd6331": "3b805f", + "ce423a": "3e4f37", + "a54a42": "2d452b", + "e66b29": "b5cca5", + "efbd08": "f0cc8b", + "ef843a": "65b57c", + "c5ada5": "c1c5a5", + "ffffff": "ffffff", + "47382f": "472770" + }, + "2": { + "101010": "101010", + "2e1e1e": "ac8b61", + "2e1f1f": "c4a884", + "302020": "522e2e", + "312121": "47150e", + "473830": "e0d3ab", + "4a3a31": "733421", + "7a3827": "222742", + "7b3a29": "522e2e", + "947310": "828399", + "bd6331": "85564e", + "ce423a": "323754", + "a54a42": "4c5275", + "e66b29": "778aa6", + "efbd08": "c7c8d9", + "ef843a": "ab8274", + "c5ada5": "dddef0", + "ffffff": "ffffff", + "47382f": "456da8" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/499.json b/public/images/pokemon/variant/back/499.json new file mode 100644 index 00000000000..ad525f3e114 --- /dev/null +++ b/public/images/pokemon/variant/back/499.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "3a2121": "1e2a4d", + "3a3a3a": "122b18", + "523129": "2d405c", + "7a3827": "1c2e1b", + "7b3a29": "234f3d", + "736310": "ab6441", + "4a4a4a": "264524", + "bd5a31": "41785a", + "ce423a": "3e4f37", + "ef7329": "62a174", + "b59421": "cc955e", + "efc53a": "f0cc8b", + "c5ada5": "c5ada5", + "c4aea7": "c4aea7", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "3a2121": "47150e", + "3a3a3a": "1c2245", + "523129": "733421", + "7a3827": "222742", + "7b3a29": "533330", + "736310": "3c3e5b", + "4a4a4a": "272d4f", + "bd5a31": "7a5a56", + "ce423a": "323754", + "ef7329": "967a71", + "b59421": "828399", + "efc53a": "c7c8d9", + "c5ada5": "c4a884", + "c4aea7": "c4aea7", + "fcfcfc": "e0d3ab", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/500.json b/public/images/pokemon/variant/back/500.json new file mode 100644 index 00000000000..55e8d8b6548 --- /dev/null +++ b/public/images/pokemon/variant/back/500.json @@ -0,0 +1,46 @@ +{ + "1": { + "101010": "101010", + "212121": "1e2a4d", + "313131": "2d405c", + "333333": "2c2f35", + "7b1910": "257036", + "7a1a11": "1c2e1b", + "732900": "2c473e", + "7b5a08": "ab6441", + "a33a31": "35963e", + "a53a31": "3e4f37", + "bd5221": "3e6952", + "ef6321": "699676", + "b58c21": "cc955e", + "ef8c08": "86e677", + "efbd08": "c7f797", + "f0be0a": "f0cc8b", + "adadad": "a3a6ad", + "f7f7f7": "e4eef5", + "e63129": "58db58", + "e33229": "627556" + }, + "2": { + "101010": "101010", + "212121": "47150e", + "313131": "733421", + "333333": "3b352b", + "7b1910": "ba843d", + "7a1a11": "20243d", + "732900": "522e2e", + "7b5a08": "3c3e5b", + "a33a31": "cfa255", + "a53a31": "2d3250", + "bd5221": "7a5a56", + "ef6321": "967a71", + "b58c21": "828399", + "ef8c08": "f2d591", + "efbd08": "faefc7", + "f0be0a": "c7c8d9", + "adadad": "c4a884", + "f7f7f7": "e0d3ab", + "e63129": "e3c65c", + "e33229": "464a66" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/511.json b/public/images/pokemon/variant/back/511.json new file mode 100644 index 00000000000..a5ca6fa862f --- /dev/null +++ b/public/images/pokemon/variant/back/511.json @@ -0,0 +1,20 @@ +{ + "1": { + "a57b3a": "c58869", + "ffce7b": "edc293", + "735221": "bd7653", + "cea55a": "d9a177", + "194a29": "912f1c", + "087331": "c45331", + "19a552": "d97b41" + }, + "2": { + "a57b3a": "5580bf", + "ffce7b": "8ecaed", + "735221": "3f6aa6", + "cea55a": "73acde", + "194a29": "4c2d7a", + "087331": "683b8c", + "19a552": "8a53a6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/512.json b/public/images/pokemon/variant/back/512.json new file mode 100644 index 00000000000..8d75727c3f0 --- /dev/null +++ b/public/images/pokemon/variant/back/512.json @@ -0,0 +1,26 @@ +{ + "1": { + "ffce7b": "eab68b", + "525252": "a36e46", + "087331": "c74638", + "194a29": "a12d25", + "ffffff": "dbc086", + "a57b3a": "a65b3d", + "cea55a": "c8895f", + "9c9c9c": "cfa067", + "735221": "733224", + "19a552": "ed6f53" + }, + "2": { + "ffce7b": "58aee0", + "525252": "3073ab", + "087331": "522880", + "194a29": "331961", + "ffffff": "5bc6de", + "a57b3a": "3762bf", + "cea55a": "4686cf", + "9c9c9c": "4099c2", + "735221": "2a42a1", + "19a552": "6e368f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/513.json b/public/images/pokemon/variant/back/513.json new file mode 100644 index 00000000000..5a8f4847bc9 --- /dev/null +++ b/public/images/pokemon/variant/back/513.json @@ -0,0 +1,20 @@ +{ + "1": { + "a57b3a": "e4907f", + "ffce7b": "ffe6c9", + "bd423a": "28629c", + "e65242": "3d9bbe", + "7b3131": "1b3e70", + "735221": "c3635b", + "cea55a": "f9b9a2" + }, + "2": { + "a57b3a": "bc2f2f", + "ffce7b": "ed8c7b", + "bd423a": "d5b393", + "e65242": "f4ecd7", + "7b3131": "ad7a63", + "735221": "a1272f", + "cea55a": "d4554c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/514.json b/public/images/pokemon/variant/back/514.json new file mode 100644 index 00000000000..90e7c698f29 --- /dev/null +++ b/public/images/pokemon/variant/back/514.json @@ -0,0 +1,27 @@ +{ + "1": { + "ffce7b": "ffe2bf", + "bd423a": "265494", + "e65242": "3a7bb5", + "7b3131": "193170", + "ffffff": "c0e7fc", + "735221": "ba6a57", + "c5c5c5": "97c0e6", + "cea55a": "edba9a", + "9c9c9c": "6f94c7", + "525252": "465f9e" + }, + "2": { + "ffce7b": "cc643b", + "bd423a": "cfb88f", + "e65242": "ede9d1", + "7b3131": "a88260", + "a57b3a": "782017", + "ffffff": "f7cc57", + "735221": "5c0e0e", + "c5c5c5": "e3a13d", + "cea55a": "943722", + "9c9c9c": "cc762b", + "525252": "ad4d1d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/515.json b/public/images/pokemon/variant/back/515.json new file mode 100644 index 00000000000..d8a7c4e9136 --- /dev/null +++ b/public/images/pokemon/variant/back/515.json @@ -0,0 +1,22 @@ +{ + "1": { + "ffce7b": "fff187", + "003a73": "0a4a2d", + "21739c": "136b3b", + "198cad": "219448", + "29b5de": "34c15e", + "cea55a": "e0c265", + "735221": "735f21", + "a57b3a": "b5893c" + }, + "2": { + "ffce7b": "e76092", + "003a73": "a64e8b", + "21739c": "cc70a4", + "198cad": "eb98bf", + "29b5de": "ffc9dd", + "cea55a": "cc4580", + "735221": "8f1f68", + "a57b3a": "b32e77" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/516.json b/public/images/pokemon/variant/back/516.json new file mode 100644 index 00000000000..ae188e87625 --- /dev/null +++ b/public/images/pokemon/variant/back/516.json @@ -0,0 +1,24 @@ +{ + "1": { + "ffce7b": "fadd73", + "106b8c": "13571a", + "003a73": "08420d", + "9c9c9c": "aecf86", + "a57b3a": "9c7935", + "cea55a": "c4a148", + "218ca5": "3c8c22", + "735221": "7b5e29", + "29b5de": "6fad37" + }, + "2": { + "ffce7b": "e76092", + "106b8c": "cc70a4", + "003a73": "a64e8b", + "9c9c9c": "59b7d4", + "a57b3a": "b32e77", + "cea55a": "cc4580", + "218ca5": "eb98bf", + "735221": "8f1f68", + "29b5de": "ffc9dd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/522.json b/public/images/pokemon/variant/back/522.json new file mode 100644 index 00000000000..9c301bca713 --- /dev/null +++ b/public/images/pokemon/variant/back/522.json @@ -0,0 +1,36 @@ +{ + "1": { + "a5a5a5": "676fc2", + "7b7b7b": "505a9b", + "525252": "95355d", + "cecece": "788bcb", + "161d1d": "2e0d1f", + "797878": "676fc2", + "005a9c": "75c239", + "505050": "3d4488", + "ffffff": "b9cfef", + "ffe600": "61e4bf", + "3a3a3a": "731f51", + "00adde": "b9e96c", + "8c7321": "33a08a", + "292929": "53173b", + "192121": "43172f" + }, + "2": { + "a5a5a5": "cb6a3a", + "7b7b7b": "731515", + "525252": "ebc37d", + "cecece": "97221a", + "161d1d": "370b0b", + "797878": "cb6a3a", + "005a9c": "30309d", + "505050": "4e1416", + "ffffff": "c23e2e", + "ffe600": "36c294", + "3a3a3a": "cd8a58", + "00adde": "3e4ddc", + "8c7321": "288278", + "292929": "914824", + "192121": "661212" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/523.json b/public/images/pokemon/variant/back/523.json new file mode 100644 index 00000000000..e8e37d6b7ab --- /dev/null +++ b/public/images/pokemon/variant/back/523.json @@ -0,0 +1,44 @@ +{ + "1": { + "373737": "43172f", + "373f3f": "353573", + "a5a5a5": "7080c6", + "5d4802": "1f8076", + "ffffff": "b9cfef", + "181f1f": "3d467d", + "8c7321": "33a08a", + "293131": "6a1d44", + "8c721f": "3d9197", + "7b7b7b": "5265a4", + "797878": "5265a4", + "182121": "430f30", + "cecece": "7e91d3", + "5a5a5a": "47548f", + "ffe600": "61e4bf", + "3a3a3a": "5d213a", + "00adde": "b9e96c", + "3a4242": "84294f", + "192121": "57163d" + }, + "2": { + "373737": "501a19", + "373f3f": "4e1416", + "a5a5a5": "861816", + "5d4802": "145b5d", + "ffffff": "c23e2e", + "181f1f": "5e1717", + "8c7321": "288278", + "293131": "c89161", + "8c721f": "54a48a", + "7b7b7b": "731515", + "797878": "da7248", + "182121": "661212", + "cecece": "97221a", + "5a5a5a": "611616", + "ffe600": "36c294", + "3a3a3a": "682321", + "00adde": "3e4ddc", + "3a4242": "ebc37d", + "192121": "9e533b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/535.json b/public/images/pokemon/variant/back/535.json new file mode 100644 index 00000000000..2d1a18e3b9a --- /dev/null +++ b/public/images/pokemon/variant/back/535.json @@ -0,0 +1,26 @@ +{ + "1": { + "6bbdff": "a9c4d7", + "366089": "801941", + "636363": "8b2b4b", + "66bafd": "d65a5a", + "3a638c": "40567d", + "191919": "330821", + "7394c5": "6f8fb1", + "6f90c1": "b53a57", + "292929": "420e2d", + "424242": "671e3f" + }, + "2": { + "6bbdff": "672a23", + "366089": "ac6634", + "636363": "d76d39", + "66bafd": "f3cd69", + "3a638c": "420f1d", + "191919": "4f150a", + "7394c5": "54131a", + "6f90c1": "cd984a", + "292929": "7d2414", + "424242": "ac4423" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/536.json b/public/images/pokemon/variant/back/536.json new file mode 100644 index 00000000000..78a59fb699c --- /dev/null +++ b/public/images/pokemon/variant/back/536.json @@ -0,0 +1,32 @@ +{ + "1": { + "196373": "801941", + "404040": "874330", + "84e6d6": "d65a5a", + "10427b": "40567d", + "52a5b5": "b53a57", + "292929": "400a32", + "5e5e5e": "a96147", + "ffffff": "e3c998", + "296bad": "6f8fb1", + "c5c5c5": "ca9470", + "424242": "5e1246", + "0894d6": "a9c4d7", + "636363": "801c4e" + }, + "2": { + "196373": "ac6634", + "404040": "365a72", + "84e6d6": "f3cd69", + "10427b": "4a1423", + "52a5b5": "cd984a", + "292929": "7d2414", + "5e5e5e": "52809b", + "ffffff": "aadfe0", + "296bad": "5d171e", + "c5c5c5": "7fb8c2", + "424242": "ac4423", + "0894d6": "75332b", + "636363": "d76d39" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/537.json b/public/images/pokemon/variant/back/537.json new file mode 100644 index 00000000000..757d692bd40 --- /dev/null +++ b/public/images/pokemon/variant/back/537.json @@ -0,0 +1,24 @@ +{ + "1": { + "196373": "801941", + "52a58c": "b53a57", + "636363": "801c4e", + "10427b": "40567d", + "73e6ce": "d65a5a", + "292929": "400a32", + "424242": "5e1246", + "296bad": "6f8fb1", + "0894d6": "a9c4d7" + }, + "2": { + "196373": "ac6634", + "52a58c": "cd984a", + "636363": "d76d39", + "10427b": "4a1423", + "73e6ce": "f3cd69", + "292929": "7d2414", + "424242": "ac4423", + "296bad": "5d171e", + "0894d6": "75332b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/554.json b/public/images/pokemon/variant/back/554.json new file mode 100644 index 00000000000..803721e4f0d --- /dev/null +++ b/public/images/pokemon/variant/back/554.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a1919": "2e3573", + "66311a": "a16012", + "634231": "946344", + "9c2929": "4e5aa3", + "ce3131": "6c7ec4", + "947310": "b0895f", + "ad5a2b": "a17a50", + "a75625": "d19628", + "cea519": "bda373", + "ffce21": "e3e2ba", + "ff9452": "e8c661", + "b15c29": "a17a50" + }, + "2": { + "101010": "101010", + "5a1919": "bf7558", + "66311a": "291d1b", + "634231": "75102a", + "9c2929": "d6a376", + "ce3131": "f0e2b9", + "947310": "9c1c2b", + "ad5a2b": "4a3021", + "a75625": "4a3021", + "cea519": "ba343d", + "ffce21": "d14949", + "ff9452": "614b38", + "b15c29": "b15c29" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/555-zen.json b/public/images/pokemon/variant/back/555-zen.json new file mode 100644 index 00000000000..9df761c1833 --- /dev/null +++ b/public/images/pokemon/variant/back/555-zen.json @@ -0,0 +1,24 @@ +{ + "1": { + "101010": "101010", + "215263": "592226", + "3a7b8c": "7d3e3d", + "425a63": "b5775b", + "529cad": "8c5b54", + "7ba5bd": "c99d7b", + "ad6b29": "3b3f87", + "b5d6ef": "e0c19b", + "e6a563": "7b8dd4" + }, + "2": { + "101010": "101010", + "215263": "523273", + "3a7b8c": "805a9c", + "425a63": "2e2a51", + "529cad": "a278b0", + "7ba5bd": "494162", + "ad6b29": "9e907e", + "b5d6ef": "605375", + "e6a563": "f5f3e9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/555.json b/public/images/pokemon/variant/back/555.json new file mode 100644 index 00000000000..b83ca9fb88b --- /dev/null +++ b/public/images/pokemon/variant/back/555.json @@ -0,0 +1,30 @@ +{ + "1": { + "101010": "101010", + "523a21": "a65f33", + "631919": "222675", + "6b5a10": "b04a21", + "8c1929": "2d3685", + "ad2119": "3a4c94", + "b57b4a": "d9a455", + "bd0000": "cfc191", + "bd9429": "c26932", + "ef1010": "e3e2ba", + "efa56b": "e8cd7b", + "efce10": "d9944a" + }, + "2": { + "101010": "101010", + "523a21": "291b19", + "631919": "a86722", + "6b5a10": "941c32", + "8c1929": "d6993e", + "ad2119": "e8ca5d", + "b57b4a": "4a3021", + "bd0000": "bab5a6", + "bd9429": "ba343d", + "ef1010": "f5f3e9", + "efa56b": "614b38", + "efce10": "d14949" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/566.json b/public/images/pokemon/variant/back/566.json new file mode 100644 index 00000000000..cb2601d4a93 --- /dev/null +++ b/public/images/pokemon/variant/back/566.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "10316b": "1c4943", + "31529c": "336d60", + "3184f7": "4f9279", + "3a3a3a": "3a3a3a", + "523131": "641b49", + "524229": "2f6934", + "944242": "aa3c79", + "9c9cad": "9c9cad", + "bd9452": "66b562", + "de524a": "eb7fae", + "e6e6e6": "e6e6e6", + "f7ce63": "9be08b" + }, + "2": { + "101010": "101010", + "10316b": "283957", + "31529c": "929bdf", + "3184f7": "c4d3ff", + "3a3a3a": "3a3a3a", + "523131": "284452", + "524229": "211f69", + "944242": "44988f", + "9c9cad": "9c9cad", + "bd9452": "3b4bad", + "de524a": "65cda4", + "e6e6e6": "e6e6e6", + "f7ce63": "557ecd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/567.json b/public/images/pokemon/variant/back/567.json new file mode 100644 index 00000000000..f4bb6a76111 --- /dev/null +++ b/public/images/pokemon/variant/back/567.json @@ -0,0 +1,37 @@ +{ + "1": { + "101010": "101010", + "523131": "454f52", + "635229": "2f6934", + "10316b": "1c4943", + "086b5a": "b3296b", + "9c4a4a": "7b8687", + "844252": "844252", + "de524a": "abb3b3", + "bd9452": "66b562", + "f7ce63": "9be08b", + "31529c": "336d60", + "10a594": "ee609d", + "3184f7": "4f9279", + "9c9cad": "9c9cad", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "523131": "284452", + "635229": "211f69", + "10316b": "283957", + "086b5a": "462d7e", + "9c4a4a": "44988f", + "844252": "844252", + "de524a": "65cda4", + "bd9452": "3b4bad", + "f7ce63": "557ecd", + "31529c": "929bdf", + "10a594": "7346a1", + "3184f7": "c4d3ff", + "9c9cad": "9c9cad", + "ffffff": "ffffff" + + } +} diff --git a/public/images/pokemon/variant/back/572.json b/public/images/pokemon/variant/back/572.json index e305e231ec0..5e74f55850d 100644 --- a/public/images/pokemon/variant/back/572.json +++ b/public/images/pokemon/variant/back/572.json @@ -1,18 +1,20 @@ { "1": { - "8c847b": "b2af6e", - "524a42": "524a42", - "ffffff": "feffd9", - "decec5": "decec5", - "bdb5a5": "dad7a1", - "101010": "101010" + "ffffff": "b3e8ba", + "4d473d": "802b50", + "524940": "428066", + "decec5": "87cc9a", + "bdb5a5": "cf6b77", + "918a83": "60a37b", + "8c847b": "b34967" }, "2": { - "8c847b": "86aaa7", - "524a42": "5f807e", - "ffffff": "ffffff", - "decec5": "d7e8e6", - "bdb5a5": "aec8c6", - "101010": "101010" + "ffffff": "d9e3aa", + "4d473d": "101931", + "524940": "466336", + "decec5": "7f915e", + "bdb5a5": "294a6b", + "918a83": "67824d", + "8c847b": "193457" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/back/573.json b/public/images/pokemon/variant/back/573.json new file mode 100644 index 00000000000..d3ceaf257b4 --- /dev/null +++ b/public/images/pokemon/variant/back/573.json @@ -0,0 +1,24 @@ +{ + "1": { + "524a42": "802b50", + "bdb5b5": "60a67c", + "847b73": "b34967", + "ffffff": "b3e8ba", + "bdad9c": "cf6b77", + "decec5": "87cc9a", + "d65252": "256145", + "807871": "458766", + "ef8484": "58a672" + }, + "2": { + "524a42": "101931", + "bdb5b5": "597041", + "847b73": "193457", + "ffffff": "d9e3aa", + "bdad9c": "294a6b", + "decec5": "7f915e", + "d65252": "558f45", + "807871": "3d542d", + "ef8484": "b4cf88" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/626.json b/public/images/pokemon/variant/back/626.json new file mode 100644 index 00000000000..3a709763542 --- /dev/null +++ b/public/images/pokemon/variant/back/626.json @@ -0,0 +1,46 @@ +{ + "1": { + "101010": "101010", + "312921": "303120", + "36363c": "362126", + "4a3119": "122119", + "4a4131": "4a4831", + "6b4a29": "2d4a3a", + "6b4a2a": "5f3539", + "6e4c2a": "565796", + "3a3a42": "4d150f", + "6b6b73": "802d1f", + "946a31": "4d6650", + "946a33": "513236", + "9a6f33": "716fab", + "ad8c29": "8580c4", + "9c845a": "9e655c", + "9c845c": "9e655c", + "bda57b": "bd8c7b", + "ffc54a": "c0b5eb", + "9ca5a5": "a34933", + "f7d69c": "f38d5d" + }, + "2": { + "101010": "101010", + "312921": "962430", + "36363c": "905932", + "4a3119": "855168", + "4a4131": "cc4545", + "6b4a29": "c17c95", + "6b4a2a": "907d32", + "6e4c2a": "678db8", + "3a3a42": "7f5310", + "6b6b73": "d49612", + "946a31": "e4b3b3", + "946a33": "946a33", + "9a6f33": "7da2c5", + "ad8c29": "92bcd4", + "9c845a": "beab6c", + "9c845c": "db9a39", + "bda57b": "efeac2", + "ffc54a": "c2e5f0", + "9ca5a5": "e9ca5a", + "f7d69c": "f5cc51" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/643.json b/public/images/pokemon/variant/back/643.json new file mode 100644 index 00000000000..08e6a2dd694 --- /dev/null +++ b/public/images/pokemon/variant/back/643.json @@ -0,0 +1,50 @@ +{ + "1": { + "196ba5": "e0912f", + "857c9c": "3c4154", + "54517a": "232738", + "c2c1db": "e6e7ef", + "fffffa": "fffffc", + "767ca8": "97a5b0", + "4a4a6b": "0d0d1a", + "504f75": "a58419", + "c3c1e0": "f0edc2", + "ffa531": "fcfade", + "767da3": "d6c563", + "d3d3e0": "2f3247", + "fff5f9": "565a69", + "c1c1d6": "454959", + "cacadb": "bfbfd6", + "ff6331": "ffee6b", + "d6c5b5": "f2f2d8", + "757d9e": "212236", + "e6b573": "f2ecaa", + "565280": "596675", + "ffffff": "414659", + "de2908": "ffca0a" + }, + "2": { + "196ba5": "b33a68", + "857c9c": "3c50a1", + "54517a": "2d3984", + "c2c1db": "343d8e", + "fffffa": "4459a2", + "767ca8": "2b2871", + "4a4a6b": "2d3984", + "504f75": "19323c", + "c3c1e0": "4f9290", + "ffa531": "e2f9b5", + "767da3": "3a6d71", + "d3d3e0": "647bd9", + "fff5f9": "a9bbff", + "c1c1d6": "647bd9", + "cacadb": "ffffff", + "ff6331": "9df377", + "d6c5b5": "3d8073", + "757d9e": "3c50a1", + "e6b573": "4ba789", + "565280": "19143f", + "ffffff": "a9bbff", + "de2908": "5cdca6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/644.json b/public/images/pokemon/variant/back/644.json new file mode 100644 index 00000000000..01475c838c7 --- /dev/null +++ b/public/images/pokemon/variant/back/644.json @@ -0,0 +1,44 @@ +{ + "1": { + "1a1a21": "705ba8", + "2c2c35": "c1c8e8", + "103a52": "251076", + "191921": "686c99", + "16161d": "7687c2", + "6bf7ff": "dbbaff", + "00c5ff": "b77dff", + "0f0d13": "49568f", + "006bbd": "4800e3", + "121212": "54428f", + "940000": "762fcc", + "52525a": "7175a3", + "ce0000": "a44bf2", + "31313a": "cfd0e6", + "08528c": "3b1899", + "004275": "8742ff", + "111111": "5b5f8c", + "009cde": "7626ff", + "212129": "9b9fc4" + }, + "2": { + "1a1a21": "350707", + "2c2c35": "884290", + "103a52": "671212", + "191921": "843172", + "16161d": "5e286f", + "6bf7ff": "f5e5da", + "00c5ff": "f5b698", + "0f0d13": "3b1a4c", + "006bbd": "c8433a", + "121212": "210214", + "940000": "cc8215", + "52525a": "ffc5d1", + "ce0000": "f3d32c", + "31313a": "ef9dae", + "08528c": "821b1b", + "004275": "821b1b", + "111111": "4a1a4c", + "009cde": "ef806b", + "212129": "ca6c94" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/646-black.json b/public/images/pokemon/variant/back/646-black.json new file mode 100644 index 00000000000..28baffd5690 --- /dev/null +++ b/public/images/pokemon/variant/back/646-black.json @@ -0,0 +1,49 @@ +{ + "1": { + "ebebe8": "edc9ff", + "6b8c7b": "2b4366", + "7b6b5a": "5482b0", + "315a42": "1a2b4d", + "292930": "9b9bc2", + "31313a": "c8c9e0", + "e6e6de": "e6a18a", + "006b94": "4c13a1", + "23232b": "1c1c24", + "191921": "6a6a94", + "addec5": "426585", + "b59400": "b35a3e", + "355e45": "484873", + "2c2c36": "15213b", + "00b5ff": "a033ff", + "ffff4a": "db966b", + "524a31": "112240", + "b6e3c7": "bb8ae3", + "004b6f": "2f0e75", + "1e1e26": "1b1b24", + "719180": "905dcf", + "ada584": "78a9cc" + }, + "2": { + "ebebe8": "ffc5d1", + "6b8c7b": "be6e34", + "7b6b5a": "982222", + "315a42": "7b2d25", + "292930": "6c245b", + "31313a": "913a7d", + "006b94": "6b3773", + "23232b": "2b050a", + "191921": "3d0d38", + "addec5": "e6b45b", + "b59400": "166a2d", + "355e45": "ca6c94", + "2c2c36": "480b0b", + "00b5ff": "b464bf", + "ffff4a": "6ae649", + "524a31": "550f0f", + "b6e3c7": "ffadbe", + "004b6f": "411d46", + "1e1e26": "7b2d25", + "719180": "ea93a5", + "ada584": "c23232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/646-white.json b/public/images/pokemon/variant/back/646-white.json new file mode 100644 index 00000000000..b2951e6fc38 --- /dev/null +++ b/public/images/pokemon/variant/back/646-white.json @@ -0,0 +1,46 @@ +{ + "1": { + "101010": "101010", + "741a18": "7a3418", + "4a4a29": "2a446b", + "4c4a2c": "0d0d1a", + "4a4a2d": "0d1030", + "315a42": "172247", + "7b7b5a": "779fbf", + "73737b": "120e1f", + "942921": "d49748", + "e64a42": "ffe587", + "6b8c7b": "2e466b", + "cc9827": "cc9827", + "ffde3a": "f0d897", + "ffad63": "fff7c4", + "ada584": "b7dbeb", + "bdbdc5": "232538", + "addec5": "45678a", + "e6e8f2": "414659", + "f5f5fa": "f5f5fa", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "741a18": "1f504d", + "4a4a29": "550f0f", + "4c4a2c": "1f1544", + "4a4a2d": "7b2d25", + "315a42": "7b2d25", + "7b7b5a": "982222", + "73737b": "2b2871", + "942921": "3d8073", + "e64a42": "4ba789", + "6b8c7b": "be6e34", + "cc9827": "166a2d", + "ffde3a": "9df377", + "ffad63": "5cdca6", + "ada584": "c23232", + "bdbdc5": "3d458f", + "addec5": "e6b45b", + "e6e8f2": "5870c4", + "f5f5fa": "f5f5fa", + "ffffff": "e2f9b5" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/646.json b/public/images/pokemon/variant/back/646.json new file mode 100644 index 00000000000..c509a0cda9c --- /dev/null +++ b/public/images/pokemon/variant/back/646.json @@ -0,0 +1,33 @@ +{ + "1": { + "8c7329": "b35a3e", + "949cad": "a6cfe0", + "6d737b": "a55c39", + "103a52": "121836", + "ffe600": "db966b", + "73737b": "6394b0", + "bde6ff": "3c5878", + "424252": "3d6285", + "696973": "6394b0", + "ceb500": "c46f52", + "a5b5ce": "293c5e", + "3b3b4a": "3d6285", + "6b8494": "1a2647" + }, + "2": { + "8c7329": "166a2d", + "949cad": "c23232", + "6d737b": "1a791b", + "103a52": "7b2d25", + "ffe600": "6ae649", + "73737b": "982222", + "bde6ff": "e6b45b", + "424252": "550f0f", + "696973": "736969", + "ceb500": "2aac2b", + "def7ff": "f7ec88", + "a5b5ce": "be6e34", + "3b3b4a": "4a3b3b", + "6b8494": "974626" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/692.json b/public/images/pokemon/variant/back/692.json new file mode 100644 index 00000000000..d4c85f37c9d --- /dev/null +++ b/public/images/pokemon/variant/back/692.json @@ -0,0 +1,28 @@ +{ + "1": { + "337380": "783a1d", + "b3b3b3": "c8ba6d", + "595959": "c85b5b", + "61daf2": "e1ac53", + "cc9c3d": "53be53", + "404040": "7d182d", + "ffc44c": "a9f076", + "b2f2ff": "fada7f", + "47a1b3": "af6a37", + "101010": "070707", + "735822": "20734c" + }, + "2": { + "337380": "5f3c23", + "b3b3b3": "68a7aa", + "595959": "88cd56", + "61daf2": "e1d6b6", + "cc9c3d": "7743be", + "404040": "1c873e", + "ffc44c": "a36feb", + "b2f2ff": "faf8d7", + "47a1b3": "968144", + "101010": "070707", + "735822": "371c72" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/693.json b/public/images/pokemon/variant/back/693.json new file mode 100644 index 00000000000..3187a81e0c0 --- /dev/null +++ b/public/images/pokemon/variant/back/693.json @@ -0,0 +1,28 @@ +{ + "1": { + "224b73": "552813", + "4595e5": "aa6839", + "23a2c8": "c87a23", + "262626": "230808", + "cc9c3d": "1b3c17", + "404040": "3c171b", + "5f5f5f": "6e2e3b", + "61daf2": "f2bd61", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "735822": "08230e" + }, + "2": { + "224b73": "5f463a", + "4595e5": "c8b493", + "23a2c8": "beb099", + "262626": "295a1c", + "cc9c3d": "6259af", + "404040": "2a8c53", + "5f5f5f": "51c85d", + "61daf2": "f0eadb", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "735822": "36235f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/746-school.json b/public/images/pokemon/variant/back/746-school.json new file mode 100644 index 00000000000..d8fa61a3829 --- /dev/null +++ b/public/images/pokemon/variant/back/746-school.json @@ -0,0 +1,38 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "123954": "75391b", + "134884": "935926", + "134d84": "16574d", + "1766c6": "b77736", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "73dcf5": "27133f", + "73e5f5": "552b64", + "72f0f6": "824388", + "9cd3fd": "aafe94", + "a6c5f7": "78f389", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "0f0523", + "123954": "28071a", + "134884": "350b19", + "134d84": "b7904d", + "1766c6": "4a1111", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "73dcf5": "31238e", + "73e5f5": "3a4ebd", + "72f0f6": "6492f7", + "9cd3fd": "fefeef", + "a6c5f7": "fefed9", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/746.json b/public/images/pokemon/variant/back/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/back/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/780.json b/public/images/pokemon/variant/back/780.json new file mode 100644 index 00000000000..f55158dcabb --- /dev/null +++ b/public/images/pokemon/variant/back/780.json @@ -0,0 +1,28 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "5aa4a4": "284c80", + "f5ae07": "faf0b1", + "606f55": "496375", + "726d5c": "a36026", + "105262": "0e194a", + "b8b7a3": "cf8d38", + "b4cda4": "9ab5b8", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "5aa4a4": "6a708a", + "f5ae07": "3ec435", + "606f55": "8f825d", + "726d5c": "162d3d", + "105262": "3f3c61", + "b8b7a3": "254e59", + "b4cda4": "d6dbba", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/782.json b/public/images/pokemon/variant/back/782.json new file mode 100644 index 00000000000..f2bc20ecfba --- /dev/null +++ b/public/images/pokemon/variant/back/782.json @@ -0,0 +1,30 @@ +{ + "1": { + "f13035": "48bd8c", + "f8f236": "e77b57", + "504e4b": "472d1d", + "aba5ad": "336340", + "7b766f": "a67e5b", + "fdfdfd": "fcf2ca", + "726475": "214a33", + "bec6cb": "e8cea0", + "957509": "a63424", + "dbdbdb": "4e8759", + "940a0d": "258067", + "4d4b48": "8a5b41" + }, + "2": { + "f13035": "b8c0fc", + "f8f236": "52d9ac", + "504e4b": "273959", + "aba5ad": "5e3e75", + "7b766f": "8ab7cf", + "fdfdfd": "d5f4f7", + "726475": "412959", + "bec6cb": "b7ddeb", + "957509": "258085", + "dbdbdb": "855d99", + "940a0d": "636a94", + "4d4b48": "567496" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/783.json b/public/images/pokemon/variant/back/783.json new file mode 100644 index 00000000000..d91ccb51133 --- /dev/null +++ b/public/images/pokemon/variant/back/783.json @@ -0,0 +1,32 @@ +{ + "1": { + "f13035": "48bd8c", + "6c6968": "472d1d", + "97938c": "2a573e", + "957509": "a63424", + "fff5ae": "f7c4b5", + "4d4644": "2b130b", + "fdfdfd": "fcf2ca", + "6b6968": "8a5b41", + "940a0d": "258067", + "c2c1c0": "42754f", + "d7aa22": "c25236", + "69625c": "133027", + "f4da42": "e77b57" + }, + "2": { + "f13035": "d9ddfc", + "6c6968": "2e4266", + "97938c": "543666", + "957509": "258085", + "fff5ae": "baf7dc", + "4d4644": "151e38", + "fdfdfd": "d5f4f7", + "6b6968": "567496", + "940a0d": "636a94", + "c2c1c0": "744e87", + "d7aa22": "37ad94", + "69625c": "2d1c3d", + "f4da42": "52d9ac" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/784.json b/public/images/pokemon/variant/back/784.json new file mode 100644 index 00000000000..74a18ff0d3d --- /dev/null +++ b/public/images/pokemon/variant/back/784.json @@ -0,0 +1,42 @@ +{ + "1": { + "c99f21": "bf5841", + "2d2b28": "2b130b", + "d0d2d5": "77a353", + "a8a4a0": "517d37", + "fafafa": "fcf2ca", + "d4d6d9": "e8cea0", + "4a4743": "8a5b41", + "f4da42": "e77b57", + "f13035": "48bd8c", + "cb0e12": "258067", + "4d4040": "123028", + "a7a29e": "336142", + "523e41": "447835", + "885902": "87281b", + "9d6702": "993d26", + "7e7572": "204736", + "fdfdfd": "bbd477", + "4b4845": "472d1d" + }, + "2": { + "c99f21": "3aba9c", + "2d2b28": "151e38", + "d0d2d5": "7ec2cc", + "a8a4a0": "558ea3", + "fafafa": "d5f4f7", + "d4d6d9": "b7ddeb", + "4a4743": "567496", + "f4da42": "2a918e", + "f13035": "d9ddfc", + "cb0e12": "636a94", + "4d4040": "2d1840", + "a7a29e": "6c457a", + "523e41": "558fa6", + "885902": "1f6b6e", + "9d6702": "37ad94", + "7e7572": "4e2e61", + "fdfdfd": "adedf0", + "4b4845": "2e4266" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/840.json b/public/images/pokemon/variant/back/840.json new file mode 100644 index 00000000000..3129592abb3 --- /dev/null +++ b/public/images/pokemon/variant/back/840.json @@ -0,0 +1,28 @@ +{ + "1": { + "e2244a": "70a2c5", + "5fab1d": "7a7c9e", + "d39a52": "a22f76", + "e32b50": "4e77a2", + "fe455c": "abd7e2", + "fa6f8b": "c1f3f3", + "a4d84a": "9aa0b3", + "357912": "48485d", + "d3ee77": "d2d8df", + "8d4229": "741163", + "a50534": "3e6085" + }, + "2": { + "e2244a": "bfb5ab", + "5fab1d": "993c63", + "d39a52": "463731", + "e32b50": "807770", + "fe455c": "dcd9d1", + "fa6f8b": "eeedea", + "a4d84a": "c76886", + "357912": "6b2041", + "d3ee77": "e28c95", + "8d4229": "291411", + "a50534": "68645f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/841-gigantamax.json b/public/images/pokemon/variant/back/841-gigantamax.json new file mode 100644 index 00000000000..6526fec9b4d --- /dev/null +++ b/public/images/pokemon/variant/back/841-gigantamax.json @@ -0,0 +1,36 @@ +{ + "1": { + "39a43d": "9aa0b3", + "d2394d": "abd7e2", + "61112d": "2c255d", + "a63139": "70a2c5", + "d54456": "8666ae", + "427638": "7a7c9e", + "c68a48": "9c2e72", + "8d4229": "272a52", + "eec856": "397880", + "cb8a42": "2b526f", + "b3ac62": "a3b9d0", + "dad08b": "dcebf9", + "2c4828": "243c63", + "e9c558": "c55885", + "772628": "1e1a4a" + }, + "2": { + "39a43d": "e28c95", + "d2394d": "dcd9d1", + "61112d": "3a2222", + "a63139": "bfb5ab", + "d54456": "915a41", + "427638": "b04f6d", + "c68a48": "2a1310", + "8d4229": "79392f", + "eec856": "eee0bc", + "cb8a42": "d1a87e", + "b3ac62": "cbb4af", + "dad08b": "e2dcd6", + "2c4828": "2e2246", + "e9c558": "463731", + "772628": "4f4840" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/841.json b/public/images/pokemon/variant/back/841.json new file mode 100644 index 00000000000..8cccd7dd76b --- /dev/null +++ b/public/images/pokemon/variant/back/841.json @@ -0,0 +1,34 @@ +{ + "1": { + "df6655": "c1f3f3", + "56ab32": "a59ab3", + "9b2629": "70a2c5", + "488235": "8e7a9e", + "ebe381": "854774", + "ccb468": "5d2654", + "ccca71": "cbb4af", + "8d764b": "110723", + "612324": "3e6085", + "da5245": "c55885", + "c3a965": "e2dcd6", + "b5915b": "34123a", + "d72d31": "abd7e2", + "395a2e": "383146" + }, + "2": { + "df6655": "e2dcd6", + "56ab32": "e28c95", + "9b2629": "bfb5ab", + "488235": "a8546e", + "ebe381": "be7b53", + "ccb468": "743527", + "ccca71": "cbb4af", + "8d764b": "230313", + "612324": "68645f", + "da5245": "463731", + "c3a965": "e2dcd6", + "b5915b": "541711", + "d72d31": "dcd9d1", + "395a2e": "4f0e30" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/842-gigantamax.json b/public/images/pokemon/variant/back/842-gigantamax.json new file mode 100644 index 00000000000..6526fec9b4d --- /dev/null +++ b/public/images/pokemon/variant/back/842-gigantamax.json @@ -0,0 +1,36 @@ +{ + "1": { + "39a43d": "9aa0b3", + "d2394d": "abd7e2", + "61112d": "2c255d", + "a63139": "70a2c5", + "d54456": "8666ae", + "427638": "7a7c9e", + "c68a48": "9c2e72", + "8d4229": "272a52", + "eec856": "397880", + "cb8a42": "2b526f", + "b3ac62": "a3b9d0", + "dad08b": "dcebf9", + "2c4828": "243c63", + "e9c558": "c55885", + "772628": "1e1a4a" + }, + "2": { + "39a43d": "e28c95", + "d2394d": "dcd9d1", + "61112d": "3a2222", + "a63139": "bfb5ab", + "d54456": "915a41", + "427638": "b04f6d", + "c68a48": "2a1310", + "8d4229": "79392f", + "eec856": "eee0bc", + "cb8a42": "d1a87e", + "b3ac62": "cbb4af", + "dad08b": "e2dcd6", + "2c4828": "2e2246", + "e9c558": "463731", + "772628": "4f4840" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/842.json b/public/images/pokemon/variant/back/842.json new file mode 100644 index 00000000000..3fdccc629c8 --- /dev/null +++ b/public/images/pokemon/variant/back/842.json @@ -0,0 +1,36 @@ +{ + "1": { + "39a45f": "9aa0b3", + "ffcd88": "698db4", + "621522": "3e6085", + "9f7034": "110723", + "f9be6b": "a3b9d0", + "fcff86": "397880", + "2c743e": "7a7c9e", + "af2348": "70a2c5", + "1f4329": "313846", + "ffc575": "2b526f", + "ffa63b": "2d3d68", + "275734": "852560", + "e78422": "1f1946", + "e75574": "abd7e2", + "7de755": "d66f9a" + }, + "2": { + "39a45f": "e28c95", + "ffcd88": "b9937a", + "621522": "68645f", + "9f7034": "2e0e09", + "f9be6b": "cbb4af", + "fcff86": "eee0bc", + "2c743e": "a8546e", + "af2348": "bfb5ab", + "1f4329": "341c1c", + "ffc575": "d1a87e", + "ffa63b": "63473b", + "275734": "2e2246", + "e78422": "4b211b", + "e75574": "dcd9d1", + "7de755": "589df3" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/871.json b/public/images/pokemon/variant/back/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/back/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/88.json b/public/images/pokemon/variant/back/88.json new file mode 100644 index 00000000000..61b7ca3b802 --- /dev/null +++ b/public/images/pokemon/variant/back/88.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/89.json b/public/images/pokemon/variant/back/89.json new file mode 100644 index 00000000000..eda3558d7c2 --- /dev/null +++ b/public/images/pokemon/variant/back/89.json @@ -0,0 +1,30 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70", + "ad63ad": "c63a17" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf", + "ad63ad": "e5728a" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/207.json b/public/images/pokemon/variant/back/female/207.json index 52c582cf1a8..89ed15e95c5 100644 --- a/public/images/pokemon/variant/back/female/207.json +++ b/public/images/pokemon/variant/back/female/207.json @@ -1,16 +1,14 @@ { "1": { - "63314a": "7f4812", - "e6a5ce": "f8dd84", - "de84b5": "daa93f", - "101010": "101010", - "ad6394": "b67322" + "de84b5": "e3784d", + "e6a5ce": "f7a565", + "63314a": "802019", + "ad6394": "ba4732" }, "2": { - "63314a": "5f1723", - "e6a5ce": "ef6b58", - "de84b5": "c04144", - "101010": "101010", - "ad6394": "97343c" + "de84b5": "42bca0", + "e6a5ce": "70e0b7", + "63314a": "134e5e", + "ad6394": "27868a" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/332.json b/public/images/pokemon/variant/back/female/332.json new file mode 100644 index 00000000000..9ec50cb7e92 --- /dev/null +++ b/public/images/pokemon/variant/back/female/332.json @@ -0,0 +1,28 @@ +{ + "1": { + "319452": "780d4a", + "4aa552": "8a1652", + "7ba563": "b44040", + "8cbd63": "bf3d64", + "215200": "710f2f", + "196b21": "780d4a", + "a5d674": "de5b6f", + "4a7310": "982443", + "a5d673": "e16363", + "63b56b": "9e2056", + "215201": "710f2e" + }, + "2": { + "319452": "b59c72", + "4aa552": "c9b991", + "7ba563": "805a9c", + "8cbd63": "ebe9ca", + "215200": "41334d", + "196b21": "b59c72", + "a5d674": "f6f7df", + "4a7310": "4f3956", + "a5d673": "a473ba", + "63b56b": "e3ddb8", + "215201": "694d37" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/396.json b/public/images/pokemon/variant/back/female/396.json new file mode 100644 index 00000000000..429adbc8791 --- /dev/null +++ b/public/images/pokemon/variant/back/female/396.json @@ -0,0 +1,36 @@ +{ + "1": { + "d6dede": "e3d09d", + "949494": "dbb070", + "736363": "89ad57", + "ffffff": "f0ecd3", + "382028": "731e22", + "d67300": "db963b", + "b5b5b5": "d4b27f", + "808080": "c48c51", + "9c4a21": "b06421", + "8c7373": "b53f36", + "3a2129": "2a4f19", + "524a4a": "558033", + "4f4747": "144a40", + "ad9c9c": "ed7b61", + "ff9429": "ffcf5e" + }, + "2": { + "d6dede": "f0deaa", + "949494": "cca472", + "736363": "4da8a1", + "ffffff": "fcfad2", + "382028": "0d142e", + "d67300": "52281f", + "b5b5b5": "debd8c", + "808080": "bf8d62", + "9c4a21": "451915", + "8c7373": "1b2745", + "3a2129": "235a6b", + "524a4a": "307b82", + "4f4747": "e0703d", + "ad9c9c": "2f436b", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/397.json b/public/images/pokemon/variant/back/female/397.json new file mode 100644 index 00000000000..0eef3be33d9 --- /dev/null +++ b/public/images/pokemon/variant/back/female/397.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "b53f36", + "574f57": "144a40", + "5a525a": "739e49", + "f75242": "8bba65", + "878787": "baa277", + "b5b5b5": "d9c798", + "ff9429": "ffcf5e", + "382f38": "0c3330", + "3a313a": "496e2e", + "362d36": "612e10", + "fcfcfc": "f0ebc5", + "bd6300": "b06421", + "7b4221": "965318", + "523a4a": "731e22", + "9c848c": "ed7b61" + }, + "2": { + "735a63": "1b2745", + "574f57": "e0703d", + "5a525a": "4da8a1", + "f75242": "f797ad", + "878787": "d4b885", + "b5b5b5": "f0deaa", + "ff9429": "8c604c", + "382f38": "b04a28", + "3a313a": "307b82", + "362d36": "421917", + "fcfcfc": "fcfad2", + "bd6300": "66362b", + "7b4221": "52281f", + "523a4a": "0d142e", + "9c848c": "2f436b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/398.json b/public/images/pokemon/variant/back/female/398.json new file mode 100644 index 00000000000..0c987cf37b0 --- /dev/null +++ b/public/images/pokemon/variant/back/female/398.json @@ -0,0 +1,36 @@ +{ + "1": { + "9c4242": "09302d", + "5c545c": "144a40", + "3a313a": "0d3236", + "7b4221": "965318", + "bd6300": "db963b", + "5a525a": "558033", + "7b6b7b": "89ad57", + "f75242": "144a40", + "735a63": "d94f45", + "ffffff": "e8e3b6", + "523a4a": "872328", + "3a3a3a": "2a4f19", + "b5b5b5": "d7be89", + "9c848c": "ed7b61", + "ff9429": "ffcf5e" + }, + "2": { + "9c4242": "c94a2a", + "5c545c": "e0703d", + "3a313a": "a64221", + "7b4221": "421917", + "bd6300": "63362b", + "5a525a": "307b82", + "7b6b7b": "4da8a1", + "f75242": "f78a4a", + "735a63": "1b2745", + "ffffff": "fcfad2", + "523a4a": "080d1f", + "3a3a3a": "235a6b", + "b5b5b5": "f0deaa", + "9c848c": "293854", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/403.json b/public/images/pokemon/variant/back/female/403.json new file mode 100644 index 00000000000..4eb1da93a49 --- /dev/null +++ b/public/images/pokemon/variant/back/female/403.json @@ -0,0 +1,22 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "42426b": "63121d", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "42426b": "161b36", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/404.json b/public/images/pokemon/variant/back/female/404.json new file mode 100644 index 00000000000..1ebec7af6be --- /dev/null +++ b/public/images/pokemon/variant/back/female/404.json @@ -0,0 +1,24 @@ +{ + "1": { + "736352": "234085", + "4a4a73": "63121d", + "63637b": "f1dbb1", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "b59c5a": "3763b8", + "7badf7": "bf403a" + }, + "2": { + "736352": "298e7d", + "4a4a73": "161b36", + "63637b": "def4f0", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "b59c5a": "36b88a", + "7badf7": "324663" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/405.json b/public/images/pokemon/variant/back/female/405.json new file mode 100644 index 00000000000..c70567e0728 --- /dev/null +++ b/public/images/pokemon/variant/back/female/405.json @@ -0,0 +1,30 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "63637b": "f1dbb1", + "3a3859": "430917", + "637bb5": "962a2f", + "4a4a73": "63121d", + "4a4a63": "dcb488", + "ffe65a": "4881cc", + "313142": "bd7e54", + "943a52": "5a2d0f", + "e64a52": "3e2711", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "63637b": "def4f0", + "3a3859": "0f0f26", + "637bb5": "222f4d", + "4a4a73": "161b36", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "943a52": "3a5e80", + "e64a52": "4a7c92", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/417.json b/public/images/pokemon/variant/back/female/417.json new file mode 100644 index 00000000000..42b3180ee3c --- /dev/null +++ b/public/images/pokemon/variant/back/female/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "8fecf7", + "ffd663": "d0fdff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/2037.json b/public/images/pokemon/variant/exp/2037.json new file mode 100644 index 00000000000..2c190d5d36a --- /dev/null +++ b/public/images/pokemon/variant/exp/2037.json @@ -0,0 +1,26 @@ +{ + "1": { + "151515": "101010", + "2d57bb": "235dc4", + "558b9f": "9f435d", + "648082": "6e67b0", + "6cb1db": "3daae0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "2d57bb": "6e1179", + "558b9f": "90215e", + "648082": "bf4747", + "6cb1db": "8832a0", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/2038.json b/public/images/pokemon/variant/exp/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/exp/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/692.json b/public/images/pokemon/variant/exp/692.json new file mode 100644 index 00000000000..954dcffb3e9 --- /dev/null +++ b/public/images/pokemon/variant/exp/692.json @@ -0,0 +1,26 @@ +{ + "1": { + "b3f2ff": "fada7f", + "44a2b4": "af6a37", + "2f7280": "783a1d", + "cd9d3a": "53be53", + "575757": "c85b5b", + "72561c": "20734c", + "60dbf2": "e1ac53", + "b4b4b4": "c8ba6d", + "3d3d3d": "7d182d", + "ffc549": "a9f076" + }, + "2": { + "b3f2ff": "faf8d7", + "44a2b4": "968144", + "2f7280": "5f3c23", + "cd9d3a": "7743be", + "575757": "88cd56", + "72561c": "371c72", + "60dbf2": "e1d6b6", + "b4b4b4": "68a7aa", + "3d3d3d": "1c873e", + "ffc549": "a36feb" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/693.json b/public/images/pokemon/variant/exp/693.json new file mode 100644 index 00000000000..2e80795d2a0 --- /dev/null +++ b/public/images/pokemon/variant/exp/693.json @@ -0,0 +1,30 @@ +{ + "1": { + "23a2c8": "c87a23", + "ffc859": "6ccd80", + "224b73": "552813", + "404040": "3c171b", + "262626": "230808", + "5f5f5f": "6e2e3b", + "cc9c3d": "1b3c17", + "61daf2": "f2bd61", + "735822": "08230e", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "4595e5": "aa6839" + }, + "2": { + "23a2c8": "beb099", + "ffc859": "f5b281", + "224b73": "5f463a", + "404040": "2a8c53", + "262626": "295a1c", + "5f5f5f": "51c85d", + "cc9c3d": "6259af", + "61daf2": "f0eadb", + "735822": "36235f", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "4595e5": "c8b493" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/746-school.json b/public/images/pokemon/variant/exp/746-school.json new file mode 100644 index 00000000000..a76aca2921f --- /dev/null +++ b/public/images/pokemon/variant/exp/746-school.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "113650": "0b3d3a", + "123954": "75351b", + "10437d": "16574d", + "134884": "934f26", + "1766c6": "b77736", + "3d66d8": "d39c63", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "43ebf3": "824388", + "72f0f6": "27133f", + "9cd3fd": "78f389", + "a6c5f7": "aafe94", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "160523", + "113650": "846228", + "123954": "28071a", + "10437d": "b7904d", + "134884": "350b19", + "1766c6": "4a1111", + "3d66d8": "622222", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "43ebf3": "4378eb", + "72f0f6": "31238e", + "9cd3fd": "fefed9", + "a6c5f7": "fefeef", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/746.json b/public/images/pokemon/variant/exp/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/exp/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/780.json b/public/images/pokemon/variant/exp/780.json new file mode 100644 index 00000000000..0399d3567bf --- /dev/null +++ b/public/images/pokemon/variant/exp/780.json @@ -0,0 +1,40 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "606f55": "496375", + "ffc4d7": "f29d9d", + "105262": "0e194a", + "b4cda4": "9ab5b8", + "f5ae07": "e8c987", + "ce5b9b": "cf4654", + "faf550": "faf0b1", + "e67b9c": "e65757", + "bd3983": "bd3341", + "eea6bc": "f06e6e", + "5aa4a4": "284c80", + "b8b7a3": "cf8d38", + "726d5c": "a36026", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "606f55": "8f825d", + "ffc4d7": "f2e396", + "105262": "3f3c61", + "b4cda4": "d6dbba", + "f5ae07": "24ab2b", + "ce5b9b": "d9ae5d", + "faf550": "3ec435", + "e67b9c": "e3b656", + "bd3983": "c27529", + "eea6bc": "f2d98d", + "5aa4a4": "6a708a", + "b8b7a3": "254e59", + "726d5c": "162d3d", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/840.json b/public/images/pokemon/variant/exp/840.json new file mode 100644 index 00000000000..5a6a81a887e --- /dev/null +++ b/public/images/pokemon/variant/exp/840.json @@ -0,0 +1,34 @@ +{ + "1": { + "e2244a": "70a2c5", + "8d4229": "570749", + "94d84a": "fefefe", + "a4d84a": "9aa0b3", + "d39a52": "9c2e72", + "e32b50": "4e77a2", + "5fab1d": "7a7c9e", + "fe455c": "abd7e2", + "5bab1d": "acb0c3", + "247912": "48485d", + "a50534": "3e6085", + "357912": "313846", + "f2c171": "c55885", + "fa6f8b": "c1f3f3" + }, + "2": { + "e2244a": "bfb5ab", + "8d4229": "230808", + "94d84a": "589df3", + "a4d84a": "9aa0b3", + "d39a52": "291411", + "e32b50": "807770", + "5fab1d": "7a7c9e", + "fe455c": "dcd9d1", + "5bab1d": "354dbf", + "247912": "2e2246", + "a50534": "68645f", + "357912": "313846", + "f2c171": "463731", + "fa6f8b": "eeedea" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/841.json b/public/images/pokemon/variant/exp/841.json new file mode 100644 index 00000000000..aa68f322f29 --- /dev/null +++ b/public/images/pokemon/variant/exp/841.json @@ -0,0 +1,42 @@ +{ + "1": { + "101010": "101010", + "612324": "3e6085", + "395a2e": "383146", + "9b2629": "70a2c5", + "d72d31": "abd7e2", + "874c23": "453157", + "8d764b": "110723", + "d9695a": "c55885", + "488235": "8e7a9e", + "56ab32": "a59ab3", + "b08c51": "b3b1d6", + "b5915b": "34123a", + "ccb468": "5d2654", + "f1c950": "f3c5dd", + "ccca71": "e6dcf9", + "f0bda6": "c1f3f3", + "ebe381": "854774", + "fcfcfc": "fcfcfc" + }, + "2": { + "101010": "101010", + "612324": "827466", + "395a2e": "4f0e30", + "9b2629": "bfb5ab", + "d72d31": "dcd9d1", + "874c23": "2e2246", + "8d764b": "230313", + "d9695a": "463731", + "488235": "a8546e", + "56ab32": "e28c95", + "b08c51": "cbb4af", + "b5915b": "541711", + "ccb468": "8b4332", + "f1c950": "589df3", + "ccca71": "e2dcd6", + "f0bda6": "eeedea", + "ebe381": "c68862", + "fcfcfc": "fcfcfc" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/842.json b/public/images/pokemon/variant/exp/842.json new file mode 100644 index 00000000000..0629adc139a --- /dev/null +++ b/public/images/pokemon/variant/exp/842.json @@ -0,0 +1,43 @@ +{ + "1": { + "101010": "101010", + "1f4329": "313846", + "1f5829": "852560", + "2c743e": "7a7c9e", + "9f7034": "230f47", + "ac6b20": "110723", + "af2348": "67829e", + "e75574": "70a2c5", + "39a45f": "92cbd9", + "7de755": "d66f9a", + "e78422": "1f1946", + "ffa63b": "2d3d68", + "f1cf6d": "a3b9d0", + "f9d56d": "698db4", + "ffc575": "2b526f", + "f18e8e": "c1f3f3", + "fcff86": "397880", + "621522": "204063" + + }, + "2": { + "101010": "101010", + "1f4329": "511c2d", + "1f5829": "2e2246", + "2c743e": "a8546e", + "9f7034": "3a130d", + "ac6b20": "68645f", + "af2348": "bfb5ab", + "e75574": "dcd9d1", + "39a45f": "e28c95", + "7de755": "589df3", + "e78422": "4b211b", + "ffa63b": "63473b", + "f1cf6d": "cbb4af", + "f9d56d": "b9937a", + "ffc575": "d1a87e", + "f18e8e": "eeedea", + "fcff86": "eee0bc", + "621522": "68645f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/871.json b/public/images/pokemon/variant/exp/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/exp/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/2037.json b/public/images/pokemon/variant/exp/back/2037.json new file mode 100644 index 00000000000..0d2c02cf980 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/2037.json @@ -0,0 +1,22 @@ +{ + "1": { + "151515": "101010", + "558b9f": "9f435d", + "648082": "6e67b0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "558b9f": "90215e", + "648082": "bf4747", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/2038.json b/public/images/pokemon/variant/exp/back/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/692.json b/public/images/pokemon/variant/exp/back/692.json new file mode 100644 index 00000000000..d4c85f37c9d --- /dev/null +++ b/public/images/pokemon/variant/exp/back/692.json @@ -0,0 +1,28 @@ +{ + "1": { + "337380": "783a1d", + "b3b3b3": "c8ba6d", + "595959": "c85b5b", + "61daf2": "e1ac53", + "cc9c3d": "53be53", + "404040": "7d182d", + "ffc44c": "a9f076", + "b2f2ff": "fada7f", + "47a1b3": "af6a37", + "101010": "070707", + "735822": "20734c" + }, + "2": { + "337380": "5f3c23", + "b3b3b3": "68a7aa", + "595959": "88cd56", + "61daf2": "e1d6b6", + "cc9c3d": "7743be", + "404040": "1c873e", + "ffc44c": "a36feb", + "b2f2ff": "faf8d7", + "47a1b3": "968144", + "101010": "070707", + "735822": "371c72" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/693.json b/public/images/pokemon/variant/exp/back/693.json new file mode 100644 index 00000000000..3187a81e0c0 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/693.json @@ -0,0 +1,28 @@ +{ + "1": { + "224b73": "552813", + "4595e5": "aa6839", + "23a2c8": "c87a23", + "262626": "230808", + "cc9c3d": "1b3c17", + "404040": "3c171b", + "5f5f5f": "6e2e3b", + "61daf2": "f2bd61", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "735822": "08230e" + }, + "2": { + "224b73": "5f463a", + "4595e5": "c8b493", + "23a2c8": "beb099", + "262626": "295a1c", + "cc9c3d": "6259af", + "404040": "2a8c53", + "5f5f5f": "51c85d", + "61daf2": "f0eadb", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "735822": "36235f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/746-school.json b/public/images/pokemon/variant/exp/back/746-school.json new file mode 100644 index 00000000000..d8fa61a3829 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/746-school.json @@ -0,0 +1,38 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "123954": "75391b", + "134884": "935926", + "134d84": "16574d", + "1766c6": "b77736", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "73dcf5": "27133f", + "73e5f5": "552b64", + "72f0f6": "824388", + "9cd3fd": "aafe94", + "a6c5f7": "78f389", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "0f0523", + "123954": "28071a", + "134884": "350b19", + "134d84": "b7904d", + "1766c6": "4a1111", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "73dcf5": "31238e", + "73e5f5": "3a4ebd", + "72f0f6": "6492f7", + "9cd3fd": "fefeef", + "a6c5f7": "fefed9", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/746.json b/public/images/pokemon/variant/exp/back/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/exp/back/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/780.json b/public/images/pokemon/variant/exp/back/780.json new file mode 100644 index 00000000000..f55158dcabb --- /dev/null +++ b/public/images/pokemon/variant/exp/back/780.json @@ -0,0 +1,28 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "5aa4a4": "284c80", + "f5ae07": "faf0b1", + "606f55": "496375", + "726d5c": "a36026", + "105262": "0e194a", + "b8b7a3": "cf8d38", + "b4cda4": "9ab5b8", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "5aa4a4": "6a708a", + "f5ae07": "3ec435", + "606f55": "8f825d", + "726d5c": "162d3d", + "105262": "3f3c61", + "b8b7a3": "254e59", + "b4cda4": "d6dbba", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/840.json b/public/images/pokemon/variant/exp/back/840.json new file mode 100644 index 00000000000..c60e9aaa3a7 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/840.json @@ -0,0 +1,28 @@ +{ + "1": { + "e2244a": "4e77a2", + "5fab1d": "7a7c9e", + "d39a52": "c55885", + "e32b50": "70a2c5", + "fe455c": "abd7e2", + "fa6f8b": "c1f3f3", + "a4d84a": "9aa0b3", + "357912": "313846", + "d3ee77": "c0cbd6", + "8d4229": "9c2e72", + "a50534": "3e6085" + }, + "2": { + "e2244a": "bfb5ab", + "5fab1d": "7a7c9e", + "d39a52": "463731", + "e32b50": "807770", + "fe455c": "dcd9d1", + "fa6f8b": "eeedea", + "a4d84a": "9aa0b3", + "357912": "313846", + "d3ee77": "afc6d2", + "8d4229": "291411", + "a50534": "68645f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/841.json b/public/images/pokemon/variant/exp/back/841.json new file mode 100644 index 00000000000..11e45f3fc34 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/841.json @@ -0,0 +1,34 @@ +{ + "1": { + "df6655": "c1f3f3", + "56ab32": "a59ab3", + "9b2629": "70a2c5", + "d9695a": "c55885", + "ebe381": "854774", + "ccb468": "5d2654", + "8d764b": "110723", + "ccca71": "b3b1d6", + "612324": "3e6085", + "488235": "8e7a9e", + "c3a965": "e6dcf9", + "b5915b": "34123a", + "d72d31": "abd7e2", + "395a2e": "383146" + }, + "2": { + "df6655": "eeedea", + "56ab32": "e28c95", + "9b2629": "bfb5ab", + "d9695a": "463731", + "ebe381": "854774", + "ccb468": "5d2654", + "8d764b": "110723", + "ccca71": "e2dcd6", + "612324": "68645f", + "488235": "a8546e", + "c3a965": "cbb4af", + "b5915b": "34123a", + "d72d31": "dcd9d1", + "395a2e": "4f0e30" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/842.json b/public/images/pokemon/variant/exp/back/842.json new file mode 100644 index 00000000000..926d558357b --- /dev/null +++ b/public/images/pokemon/variant/exp/back/842.json @@ -0,0 +1,38 @@ +{ + "1": { + "ac6b20": "101010", + "1f4329": "313846", + "9f7034": "110723", + "cfb07a": "a3b9d0", + "fcff86": "397880", + "7de755": "d66f9a", + "244d1f": "852560", + "fed26e": "698db4", + "39a45f": "9aa0b3", + "ffa63b": "2d3d68", + "e78422": "1f1946", + "e75574": "abd7e2", + "af2348": "70a2c5", + "621522": "3e6085", + "ffc575": "2b526f", + "2c743e": "7a7c9e" + }, + "2": { + "ac6b20": "101010", + "1f4329": "341c1c", + "9f7034": "2e0e09", + "cfb07a": "cbb4af", + "fcff86": "eee0bc", + "7de755": "589df3", + "244d1f": "2e2246", + "fed26e": "b9937a", + "39a45f": "e28c95", + "ffa63b": "63473b", + "e78422": "4b211b", + "e75574": "dcd9d1", + "af2348": "bfb5ab", + "621522": "68645f", + "ffc575": "d1a87e", + "2c743e": "a8546e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/871.json b/public/images/pokemon/variant/exp/back/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/207.json b/public/images/pokemon/variant/female/207.json index b0ae8e84102..b1e3582ae5c 100644 --- a/public/images/pokemon/variant/female/207.json +++ b/public/images/pokemon/variant/female/207.json @@ -1,32 +1,26 @@ { "1": { - "63314a": "7f4812", - "e6a5ce": "f8dd84", - "101010": "101010", - "ad6394": "b67322", - "de84b5": "daa93f", - "4a5a73": "4a5a73", - "ffffff": "ffffff", - "adbdc5": "adbdc5", - "bd6b5a": "bd6b5a", + "de84b5": "e3784d", + "e6a5ce": "f7a565", + "63314a": "2b8199", "4a73bd": "3b426f", - "ffa584": "ffa584", "294a7b": "1f2142", - "6b9cef": "596596" + "ad6394": "ba4732", + "612f48": "802019", + "6b9cef": "596596", + "ffa584": "68edca", + "bd6b5a": "44c5c9" }, "2": { - "63314a": "5f1723", - "e6a5ce": "ef6b58", - "101010": "101010", - "ad6394": "97343c", - "de84b5": "c04144", - "4a5a73": "4a5a73", - "ffffff": "ffffff", - "adbdc5": "adbdc5", - "bd6b5a": "c86539", - "4a73bd": "42bca0", + "de84b5": "42bca0", + "e6a5ce": "70e0b7", + "63314a": "752d17", + "4a73bd": "de597e", + "294a7b": "8a2b54", + "ad6394": "27868a", + "612f48": "134e5e", + "6b9cef": "f78f96", "ffa584": "f0a452", - "294a7b": "33817e", - "6b9cef": "81e4b3" + "bd6b5a": "c86539" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/female/332.json b/public/images/pokemon/variant/female/332.json new file mode 100644 index 00000000000..c86429d13c4 --- /dev/null +++ b/public/images/pokemon/variant/female/332.json @@ -0,0 +1,34 @@ +{ + "1": { + "319452": "780d4a", + "4a7310": "982443", + "7ba563": "b44040", + "bdef84": "ec8c8c", + "8cbd63": "bf3d64", + "215200": "710f2e", + "a5d674": "e16363", + "196b21": "7d1157", + "f7ce00": "5bcfc3", + "525252": "20668c", + "63b56b": "9e2056", + "a5d673": "de5b6f", + "8c6b3a": "33a3b0", + "4aa552": "8a1652" + }, + "2": { + "319452": "b59c72", + "4a7310": "4f3956", + "7ba563": "805a9c", + "bdef84": "c193cf", + "8cbd63": "f6f7df", + "215200": "694d37", + "a5d674": "a473ba", + "196b21": "9c805f", + "f7ce00": "f2aab6", + "525252": "983364", + "63b56b": "e3ddb8", + "a5d673": "ebe9ca", + "8c6b3a": "df879f", + "4aa552": "c9b991" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/396.json b/public/images/pokemon/variant/female/396.json new file mode 100644 index 00000000000..f811a4e002d --- /dev/null +++ b/public/images/pokemon/variant/female/396.json @@ -0,0 +1,38 @@ +{ + "1": { + "d6dede": "e3d09d", + "736363": "89ad57", + "3f1e27": "965318", + "d67300": "edb651", + "b5b5b5": "d1a562", + "9c4a21": "db963b", + "ff9429": "ffcf5e", + "3a2129": "2a4f19", + "524a4a": "558033", + "4f4747": "dbb070", + "fcfcfc": "f0ebc5", + "ff0000": "5da848", + "4a4343": "731e22", + "ad9c9c": "ed7b61", + "756565": "144a40", + "8c7373": "b53f36" + }, + "2": { + "d6dede": "f0deaa", + "736363": "4da8a1", + "3f1e27": "451915", + "d67300": "63362b", + "b5b5b5": "debd8c", + "9c4a21": "52281f", + "ff9429": "8c604c", + "3a2129": "235a6b", + "524a4a": "307b82", + "4f4747": "e3c896", + "fcfcfc": "fcfad2", + "ff0000": "c4568a", + "4a4343": "0d142e", + "ad9c9c": "2f436b", + "756565": "e0703d", + "8c7373": "1b2745" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/397.json b/public/images/pokemon/variant/female/397.json new file mode 100644 index 00000000000..8f266f191c6 --- /dev/null +++ b/public/images/pokemon/variant/female/397.json @@ -0,0 +1,38 @@ +{ + "1": { + "ff9429": "ffcf5e", + "3a3a3a": "558033", + "7b4221": "965318", + "523a4a": "731e22", + "9c848c": "ed7b61", + "5a525a": "739e49", + "735a63": "b53f36", + "f75242": "8bba65", + "b5b5b5": "d9c798", + "bd6300": "db963b", + "9c4242": "528a3e", + "3b303d": "144a40", + "4d464d": "256e54", + "2e222e": "3c5e24", + "3b333b": "753510", + "fcfcfc": "f0ebc5" + }, + "2": { + "ff9429": "8c604c", + "3a3a3a": "307b82", + "7b4221": "52281f", + "523a4a": "0d142e", + "9c848c": "2f436b", + "5a525a": "4da8a1", + "735a63": "1b2745", + "f75242": "f797ad", + "b5b5b5": "f0deaa", + "bd6300": "63362b", + "9c4242": "c4568a", + "3b303d": "e0703d", + "4d464d": "e68e57", + "2e222e": "235a6b", + "3b333b": "421917", + "fcfcfc": "fcfad2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/398.json b/public/images/pokemon/variant/female/398.json new file mode 100644 index 00000000000..d4e72672103 --- /dev/null +++ b/public/images/pokemon/variant/female/398.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "b53f36", + "5c545c": "144a40", + "5a525a": "558033", + "7b6b7b": "89ad57", + "f75242": "156146", + "4f3847": "753510", + "b5b5b5": "d7be89", + "9c4242": "0c403b", + "7b4221": "965318", + "fcfcfc": "e8e3b6", + "3a3a3a": "2a4f19", + "bd6300": "db963b", + "523a4a": "731e22", + "9c848c": "ed7b61", + "ff9429": "ffcf5e" + }, + "2": { + "735a63": "1b2745", + "5c545c": "e0703d", + "5a525a": "307b82", + "7b6b7b": "4da8a1", + "f75242": "f78a4a", + "4f3847": "421917", + "b5b5b5": "f0deaa", + "9c4242": "c94a2a", + "7b4221": "52281f", + "fcfcfc": "fcfad2", + "3a3a3a": "235a6b", + "bd6300": "63362b", + "523a4a": "080d1f", + "9c848c": "293854", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/403.json b/public/images/pokemon/variant/female/403.json new file mode 100644 index 00000000000..4f8bd43540c --- /dev/null +++ b/public/images/pokemon/variant/female/403.json @@ -0,0 +1,26 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "943a52": "33190a", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "e64a52": "3e2711", + "42426b": "63121d", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "943a52": "3a5e80", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "e64a52": "4a7c92", + "42426b": "161b36", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/404.json b/public/images/pokemon/variant/female/404.json new file mode 100644 index 00000000000..1c96dd11832 --- /dev/null +++ b/public/images/pokemon/variant/female/404.json @@ -0,0 +1,28 @@ +{ + "1": { + "736352": "234085", + "4a4a73": "63121d", + "63637b": "f1dbb1", + "b59c5a": "3763b8", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "943a52": "5a2d0f", + "e64a52": "3e2711", + "7badf7": "bf403a" + }, + "2": { + "736352": "298e7d", + "4a4a73": "161b36", + "63637b": "def4f0", + "b59c5a": "36b88a", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "943a52": "3a5e80", + "e64a52": "4a7c92", + "7badf7": "324663" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/405.json b/public/images/pokemon/variant/female/405.json new file mode 100644 index 00000000000..c873cceb259 --- /dev/null +++ b/public/images/pokemon/variant/female/405.json @@ -0,0 +1,28 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "63637b": "f1dbb1", + "637bb5": "962a2f", + "943a52": "5a2d0f", + "4a4a63": "dcb488", + "ffe65a": "4881cc", + "313142": "bd7e54", + "4a4a73": "63121d", + "e64a52": "3e2711", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "63637b": "def4f0", + "637bb5": "222f4d", + "943a52": "3a5e80", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "4a4a73": "161b36", + "e64a52": "4a7c92", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/417.json b/public/images/pokemon/variant/female/417.json new file mode 100644 index 00000000000..42b3180ee3c --- /dev/null +++ b/public/images/pokemon/variant/female/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "8fecf7", + "ffd663": "d0fdff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon_icons_1v.json b/public/images/pokemon_icons_1v.json index de66db65eb7..f5023b98a4b 100644 --- a/public/images/pokemon_icons_1v.json +++ b/public/images/pokemon_icons_1v.json @@ -13,2287 +13,6287 @@ "filename": "1_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "1_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "2_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "2_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "4_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "4_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "5_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "5_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "6-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "6-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-x_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-x_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-y_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-y_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "7_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "7_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "8_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "8_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "9_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "19_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "19_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "20_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "20_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "23_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "23_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "24_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "24_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-beauty-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-beauty-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cool-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cool-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-cute-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-cute-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-partner_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-partner_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-smart-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-smart-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-tough-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-tough-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "26_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "26_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "29_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "29_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "29_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "30_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "30_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "31_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "31_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "31_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "32_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "32_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "33_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "33_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "34_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "34_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "35_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "35_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "36_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "36_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "37_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "37_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "38_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "38_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "39_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "39_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "40_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "40_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "41_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "41_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "41_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "42_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "42_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "42_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "43_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "43_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "44_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "44_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "45_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "45_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "46_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "46_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "46_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "47_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "47_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "47_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "50_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "50_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "51_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "51_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52-gigantamax_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "53_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "53_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "53_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "56_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "56_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "56_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "57_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "57_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "57_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "69_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "69_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "70_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "70_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "71_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "71_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "77_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "77_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "78_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "78_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "79_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "79_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "79_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "81_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "81_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "82_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "82_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "83_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "83_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84-f_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "84-f_2", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "84-f_3", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "84-f_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "84-f_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85-f_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "85-f_2", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "85-f_3", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "85-f_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "85-f_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "86_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "86_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "86_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "87_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "87_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "87_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "88_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "88_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "89_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "89_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "92_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "92_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "92_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "93_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "93_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "93_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-gigantamax_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-mega_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "98_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "98_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "100_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "100_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "101_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "101_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "102_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "102_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "103_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "103_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "111_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "111_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "112_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "112_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "113_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "113_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "113_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "114_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "114_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "116_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "116_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "117_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "117_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "118_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "118_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "118_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "119_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "119_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "119_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "120_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "120_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "121_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "121_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "123_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "123_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "123_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "125_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "125_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "125_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "126_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "126_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "128_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "128_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "129_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "129_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "131-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "131-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "131_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "131_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "132_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "132_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133-partner_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133-partner_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "134_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "134_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "135_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "135_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "135_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "136_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "136_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "136_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "137_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "137_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "138_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "138_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "139_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "139_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "140_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "140_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "141_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "141_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "143-gigantamax_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 540, + "w": 40, + "h": 30 + } + }, + { + "filename": "143-gigantamax_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 540, + "w": 40, + "h": 30 + } + }, + { + "filename": "143_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 540, + "w": 40, + "h": 30 + } + }, + { + "filename": "143_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "144_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "144_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "144_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "145_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "145_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "145_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "146_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "146_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "146_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "147_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "147_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "148_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "148_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "149_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "149_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-x_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-x_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-y_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-y_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "151_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "151_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 570, + "w": 40, + "h": 30 + } } ] } ], "meta": { - "app": "texturepacker", - "version": "3.0" + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:3447489444000034526be9543e0a03fb:c9244ec22fd9b63bdc7e97bf457f1266:2fc2d7db306a93e9369e20846ccef45c$" } } diff --git a/public/images/pokemon_icons_1v.png b/public/images/pokemon_icons_1v.png index d6b1bc0cf7e2e4122c62151cdc92d31b1ff9f1a1..025c1ab025abca56312d51a6ae723702dbba126b 100644 GIT binary patch literal 61514 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 T$AjEhm_tQDQywV?3;q89PPn4n literal 58708 zcmYhicQjnz_dc#fFCl958ev8R5kwcgCd$lUFhmz(i0IKJO4R5?qBCQR(MGSMm*}E* z(L=PTKdquY_jRy2*9hr z=Ky6<9tl6y+&@7@9Bew#PoLdh?i=}*e)FA>7Z+7ig>Z%&%Bw5lRwsK@qLTp^rtJX(@Sp?XfV~?8^=Ru4MbZ z-}A%6a}Oyc2jP$I{B(A9uGQ5`Fc9zJw?`DZ>%0Z$5NZsKDo8e&D zGM~2oVf&lMu646d(h3VxjI@>h)t5Hyp0crqA@#Y>!l)Ifge2dkI~oTZHbveZ)@rJ% z+M9f9kL^FbyyAHNdZMmSGCJ@X;Bi)k^7Y^ADC72sx52_(0`B~(?oZ+*LcegUz3Y#y zg$U{*a6|Iy>eqjE3$)!~-MO()M-797$UtX%0A$d``xyX!WL5ODaWgKhBEr?ozpZ&{ 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 diff --git a/public/images/pokemon_icons_2v.json b/public/images/pokemon_icons_2v.json index 23eec483b42..519ea6c62f2 100644 --- a/public/images/pokemon_icons_2v.json +++ b/public/images/pokemon_icons_2v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_2v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 540, + "h": 540 }, "scale": 1, "frames": [ @@ -1417,7 +1417,7 @@ } }, { - "filename": "190_2", + "filename": "187_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -1437,6 +1437,132 @@ "h": 30 } }, + { + "filename": "187_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "188_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "188_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "189_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "189_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "190_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 150, + "w": 40, + "h": 30 + } + }, { "filename": "190_3", "rotated": false, @@ -1452,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 150, "w": 40, "h": 30 @@ -1536,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1557,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1578,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1599,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1620,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1641,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1662,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1683,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1704,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1725,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1746,7 +1872,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1893,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1788,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1809,7 +1935,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 180, "w": 40, "h": 30 @@ -1830,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 180, "w": 40, "h": 30 @@ -1851,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1872,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1893,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1914,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1935,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 160, + "y": 210, "w": 40, "h": 30 } @@ -1956,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 200, + "y": 210, "w": 40, "h": 30 } @@ -1977,7 +2103,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 210, "w": 40, "h": 30 @@ -1998,7 +2124,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 210, "w": 40, "h": 30 @@ -2019,7 +2145,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -2040,7 +2166,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -2061,7 +2187,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -2082,7 +2208,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -2103,7 +2229,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 210, "w": 40, "h": 30 @@ -2124,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -2145,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -2166,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -2187,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -2208,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 160, + "y": 240, "w": 40, "h": 30 } @@ -2229,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 200, + "y": 240, "w": 40, "h": 30 } @@ -2250,7 +2376,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2397,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 240, "w": 40, "h": 30 @@ -2292,7 +2418,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 240, "w": 40, "h": 30 @@ -2313,7 +2439,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 240, "w": 40, "h": 30 @@ -2334,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2355,7 +2481,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 240, "w": 40, "h": 30 @@ -2376,7 +2502,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 240, "w": 40, "h": 30 @@ -2397,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2418,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2439,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -2460,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -2481,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -2502,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -2523,7 +2649,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 270, "w": 40, "h": 30 @@ -2544,7 +2670,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 270, "w": 40, "h": 30 @@ -2565,7 +2691,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 270, "w": 40, "h": 30 @@ -2586,7 +2712,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 270, "w": 40, "h": 30 @@ -2607,7 +2733,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2628,7 +2754,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2649,7 +2775,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2670,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2691,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2712,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2754,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2775,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2796,7 +2922,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 300, "w": 40, "h": 30 @@ -2817,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 300, "w": 40, "h": 30 @@ -2838,7 +2964,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 300, "w": 40, "h": 30 @@ -2859,7 +2985,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 300, "w": 40, "h": 30 @@ -2880,7 +3006,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 300, "w": 40, "h": 30 @@ -2901,7 +3027,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 300, "w": 40, "h": 30 @@ -2922,7 +3048,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 300, "w": 40, "h": 30 @@ -2943,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2964,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2985,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -3027,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -3048,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -3069,7 +3195,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 330, "w": 40, "h": 30 @@ -3090,7 +3216,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -3111,7 +3237,91 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "204_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "204_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "205_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "205_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3132,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3153,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3174,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -3195,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -3216,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -3237,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3258,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -3300,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -3321,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -3342,7 +3552,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3363,7 +3573,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3384,7 +3594,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3405,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3426,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3447,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3468,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3489,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3510,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3531,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3573,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3594,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3615,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3636,7 +3846,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3657,7 +3867,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3678,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3699,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3720,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 390, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -3741,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 390, + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3762,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 390, + "x": 160, + "y": 420, "w": 40, "h": 30 } @@ -3783,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 200, + "y": 420, "w": 40, "h": 30 } @@ -3804,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 240, + "y": 420, "w": 40, "h": 30 } @@ -3825,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 280, + "y": 420, "w": 40, "h": 30 } @@ -3846,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 320, + "y": 420, "w": 40, "h": 30 } @@ -3867,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 360, + "y": 420, "w": 40, "h": 30 } @@ -3888,7 +4098,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -3909,7 +4119,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -3930,7 +4140,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 420, "w": 40, "h": 30 @@ -3951,8 +4161,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 420, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -3972,8 +4182,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 420, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -3993,8 +4203,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 420, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -4014,8 +4224,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 420, + "x": 120, + "y": 450, "w": 40, "h": 30 } @@ -4035,8 +4245,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 420, + "x": 160, + "y": 450, "w": 40, "h": 30 } @@ -4056,8 +4266,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 420, + "x": 200, + "y": 450, "w": 40, "h": 30 } @@ -4077,8 +4287,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 420, + "x": 240, + "y": 450, "w": 40, "h": 30 } @@ -4098,8 +4308,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 280, + "y": 450, "w": 40, "h": 30 } @@ -4119,8 +4329,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 320, + "y": 450, "w": 40, "h": 30 } @@ -4140,8 +4350,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 360, + "y": 450, "w": 40, "h": 30 } @@ -4161,7 +4371,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 450, "w": 40, "h": 30 @@ -4182,7 +4392,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 450, "w": 40, "h": 30 @@ -4203,7 +4413,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 450, "w": 40, "h": 30 @@ -4223,216 +4433,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 120, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "243_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 160, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "244_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 200, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "244_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 240, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "245_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 280, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "245_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 320, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "246_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 360, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "246_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 400, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "247_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 440, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "247_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "248-mega_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 480, @@ -4441,7 +4441,7 @@ } }, { - "filename": "248-mega_3", + "filename": "243_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4462,7 +4462,7 @@ } }, { - "filename": "248_2", + "filename": "244_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4483,7 +4483,7 @@ } }, { - "filename": "248_3", + "filename": "244_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4504,7 +4504,7 @@ } }, { - "filename": "249_2", + "filename": "245_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4525,7 +4525,7 @@ } }, { - "filename": "249_3", + "filename": "245_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4546,7 +4546,7 @@ } }, { - "filename": "250_2", + "filename": "246_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4567,7 +4567,7 @@ } }, { - "filename": "250_3", + "filename": "246_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4588,7 +4588,7 @@ } }, { - "filename": "251_2", + "filename": "247_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4609,7 +4609,7 @@ } }, { - "filename": "251_3", + "filename": "247_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4628,6 +4628,216 @@ "w": 40, "h": 30 } + }, + { + "filename": "248-mega_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "248-mega_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "248_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "248_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "249_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "249_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "250_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "250_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "251_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "251_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 510, + "w": 40, + "h": 30 + } } ] } @@ -4635,6 +4845,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:cb87bf48266ab3d893dbbd24a52f875f:d37e73561b49b4fe831e3fcaee67b851:63b368599cdc6e139499267117e91cd5$" + "smartupdate": "$TexturePacker:SmartUpdate:9bbc7b4492e80aa5722cc2bf05816872:55b15740d88d2f1d62acee04668f97a7:63b368599cdc6e139499267117e91cd5$" } } diff --git a/public/images/pokemon_icons_2v.png b/public/images/pokemon_icons_2v.png index e74840b647b50427e5d26528fe7063770c31c386..fea0fb339ce07cf4b480d95b7f6eb723f3ae2b15 100644 GIT binary patch literal 39393 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 YKR{l6vK5&s_W%F@07*qoM6N<$f-{^hDF6Tf literal 37450 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 DuuDNg diff --git a/public/images/pokemon_icons_3v.json b/public/images/pokemon_icons_3v.json index 2500eebbff8..e18ce672c4e 100644 --- a/public/images/pokemon_icons_3v.json +++ b/public/images/pokemon_icons_3v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_3v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 560, + "h": 560 }, "scale": 1, "frames": [ @@ -297,8 +297,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 30, + "x": 520, + "y": 0, "w": 40, "h": 30 } @@ -318,7 +318,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 0, "y": 30, "w": 40, "h": 30 @@ -339,7 +339,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 40, "y": 30, "w": 40, "h": 30 @@ -360,7 +360,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 80, "y": 30, "w": 40, "h": 30 @@ -381,7 +381,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 120, "y": 30, "w": 40, "h": 30 @@ -402,7 +402,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 160, "y": 30, "w": 40, "h": 30 @@ -423,7 +423,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 200, "y": 30, "w": 40, "h": 30 @@ -444,7 +444,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 240, "y": 30, "w": 40, "h": 30 @@ -465,7 +465,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 280, "y": 30, "w": 40, "h": 30 @@ -486,7 +486,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 320, "y": 30, "w": 40, "h": 30 @@ -507,7 +507,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 360, "y": 30, "w": 40, "h": 30 @@ -528,7 +528,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 400, "y": 30, "w": 40, "h": 30 @@ -549,7 +549,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 440, "y": 30, "w": 40, "h": 30 @@ -570,8 +570,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 60, + "x": 480, + "y": 30, "w": 40, "h": 30 } @@ -591,8 +591,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 520, + "y": 30, "w": 40, "h": 30 } @@ -612,7 +612,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 0, "y": 60, "w": 40, "h": 30 @@ -633,7 +633,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 40, "y": 60, "w": 40, "h": 30 @@ -654,7 +654,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 80, "y": 60, "w": 40, "h": 30 @@ -675,7 +675,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 120, "y": 60, "w": 40, "h": 30 @@ -696,7 +696,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 160, "y": 60, "w": 40, "h": 30 @@ -717,7 +717,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 200, "y": 60, "w": 40, "h": 30 @@ -738,7 +738,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 240, "y": 60, "w": 40, "h": 30 @@ -759,7 +759,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 280, "y": 60, "w": 40, "h": 30 @@ -780,7 +780,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 320, "y": 60, "w": 40, "h": 30 @@ -801,7 +801,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 360, "y": 60, "w": 40, "h": 30 @@ -822,7 +822,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 400, "y": 60, "w": 40, "h": 30 @@ -843,8 +843,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 90, + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -864,8 +864,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 480, + "y": 60, "w": 40, "h": 30 } @@ -885,8 +885,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 520, + "y": 60, "w": 40, "h": 30 } @@ -906,7 +906,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 0, "y": 90, "w": 40, "h": 30 @@ -927,7 +927,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 40, "y": 90, "w": 40, "h": 30 @@ -948,7 +948,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 80, "y": 90, "w": 40, "h": 30 @@ -969,7 +969,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 120, "y": 90, "w": 40, "h": 30 @@ -990,7 +990,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 160, "y": 90, "w": 40, "h": 30 @@ -1011,7 +1011,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 200, "y": 90, "w": 40, "h": 30 @@ -1032,7 +1032,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 240, "y": 90, "w": 40, "h": 30 @@ -1053,7 +1053,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 280, "y": 90, "w": 40, "h": 30 @@ -1074,7 +1074,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 320, "y": 90, "w": 40, "h": 30 @@ -1095,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 360, "y": 90, "w": 40, "h": 30 @@ -1116,8 +1116,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 120, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -1137,8 +1137,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 120, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -1158,7 +1158,49 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, + "y": 90, + "w": 40, + "h": 30 + } + }, + { + "filename": "299_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 90, + "w": 40, + "h": 30 + } + }, + { + "filename": "299_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, "y": 120, "w": 40, "h": 30 @@ -1179,7 +1221,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 40, "y": 120, "w": 40, "h": 30 @@ -1200,7 +1242,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 80, "y": 120, "w": 40, "h": 30 @@ -1221,7 +1263,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 120, "y": 120, "w": 40, "h": 30 @@ -1242,7 +1284,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 160, "y": 120, "w": 40, "h": 30 @@ -1263,7 +1305,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 200, "y": 120, "w": 40, "h": 30 @@ -1284,7 +1326,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 240, "y": 120, "w": 40, "h": 30 @@ -1305,7 +1347,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 280, "y": 120, "w": 40, "h": 30 @@ -1326,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 320, "y": 120, "w": 40, "h": 30 @@ -1347,7 +1389,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 360, "y": 120, "w": 40, "h": 30 @@ -1368,7 +1410,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 400, "y": 120, "w": 40, "h": 30 @@ -1389,8 +1431,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 440, + "y": 120, "w": 40, "h": 30 } @@ -1410,8 +1452,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 480, + "y": 120, "w": 40, "h": 30 } @@ -1431,8 +1473,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 520, + "y": 120, "w": 40, "h": 30 } @@ -1452,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 0, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 40, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1536,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 80, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1557,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 120, "y": 150, "w": 40, "h": 30 @@ -1536,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1557,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1578,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1599,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 280, "y": 150, "w": 40, "h": 30 @@ -1620,7 +1662,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 320, "y": 150, "w": 40, "h": 30 @@ -1641,7 +1683,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1662,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 180, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1683,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 180, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1704,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 180, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1725,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 180, + "x": 520, + "y": 150, "w": 40, "h": 30 } @@ -1746,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 0, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 40, "y": 180, "w": 40, "h": 30 @@ -1788,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 80, "y": 180, "w": 40, "h": 30 @@ -1809,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 120, "y": 180, "w": 40, "h": 30 @@ -1830,7 +1872,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1851,7 +1893,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1872,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1893,7 +1935,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1914,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1935,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1956,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1977,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1998,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -2019,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 520, + "y": 180, "w": 40, "h": 30 } @@ -2040,7 +2082,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 0, "y": 210, "w": 40, "h": 30 @@ -2061,7 +2103,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 40, "y": 210, "w": 40, "h": 30 @@ -2082,7 +2124,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 80, "y": 210, "w": 40, "h": 30 @@ -2103,7 +2145,91 @@ "h": 30 }, "frame": { - "x": 320, + "x": 120, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "313_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "313_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "314_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "314_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, "y": 210, "w": 40, "h": 30 @@ -2124,7 +2250,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -2145,7 +2271,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -2166,7 +2292,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -2187,7 +2313,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -2208,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -2228,6 +2354,48 @@ "w": 40, "h": 30 }, + "frame": { + "x": 520, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "325_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "325_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 40, "y": 240, @@ -2235,6 +2403,48 @@ "h": 30 } }, + { + "filename": "326_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "326_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 240, + "w": 40, + "h": 30 + } + }, { "filename": "327_2", "rotated": false, @@ -2250,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2481,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 240, "w": 40, "h": 30 @@ -2292,7 +2502,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 240, "w": 40, "h": 30 @@ -2313,7 +2523,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 240, "w": 40, "h": 30 @@ -2334,7 +2544,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 240, "w": 40, "h": 30 @@ -2355,7 +2565,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 240, "w": 40, "h": 30 @@ -2376,7 +2586,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2396,48 +2606,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 360, - "y": 240, - "w": 40, - "h": 30 - } - }, - { - "filename": "333_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 400, - "y": 240, - "w": 40, - "h": 30 - } - }, - { - "filename": "333_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 440, "y": 240, @@ -2446,7 +2614,7 @@ } }, { - "filename": "334-mega_2", + "filename": "331_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -2467,7 +2635,28 @@ } }, { - "filename": "334-mega_3", + "filename": "331_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "332_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -2487,6 +2676,111 @@ "h": 30 } }, + { + "filename": "332_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "333_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "333_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "334-mega_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "334-mega_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 270, + "w": 40, + "h": 30 + } + }, { "filename": "334_2", "rotated": false, @@ -2502,7 +2796,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 240, "y": 270, "w": 40, "h": 30 @@ -2523,7 +2817,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 280, "y": 270, "w": 40, "h": 30 @@ -2544,7 +2838,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 320, "y": 270, "w": 40, "h": 30 @@ -2565,7 +2859,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 360, "y": 270, "w": 40, "h": 30 @@ -2586,7 +2880,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2607,7 +2901,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2628,7 +2922,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2649,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 520, "y": 270, "w": 40, "h": 30 @@ -2670,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2691,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2712,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2754,7 +3048,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 300, "w": 40, "h": 30 @@ -2775,7 +3069,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 300, "w": 40, "h": 30 @@ -2796,7 +3090,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 300, "w": 40, "h": 30 @@ -2817,7 +3111,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 300, "w": 40, "h": 30 @@ -2838,7 +3132,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 300, "w": 40, "h": 30 @@ -2859,7 +3153,91 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "345_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "345_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "346_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "346_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, "y": 300, "w": 40, "h": 30 @@ -2880,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2901,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2922,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2943,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2964,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2985,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -3027,7 +3405,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -3048,7 +3426,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 320, "y": 330, "w": 40, "h": 30 @@ -3069,7 +3447,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 360, "y": 330, "w": 40, "h": 30 @@ -3090,7 +3468,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 400, "y": 330, "w": 40, "h": 30 @@ -3111,7 +3489,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 440, "y": 330, "w": 40, "h": 30 @@ -3132,7 +3510,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3153,7 +3531,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 520, "y": 330, "w": 40, "h": 30 @@ -3174,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3195,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3216,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -3237,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -3258,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3300,7 +3678,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 360, "w": 40, "h": 30 @@ -3321,7 +3699,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 360, "w": 40, "h": 30 @@ -3342,7 +3720,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 360, "w": 40, "h": 30 @@ -3363,7 +3741,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 360, "w": 40, "h": 30 @@ -3384,7 +3762,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3405,7 +3783,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3426,7 +3804,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3447,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 520, "y": 360, "w": 40, "h": 30 @@ -3468,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3489,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3510,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3531,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3573,7 +3951,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 200, "y": 390, "w": 40, "h": 30 @@ -3594,7 +3972,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 240, "y": 390, "w": 40, "h": 30 @@ -3615,7 +3993,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 280, "y": 390, "w": 40, "h": 30 @@ -3636,7 +4014,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 320, "y": 390, "w": 40, "h": 30 @@ -3657,7 +4035,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 360, "y": 390, "w": 40, "h": 30 @@ -3678,7 +4056,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3699,7 +4077,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3720,7 +4098,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3741,7 +4119,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 520, "y": 390, "w": 40, "h": 30 @@ -3762,8 +4140,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3783,8 +4161,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3804,8 +4182,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -3825,8 +4203,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3846,7 +4224,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 420, "w": 40, "h": 30 @@ -3867,7 +4245,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 420, "w": 40, "h": 30 @@ -3888,7 +4266,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 420, "w": 40, "h": 30 @@ -3909,7 +4287,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 420, "w": 40, "h": 30 @@ -3930,7 +4308,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 420, "w": 40, "h": 30 @@ -3951,7 +4329,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 420, "w": 40, "h": 30 @@ -3972,7 +4350,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -3993,7 +4371,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -4014,7 +4392,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 480, "y": 420, "w": 40, "h": 30 @@ -4035,7 +4413,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 520, "y": 420, "w": 40, "h": 30 @@ -4056,8 +4434,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -4077,8 +4455,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -4098,8 +4476,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -4119,7 +4497,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 120, "y": 450, "w": 40, "h": 30 @@ -4140,7 +4518,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 160, "y": 450, "w": 40, "h": 30 @@ -4161,7 +4539,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 200, "y": 450, "w": 40, "h": 30 @@ -4182,7 +4560,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 240, "y": 450, "w": 40, "h": 30 @@ -4203,7 +4581,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 280, "y": 450, "w": 40, "h": 30 @@ -4224,7 +4602,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 320, "y": 450, "w": 40, "h": 30 @@ -4245,7 +4623,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 360, "y": 450, "w": 40, "h": 30 @@ -4266,7 +4644,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 400, "y": 450, "w": 40, "h": 30 @@ -4287,7 +4665,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 440, "y": 450, "w": 40, "h": 30 @@ -4308,7 +4686,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 480, "y": 450, "w": 40, "h": 30 @@ -4329,7 +4707,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 520, "y": 450, "w": 40, "h": 30 @@ -4349,48 +4727,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 440, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "382-primal_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "382_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 480, @@ -4399,7 +4735,7 @@ } }, { - "filename": "382_3", + "filename": "382-primal_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4420,7 +4756,7 @@ } }, { - "filename": "383-primal_2", + "filename": "382_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4441,7 +4777,7 @@ } }, { - "filename": "383-primal_3", + "filename": "382_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4462,7 +4798,7 @@ } }, { - "filename": "383_2", + "filename": "383-primal_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4483,7 +4819,7 @@ } }, { - "filename": "383_3", + "filename": "383-primal_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4504,7 +4840,7 @@ } }, { - "filename": "384-mega_2", + "filename": "383_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4525,7 +4861,7 @@ } }, { - "filename": "384-mega_3", + "filename": "383_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4546,7 +4882,7 @@ } }, { - "filename": "384_2", + "filename": "384-mega_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4567,7 +4903,7 @@ } }, { - "filename": "384_3", + "filename": "384-mega_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4588,7 +4924,7 @@ } }, { - "filename": "385_1", + "filename": "384_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4609,7 +4945,7 @@ } }, { - "filename": "385_2", + "filename": "384_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4630,7 +4966,7 @@ } }, { - "filename": "385_3", + "filename": "385_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -4649,6 +4985,48 @@ "w": 40, "h": 30 } + }, + { + "filename": "385_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "385_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } } ] } @@ -4656,6 +5034,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:673055e796ec5f9913fd1dd04284765c:1804ddee68059c3372bf99289c91dd89:039b026190bf1878996b3e03190bcdf3$" + "smartupdate": "$TexturePacker:SmartUpdate:205dbeed0e74aff154166e4664b6771c:8bafe4b4084b51e4e837c213db97e8a4:039b026190bf1878996b3e03190bcdf3$" } } diff --git a/public/images/pokemon_icons_3v.png b/public/images/pokemon_icons_3v.png index 6b699b3bfa95b29528a86a307548ded7a2758784..b151e36e72c181247a66fd3a6ad418a0707b7911 100644 GIT binary patch literal 47691 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 literal 44779 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

      TcfY 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 BU8(>8 diff --git a/public/images/pokemon_icons_4v.json b/public/images/pokemon_icons_4v.json index 2f171915e01..bbaca92c7c7 100644 --- a/public/images/pokemon_icons_4v.json +++ b/public/images/pokemon_icons_4v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_4v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 540, + "h": 540 }, "scale": 1, "frames": [ @@ -388,7 +388,7 @@ } }, { - "filename": "399_2", + "filename": "396_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -408,6 +408,132 @@ "h": 30 } }, + { + "filename": "396_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "397_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "397_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "398_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "398_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "399_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 30, + "w": 40, + "h": 30 + } + }, { "filename": "399_3", "rotated": false, @@ -423,7 +549,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 30, "w": 40, "h": 30 @@ -444,8 +570,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 30, + "x": 0, + "y": 60, "w": 40, "h": 30 } @@ -465,8 +591,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 30, + "x": 40, + "y": 60, "w": 40, "h": 30 } @@ -486,8 +612,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 30, + "x": 80, + "y": 60, "w": 40, "h": 30 } @@ -507,8 +633,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 30, + "x": 120, + "y": 60, "w": 40, "h": 30 } @@ -528,8 +654,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 30, + "x": 160, + "y": 60, "w": 40, "h": 30 } @@ -549,8 +675,134 @@ "h": 30 }, "frame": { - "x": 480, - "y": 30, + "x": 200, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "403_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "403_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "404_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "404_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "405_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "405_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -570,7 +822,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 480, "y": 60, "w": 40, "h": 30 @@ -591,8 +843,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -612,8 +864,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 60, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -633,8 +885,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 60, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -654,8 +906,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 60, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -675,8 +927,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 60, + "x": 160, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +948,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 60, + "x": 200, + "y": 90, "w": 40, "h": 30 } @@ -717,8 +969,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 240, + "y": 90, "w": 40, "h": 30 } @@ -738,8 +990,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 280, + "y": 90, "w": 40, "h": 30 } @@ -759,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 320, + "y": 90, "w": 40, "h": 30 } @@ -780,8 +1032,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 360, + "y": 90, "w": 40, "h": 30 } @@ -801,8 +1053,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 60, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -822,8 +1074,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 60, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -843,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 480, "y": 90, "w": 40, "h": 30 @@ -864,8 +1116,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -885,8 +1137,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -906,8 +1158,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 90, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -927,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 90, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -948,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 90, + "x": 160, + "y": 120, "w": 40, "h": 30 } @@ -969,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 90, + "x": 200, + "y": 120, "w": 40, "h": 30 } @@ -990,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 240, + "y": 120, "w": 40, "h": 30 } @@ -1011,8 +1263,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 280, + "y": 120, "w": 40, "h": 30 } @@ -1032,8 +1284,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 320, + "y": 120, "w": 40, "h": 30 } @@ -1053,8 +1305,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 360, + "y": 120, "w": 40, "h": 30 } @@ -1074,8 +1326,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 90, + "x": 400, + "y": 120, "w": 40, "h": 30 } @@ -1095,8 +1347,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 90, + "x": 440, + "y": 120, "w": 40, "h": 30 } @@ -1116,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 480, "y": 120, "w": 40, "h": 30 @@ -1136,9 +1388,135 @@ "w": 40, "h": 30 }, + "frame": { + "x": 0, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "420_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 40, - "y": 120, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "420_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-overcast_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-overcast_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-sunshine_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-sunshine_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 150, "w": 40, "h": 30 } @@ -1158,8 +1536,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 120, + "x": 280, + "y": 150, "w": 40, "h": 30 } @@ -1179,8 +1557,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 120, + "x": 320, + "y": 150, "w": 40, "h": 30 } @@ -1200,8 +1578,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 120, + "x": 360, + "y": 150, "w": 40, "h": 30 } @@ -1221,8 +1599,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 120, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1242,8 +1620,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 120, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1263,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1284,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1305,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1326,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1347,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1368,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1389,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1410,8 +1788,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 240, + "y": 180, "w": 40, "h": 30 } @@ -1431,8 +1809,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 280, + "y": 180, "w": 40, "h": 30 } @@ -1452,8 +1830,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 150, + "x": 320, + "y": 180, "w": 40, "h": 30 } @@ -1473,8 +1851,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 150, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1494,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 150, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1515,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 150, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1536,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -1557,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1578,8 +1956,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1599,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1620,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1641,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 160, + "y": 210, "w": 40, "h": 30 } @@ -1662,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 180, + "x": 200, + "y": 210, "w": 40, "h": 30 } @@ -1683,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 180, + "x": 240, + "y": 210, "w": 40, "h": 30 } @@ -1704,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 180, + "x": 280, + "y": 210, "w": 40, "h": 30 } @@ -1725,8 +2103,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 180, + "x": 320, + "y": 210, "w": 40, "h": 30 } @@ -1746,8 +2124,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 180, + "x": 360, + "y": 210, "w": 40, "h": 30 } @@ -1767,8 +2145,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 180, + "x": 400, + "y": 210, "w": 40, "h": 30 } @@ -1788,8 +2166,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 180, + "x": 440, + "y": 210, "w": 40, "h": 30 } @@ -1809,8 +2187,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -1830,8 +2208,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -1851,8 +2229,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -1872,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -1893,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -1914,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 160, + "y": 240, "w": 40, "h": 30 } @@ -1935,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 200, + "y": 240, "w": 40, "h": 30 } @@ -1956,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 240, + "y": 240, "w": 40, "h": 30 } @@ -1977,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 280, + "y": 240, "w": 40, "h": 30 } @@ -1998,8 +2376,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 320, + "y": 240, "w": 40, "h": 30 } @@ -2019,8 +2397,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 360, + "y": 240, "w": 40, "h": 30 } @@ -2040,8 +2418,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 210, + "x": 400, + "y": 240, "w": 40, "h": 30 } @@ -2061,8 +2439,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 210, + "x": 440, + "y": 240, "w": 40, "h": 30 } @@ -2082,8 +2460,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 480, + "y": 240, "w": 40, "h": 30 } @@ -2103,8 +2481,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2124,8 +2502,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2145,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -2166,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -2187,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -2208,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -2229,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 240, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -2250,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2271,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 320, + "y": 270, "w": 40, "h": 30 } @@ -2292,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 360, + "y": 270, "w": 40, "h": 30 } @@ -2313,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2334,8 +2712,50 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 440, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "446_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "446_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2355,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2376,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2397,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2418,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2439,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2460,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2481,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2502,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2523,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2544,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2565,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 440, + "y": 300, "w": 40, "h": 30 } @@ -2586,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 480, + "y": 300, "w": 40, "h": 30 } @@ -2607,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2628,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2649,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2670,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2691,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2712,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2733,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2754,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2775,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -2796,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -2817,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -2838,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 440, + "y": 330, "w": 40, "h": 30 } @@ -2859,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 480, + "y": 330, "w": 40, "h": 30 } @@ -2880,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2901,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -2922,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -2943,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -2964,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -2985,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3006,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -3027,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -3048,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -3069,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -3090,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 400, + "y": 360, "w": 40, "h": 30 } @@ -3111,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 440, + "y": 360, "w": 40, "h": 30 } @@ -3132,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 480, + "y": 360, "w": 40, "h": 30 } @@ -3153,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3174,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3195,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3216,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3237,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3258,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3279,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3300,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 360, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3321,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3342,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3363,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -3384,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 440, + "y": 390, "w": 40, "h": 30 } @@ -3405,8 +3825,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 480, + "y": 390, "w": 40, "h": 30 } @@ -3426,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3447,8 +3867,50 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 40, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "476_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "476_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3468,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 160, + "y": 420, "w": 40, "h": 30 } @@ -3489,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 200, + "y": 420, "w": 40, "h": 30 } @@ -3510,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 240, + "y": 420, "w": 40, "h": 30 } @@ -3531,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 280, + "y": 420, "w": 40, "h": 30 } @@ -3552,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 320, + "y": 420, "w": 40, "h": 30 } @@ -3573,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 390, + "x": 360, + "y": 420, "w": 40, "h": 30 } @@ -3594,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 390, + "x": 400, + "y": 420, "w": 40, "h": 30 } @@ -3615,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 390, + "x": 440, + "y": 420, "w": 40, "h": 30 } @@ -3636,8 +4098,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 390, + "x": 480, + "y": 420, "w": 40, "h": 30 } @@ -3657,8 +4119,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 390, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -3678,8 +4140,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 390, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -3699,8 +4161,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 390, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -3720,8 +4182,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 390, + "x": 120, + "y": 450, "w": 40, "h": 30 } @@ -3741,8 +4203,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 160, + "y": 450, "w": 40, "h": 30 } @@ -3762,8 +4224,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 200, + "y": 450, "w": 40, "h": 30 } @@ -3783,8 +4245,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 240, + "y": 450, "w": 40, "h": 30 } @@ -3804,8 +4266,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 280, + "y": 450, "w": 40, "h": 30 } @@ -3825,8 +4287,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 320, + "y": 450, "w": 40, "h": 30 } @@ -3846,8 +4308,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 420, + "x": 360, + "y": 450, "w": 40, "h": 30 } @@ -3867,8 +4329,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 420, + "x": 400, + "y": 450, "w": 40, "h": 30 } @@ -3888,8 +4350,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 420, + "x": 440, + "y": 450, "w": 40, "h": 30 } @@ -3909,8 +4371,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 420, + "x": 480, + "y": 450, "w": 40, "h": 30 } @@ -3930,8 +4392,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 420, + "x": 0, + "y": 480, "w": 40, "h": 30 } @@ -3951,8 +4413,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 420, + "x": 40, + "y": 480, "w": 40, "h": 30 } @@ -3972,8 +4434,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 420, + "x": 80, + "y": 480, "w": 40, "h": 30 } @@ -3993,8 +4455,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 420, + "x": 120, + "y": 480, "w": 40, "h": 30 } @@ -4014,8 +4476,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 420, + "x": 160, + "y": 480, "w": 40, "h": 30 } @@ -4035,8 +4497,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 420, + "x": 200, + "y": 480, "w": 40, "h": 30 } @@ -4056,8 +4518,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 240, + "y": 480, "w": 40, "h": 30 } @@ -4077,8 +4539,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 280, + "y": 480, "w": 40, "h": 30 } @@ -4098,8 +4560,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 320, + "y": 480, "w": 40, "h": 30 } @@ -4119,8 +4581,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 450, + "x": 360, + "y": 480, "w": 40, "h": 30 } @@ -4140,8 +4602,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 450, + "x": 400, + "y": 480, "w": 40, "h": 30 } @@ -4161,8 +4623,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 450, + "x": 440, + "y": 480, "w": 40, "h": 30 } @@ -4182,8 +4644,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 450, + "x": 480, + "y": 480, "w": 40, "h": 30 } @@ -4203,8 +4665,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 450, + "x": 0, + "y": 510, "w": 40, "h": 30 } @@ -4224,8 +4686,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 450, + "x": 40, + "y": 510, "w": 40, "h": 30 } @@ -4245,8 +4707,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 450, + "x": 80, + "y": 510, "w": 40, "h": 30 } @@ -4266,8 +4728,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 450, + "x": 120, + "y": 510, "w": 40, "h": 30 } @@ -4287,8 +4749,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 450, + "x": 160, + "y": 510, "w": 40, "h": 30 } @@ -4308,8 +4770,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 450, + "x": 200, + "y": 510, "w": 40, "h": 30 } @@ -4329,8 +4791,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 450, + "x": 240, + "y": 510, "w": 40, "h": 30 } @@ -4350,8 +4812,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 280, + "y": 510, "w": 40, "h": 30 } @@ -4371,8 +4833,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 450, + "x": 320, + "y": 510, "w": 40, "h": 30 } @@ -4392,8 +4854,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 480, + "x": 360, + "y": 510, "w": 40, "h": 30 } @@ -4404,6 +4866,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2288ca6bd49f36a5ca5b49f1bcaab17a:e83f40529aad7883718910695eafd075:ebc3f8ec5b2480b298192d752b6e57dc$" + "smartupdate": "$TexturePacker:SmartUpdate:52236a80fa87dc64d12684ac85cf8440:2809a2ce37dd2c24fc872d083bf5a2aa:ebc3f8ec5b2480b298192d752b6e57dc$" } } diff --git a/public/images/pokemon_icons_4v.png b/public/images/pokemon_icons_4v.png index 7cfab80312aefe81b60615bd638d3567c539c5b3..43938ed50958d3fb9a200e654bca1e5646415453 100644 GIT binary patch literal 46415 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 PfcY^tFxRitb)x(q$5Ont diff --git a/public/images/pokemon_icons_5v.json b/public/images/pokemon_icons_5v.json index 7da5a765c0c..d793ed1b650 100644 --- a/public/images/pokemon_icons_5v.json +++ b/public/images/pokemon_icons_5v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_5v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 570, + "h": 570 }, "scale": 1, "frames": [ @@ -178,7 +178,7 @@ } }, { - "filename": "501_2", + "filename": "498_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -198,6 +198,132 @@ "h": 30 } }, + { + "filename": "498_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "499_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "499_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "500_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "500_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "501_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 30, + "w": 40, + "h": 30 + } + }, { "filename": "501_3", "rotated": false, @@ -213,8 +339,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 0, + "x": 40, + "y": 30, "w": 40, "h": 30 } @@ -234,8 +360,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 0, + "x": 80, + "y": 30, "w": 40, "h": 30 } @@ -255,8 +381,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 0, + "x": 120, + "y": 30, "w": 40, "h": 30 } @@ -276,8 +402,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 0, + "x": 160, + "y": 30, "w": 40, "h": 30 } @@ -297,12 +423,264 @@ "h": 30 }, "frame": { - "x": 0, + "x": 200, "y": 30, "w": 40, "h": 30 } }, + { + "filename": "511_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "511_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "512_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "512_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "513_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "513_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "514_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "514_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "515_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "515_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "516_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "516_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 60, + "w": 40, + "h": 30 + } + }, { "filename": "517_2", "rotated": false, @@ -318,8 +696,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 30, + "x": 160, + "y": 60, "w": 40, "h": 30 } @@ -339,8 +717,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 30, + "x": 200, + "y": 60, "w": 40, "h": 30 } @@ -360,8 +738,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 30, + "x": 240, + "y": 60, "w": 40, "h": 30 } @@ -381,8 +759,92 @@ "h": 30 }, "frame": { - "x": 160, - "y": 30, + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "522_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "522_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "523_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "523_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -402,8 +864,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 30, + "x": 480, + "y": 60, "w": 40, "h": 30 } @@ -423,8 +885,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 30, + "x": 520, + "y": 60, "w": 40, "h": 30 } @@ -444,8 +906,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 30, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -465,8 +927,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 30, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -486,8 +948,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 30, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -507,8 +969,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 30, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -528,8 +990,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 30, + "x": 160, + "y": 90, "w": 40, "h": 30 } @@ -549,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 30, + "x": 200, + "y": 90, "w": 40, "h": 30 } @@ -570,8 +1032,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 60, + "x": 240, + "y": 90, "w": 40, "h": 30 } @@ -591,8 +1053,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 280, + "y": 90, "w": 40, "h": 30 } @@ -612,8 +1074,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 60, + "x": 320, + "y": 90, "w": 40, "h": 30 } @@ -633,8 +1095,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 60, + "x": 360, + "y": 90, "w": 40, "h": 30 } @@ -654,8 +1116,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 60, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -675,8 +1137,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 60, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +1158,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 60, + "x": 480, + "y": 90, "w": 40, "h": 30 } @@ -717,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 520, + "y": 90, "w": 40, "h": 30 } @@ -738,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -759,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -780,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -801,8 +1263,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 60, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -822,8 +1284,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 60, + "x": 160, + "y": 120, "w": 40, "h": 30 } @@ -843,8 +1305,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 90, + "x": 200, + "y": 120, "w": 40, "h": 30 } @@ -864,8 +1326,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 240, + "y": 120, "w": 40, "h": 30 } @@ -885,8 +1347,134 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 280, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "535_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "535_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "536_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "536_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "537_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "537_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 120, "w": 40, "h": 30 } @@ -906,8 +1494,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 90, + "x": 0, + "y": 150, "w": 40, "h": 30 } @@ -927,8 +1515,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 90, + "x": 40, + "y": 150, "w": 40, "h": 30 } @@ -948,8 +1536,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 90, + "x": 80, + "y": 150, "w": 40, "h": 30 } @@ -969,8 +1557,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 90, + "x": 120, + "y": 150, "w": 40, "h": 30 } @@ -990,8 +1578,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 160, + "y": 150, "w": 40, "h": 30 } @@ -1011,8 +1599,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 200, + "y": 150, "w": 40, "h": 30 } @@ -1032,8 +1620,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 240, + "y": 150, "w": 40, "h": 30 } @@ -1053,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 280, + "y": 150, "w": 40, "h": 30 } @@ -1074,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 90, + "x": 320, + "y": 150, "w": 40, "h": 30 } @@ -1095,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 90, + "x": 360, + "y": 150, "w": 40, "h": 30 } @@ -1116,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 120, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1137,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 120, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1158,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 120, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1179,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 120, + "x": 520, + "y": 150, "w": 40, "h": 30 } @@ -1200,8 +1788,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 120, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1221,8 +1809,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 120, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1242,8 +1830,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 120, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1263,8 +1851,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1284,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1305,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1326,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 240, + "y": 180, "w": 40, "h": 30 } @@ -1347,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 280, + "y": 180, "w": 40, "h": 30 } @@ -1368,8 +1956,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 320, + "y": 180, "w": 40, "h": 30 } @@ -1389,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1410,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1431,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1452,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 150, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -1473,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 150, + "x": 520, + "y": 180, "w": 40, "h": 30 } @@ -1494,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 150, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1515,8 +2103,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 150, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1535,9 +2123,135 @@ "w": 40, "h": 30 }, + "frame": { + "x": 80, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "554_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "554_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555-zen_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555-zen_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 280, - "y": 150, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 210, "w": 40, "h": 30 } @@ -1557,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 360, + "y": 210, "w": 40, "h": 30 } @@ -1578,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 400, + "y": 210, "w": 40, "h": 30 } @@ -1599,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 440, + "y": 210, "w": 40, "h": 30 } @@ -1620,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -1641,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 520, + "y": 210, "w": 40, "h": 30 } @@ -1663,7 +2377,7 @@ }, "frame": { "x": 0, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1684,7 +2398,7 @@ }, "frame": { "x": 40, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1705,7 +2419,7 @@ }, "frame": { "x": 80, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1726,7 +2440,7 @@ }, "frame": { "x": 120, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1747,7 +2461,7 @@ }, "frame": { "x": 160, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1768,7 +2482,7 @@ }, "frame": { "x": 200, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1789,7 +2503,91 @@ }, "frame": { "x": 240, - "y": 180, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "566_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "566_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "567_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "567_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 240, "w": 40, "h": 30 } @@ -1809,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 440, + "y": 240, "w": 40, "h": 30 } @@ -1830,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 480, + "y": 240, "w": 40, "h": 30 } @@ -1851,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 520, + "y": 240, "w": 40, "h": 30 } @@ -1872,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -1893,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -1914,8 +2712,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -1935,8 +2733,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -1956,8 +2754,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -1977,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -1998,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -2019,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2040,8 +2838,50 @@ "h": 30 }, "frame": { - "x": 200, - "y": 210, + "x": 320, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "573_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "573_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2061,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 210, + "x": 440, + "y": 270, "w": 40, "h": 30 } @@ -2082,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 480, + "y": 270, "w": 40, "h": 30 } @@ -2103,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 520, + "y": 270, "w": 40, "h": 30 } @@ -2124,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2145,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2166,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2187,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2208,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2229,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 240, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2250,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2271,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2292,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2313,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2334,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2355,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 440, + "y": 300, "w": 40, "h": 30 } @@ -2376,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 480, + "y": 300, "w": 40, "h": 30 } @@ -2397,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 520, + "y": 300, "w": 40, "h": 30 } @@ -2418,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2439,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2460,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2481,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2502,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2523,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2544,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2565,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2586,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -2607,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -2628,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -2649,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 440, + "y": 330, "w": 40, "h": 30 } @@ -2670,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 480, + "y": 330, "w": 40, "h": 30 } @@ -2691,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 520, + "y": 330, "w": 40, "h": 30 } @@ -2712,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2733,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -2754,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -2775,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -2796,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -2817,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -2838,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -2859,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -2880,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -2901,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -2922,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 400, + "y": 360, "w": 40, "h": 30 } @@ -2943,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 440, + "y": 360, "w": 40, "h": 30 } @@ -2964,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 480, + "y": 360, "w": 40, "h": 30 } @@ -2985,8 +3825,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 520, + "y": 360, "w": 40, "h": 30 } @@ -3006,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3027,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3048,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3069,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3090,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3111,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3132,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3153,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3174,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3195,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3216,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -3237,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 440, + "y": 390, "w": 40, "h": 30 } @@ -3258,8 +4098,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 480, + "y": 390, "w": 40, "h": 30 } @@ -3279,8 +4119,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 520, + "y": 390, "w": 40, "h": 30 } @@ -3301,7 +4141,7 @@ }, "frame": { "x": 0, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3322,7 +4162,7 @@ }, "frame": { "x": 40, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3343,7 +4183,7 @@ }, "frame": { "x": 80, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3364,7 +4204,7 @@ }, "frame": { "x": 120, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3385,7 +4225,7 @@ }, "frame": { "x": 160, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3406,7 +4246,7 @@ }, "frame": { "x": 200, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3427,7 +4267,7 @@ }, "frame": { "x": 240, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3448,7 +4288,7 @@ }, "frame": { "x": 280, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3469,7 +4309,7 @@ }, "frame": { "x": 320, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3490,7 +4330,7 @@ }, "frame": { "x": 360, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3511,7 +4351,7 @@ }, "frame": { "x": 400, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3532,7 +4372,7 @@ }, "frame": { "x": 440, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3553,7 +4393,7 @@ }, "frame": { "x": 480, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3573,8 +4413,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 390, + "x": 520, + "y": 420, "w": 40, "h": 30 } @@ -3594,8 +4434,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 390, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -3615,8 +4455,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 390, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -3636,8 +4476,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 390, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -3657,8 +4497,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 390, + "x": 120, + "y": 450, "w": 40, "h": 30 } @@ -3678,8 +4518,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 390, + "x": 160, + "y": 450, "w": 40, "h": 30 } @@ -3699,8 +4539,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 390, + "x": 200, + "y": 450, "w": 40, "h": 30 } @@ -3720,8 +4560,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 390, + "x": 240, + "y": 450, "w": 40, "h": 30 } @@ -3741,8 +4581,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 280, + "y": 450, "w": 40, "h": 30 } @@ -3762,8 +4602,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 320, + "y": 450, "w": 40, "h": 30 } @@ -3782,9 +4622,51 @@ "w": 40, "h": 30 }, + "frame": { + "x": 360, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "626_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 400, - "y": 390, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "626_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 450, "w": 40, "h": 30 } @@ -3804,8 +4686,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 480, + "y": 450, "w": 40, "h": 30 } @@ -3825,8 +4707,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 520, + "y": 450, "w": 40, "h": 30 } @@ -3847,7 +4729,7 @@ }, "frame": { "x": 0, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3868,7 +4750,7 @@ }, "frame": { "x": 40, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3889,7 +4771,7 @@ }, "frame": { "x": 80, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3910,7 +4792,7 @@ }, "frame": { "x": 120, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3931,7 +4813,7 @@ }, "frame": { "x": 160, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3952,7 +4834,7 @@ }, "frame": { "x": 200, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3973,7 +4855,7 @@ }, "frame": { "x": 240, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3994,7 +4876,7 @@ }, "frame": { "x": 280, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4015,7 +4897,7 @@ }, "frame": { "x": 320, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4036,7 +4918,7 @@ }, "frame": { "x": 360, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4057,7 +4939,7 @@ }, "frame": { "x": 400, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4078,7 +4960,7 @@ }, "frame": { "x": 440, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4099,7 +4981,7 @@ }, "frame": { "x": 480, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4119,14 +5001,35 @@ "h": 30 }, "frame": { - "x": 0, - "y": 450, + "x": 520, + "y": 480, "w": 40, "h": 30 } }, { - "filename": "641-incarnate_1", + "filename": "643_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "643_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4141,13 +5044,13 @@ }, "frame": { "x": 40, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "641-therian_1", + "filename": "644_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4162,13 +5065,13 @@ }, "frame": { "x": 80, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "642-incarnate_1", + "filename": "644_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4183,13 +5086,13 @@ }, "frame": { "x": 120, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "642-therian_1", + "filename": "646-black_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4204,13 +5107,13 @@ }, "frame": { "x": 160, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "645-incarnate_1", + "filename": "646-black_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4225,13 +5128,13 @@ }, "frame": { "x": 200, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "645-therian_1", + "filename": "646-white_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4246,7 +5149,70 @@ }, "frame": { "x": 240, - "y": 450, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "646-white_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "646_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "646_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 510, "w": 40, "h": 30 } @@ -4266,8 +5232,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 450, + "x": 400, + "y": 510, "w": 40, "h": 30 } @@ -4287,8 +5253,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 450, + "x": 440, + "y": 510, "w": 40, "h": 30 } @@ -4308,8 +5274,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 450, + "x": 480, + "y": 510, "w": 40, "h": 30 } @@ -4329,8 +5295,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 450, + "x": 520, + "y": 510, "w": 40, "h": 30 } @@ -4350,8 +5316,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 0, + "y": 540, "w": 40, "h": 30 } @@ -4371,8 +5337,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 450, + "x": 40, + "y": 540, "w": 40, "h": 30 } @@ -4392,8 +5358,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 480, + "x": 80, + "y": 540, "w": 40, "h": 30 } @@ -4413,8 +5379,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 480, + "x": 120, + "y": 540, "w": 40, "h": 30 } @@ -4434,8 +5400,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 480, + "x": 160, + "y": 540, "w": 40, "h": 30 } @@ -4455,8 +5421,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 480, + "x": 200, + "y": 540, "w": 40, "h": 30 } @@ -4476,8 +5442,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 480, + "x": 240, + "y": 540, "w": 40, "h": 30 } @@ -4497,8 +5463,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 480, + "x": 280, + "y": 540, "w": 40, "h": 30 } @@ -4518,8 +5484,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 480, + "x": 320, + "y": 540, "w": 40, "h": 30 } @@ -4539,8 +5505,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 480, + "x": 360, + "y": 540, "w": 40, "h": 30 } @@ -4560,8 +5526,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 480, + "x": 400, + "y": 540, "w": 40, "h": 30 } @@ -4581,8 +5547,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 480, + "x": 440, + "y": 540, "w": 40, "h": 30 } @@ -4602,8 +5568,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 480, + "x": 480, + "y": 540, "w": 40, "h": 30 } @@ -4623,8 +5589,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 480, + "x": 520, + "y": 540, "w": 40, "h": 30 } @@ -4635,6 +5601,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:b615ea9a62bec26b97d0171030d11a55:35fd8571f91311ef2e9944578f979466:f1931bc28ee7f32dba7543723757cf2a$" + "smartupdate": "$TexturePacker:SmartUpdate:d7ba1fabe0180573c58dd3fb1ea6e279:cbff8ace700a0111c2ee3279d01d11e4:f1931bc28ee7f32dba7543723757cf2a$" } } diff --git a/public/images/pokemon_icons_5v.png b/public/images/pokemon_icons_5v.png index 9dd1b278ac1bf13f0b003f0f43876c27052809ce..ba23de2e3f538d8e07dbbe1b7bf16b4d02c97c05 100644 GIT binary patch literal 51486 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 RbEE(O002ovPDHLkV1h*wQAq#* literal 41975 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 QH2?qr07*qoM6N<$f@rYXJpcdz diff --git a/public/images/pokemon_icons_7v.json b/public/images/pokemon_icons_7v.json index 30e12ce3bb4..d82cc4e3210 100644 --- a/public/images/pokemon_icons_7v.json +++ b/public/images/pokemon_icons_7v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_7v.png", "format": "RGBA8888", "size": { - "w": 440, - "h": 440 + "w": 450, + "h": 450 }, "scale": 1, "frames": [ @@ -304,7 +304,7 @@ } }, { - "filename": "747_2", + "filename": "746-school_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -324,6 +324,90 @@ "h": 30 } }, + { + "filename": "746-school_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "746_1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "746_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "747_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } + }, { "filename": "747_3", "rotated": false, @@ -339,7 +423,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 30, "w": 40, "h": 30 @@ -360,7 +444,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 30, "w": 40, "h": 30 @@ -381,7 +465,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 30, "w": 40, "h": 30 @@ -402,8 +486,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 30, + "x": 0, + "y": 60, "w": 40, "h": 30 } @@ -423,8 +507,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 30, + "x": 40, + "y": 60, "w": 40, "h": 30 } @@ -444,8 +528,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 30, + "x": 80, + "y": 60, "w": 40, "h": 30 } @@ -465,8 +549,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 30, + "x": 120, + "y": 60, "w": 40, "h": 30 } @@ -486,7 +570,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 60, "w": 40, "h": 30 @@ -507,7 +591,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 60, "w": 40, "h": 30 @@ -528,7 +612,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 60, "w": 40, "h": 30 @@ -549,7 +633,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 60, "w": 40, "h": 30 @@ -570,7 +654,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 60, "w": 40, "h": 30 @@ -591,7 +675,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 60, "w": 40, "h": 30 @@ -612,7 +696,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 60, "w": 40, "h": 30 @@ -633,8 +717,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -654,8 +738,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -675,8 +759,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +780,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -717,7 +801,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 90, "w": 40, "h": 30 @@ -738,7 +822,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 90, "w": 40, "h": 30 @@ -759,7 +843,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 90, "w": 40, "h": 30 @@ -780,7 +864,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 90, "w": 40, "h": 30 @@ -801,7 +885,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 90, "w": 40, "h": 30 @@ -822,7 +906,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 90, "w": 40, "h": 30 @@ -843,7 +927,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 90, "w": 40, "h": 30 @@ -864,8 +948,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -885,8 +969,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -906,8 +990,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -927,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -948,7 +1032,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 120, "w": 40, "h": 30 @@ -969,7 +1053,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 120, "w": 40, "h": 30 @@ -990,7 +1074,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 120, "w": 40, "h": 30 @@ -1011,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 120, "w": 40, "h": 30 @@ -1032,7 +1116,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 120, "w": 40, "h": 30 @@ -1053,7 +1137,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 120, "w": 40, "h": 30 @@ -1074,7 +1158,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 120, "w": 40, "h": 30 @@ -1095,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 0, + "y": 150, "w": 40, "h": 30 } @@ -1116,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 40, + "y": 150, "w": 40, "h": 30 } @@ -1137,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 80, + "y": 150, "w": 40, "h": 30 } @@ -1158,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 120, + "y": 150, "w": 40, "h": 30 } @@ -1179,7 +1263,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1200,7 +1284,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1221,7 +1305,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1242,7 +1326,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 150, "w": 40, "h": 30 @@ -1263,7 +1347,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 150, "w": 40, "h": 30 @@ -1284,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1305,7 +1389,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1326,8 +1410,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1347,8 +1431,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1368,8 +1452,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1389,8 +1473,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1410,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1431,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1452,7 +1536,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1473,7 +1557,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1494,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1515,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1536,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1557,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1578,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1599,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1620,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1641,7 +1725,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 210, "w": 40, "h": 30 @@ -1662,7 +1746,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 210, "w": 40, "h": 30 @@ -1683,7 +1767,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 210, "w": 40, "h": 30 @@ -1704,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 210, "w": 40, "h": 30 @@ -1725,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -1746,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -1767,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -1788,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -1809,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -1830,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -1851,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -1872,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 240, "w": 40, "h": 30 @@ -1893,12 +1977,180 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 240, "w": 40, "h": 30 } }, + { + "filename": "780_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "780_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "782_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "782_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "783_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "783_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "784_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "784_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 270, + "w": 40, + "h": 30 + } + }, { "filename": "789_1", "rotated": false, @@ -1914,8 +2166,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -1935,8 +2187,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -1956,8 +2208,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -1977,8 +2229,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -1998,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2019,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 320, + "y": 270, "w": 40, "h": 30 } @@ -2040,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 360, + "y": 270, "w": 40, "h": 30 } @@ -2061,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2082,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2103,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2124,8 +2376,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2145,8 +2397,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2166,8 +2418,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2187,8 +2439,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2208,8 +2460,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2229,8 +2481,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2250,8 +2502,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2271,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2292,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2313,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2334,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2355,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2376,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2397,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2418,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2439,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2460,8 +2712,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2481,8 +2733,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -2502,8 +2754,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -2523,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -2544,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2565,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -2586,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -2607,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -2628,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -2649,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -2670,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -2691,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -2712,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -2733,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -2754,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 400, + "y": 360, "w": 40, "h": 30 } @@ -2775,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -2796,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -2817,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -2838,8 +3090,92 @@ "h": 30 }, "frame": { - "x": 80, - "y": 360, + "x": 120, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2037_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2037_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2038_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2038_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -2859,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -2880,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -2901,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -2922,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -2943,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -2964,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -2976,6 +3312,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:914c9869d6dab145bbbe443bdc3f932c:80b9ecf9647b68af17c07b88e1a1856e:d5975df27e1e94206a68aa1fd3c2c8d0$" + "smartupdate": "$TexturePacker:SmartUpdate:57eaade41c16d492ffda5339ea142c4d:b96a0f88bd707a9967af73e7bdf13031:d5975df27e1e94206a68aa1fd3c2c8d0$" } } diff --git a/public/images/pokemon_icons_7v.png b/public/images/pokemon_icons_7v.png index 1f7d6e5f8261f47127caf722e50838288cd63d12..12c81de925c809a201a23c769f3abb7349147971 100644 GIT binary patch literal 30580 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 literal 27054 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 literal 46264 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 diff --git a/public/images/pokemon_icons_9v.json b/public/images/pokemon_icons_9v.json index 6c8b93208e3..57159a3fbfb 100644 --- a/public/images/pokemon_icons_9v.json +++ b/public/images/pokemon_icons_9v.json @@ -3291,6 +3291,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c13ec323095f727665fa953e64e98300:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$" + "smartupdate": "$TexturePacker:SmartUpdate:c01add1e11aabd2f8931110a67a9222b:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$" } } diff --git a/public/images/pokemon_icons_9v.png b/public/images/pokemon_icons_9v.png index f71b6c5ada5fad7f6c35380870005042d0d2b845..f3530abe569a35ed34dbc021ba0720c967802bf0 100644 GIT binary patch literal 35071 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 Date: Thu, 1 May 2025 20:24:37 -0400 Subject: [PATCH 084/102] [Docs] Added changes to markdown files + comment fixes (#5682) * Added changes to markdown files, reworked test boilerplate code + comment fixes * Update comments.md Removed references to jsdoc. Removed mention of @extends which doesn't even exist in tsdoc Increased clarity of documenting `args` parameter. Moved to using active voice instead of passive voice * Fix truncated sentence in returns example * fix create-test-boilerplate.js Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update gameManager.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update comments.md Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update gameManager.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update gameManager.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update gameManager.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update gameManager.ts * Fixed doc thing * Fixed the things Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Fixde boilerplate to use snake case * Update .gitignore to include workspace files * Update linting.md, fix lefthook etc. * Fix tpyo * Update create-test-boilerplate.js Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com> * Update create-test-boilerplate.js Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com> * Update create-test-boilerplate.js Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com> * Reverted boilerplate code fixes and applied review comments Will now be handled by milkmaiden * Fixed up documentation for comments.md and linting.md Comments.md added info pertaining to Kev's review linting.md i just stopped spouting misinformation * Update `biome.jsonc` comments Update `comments.md` Update docs for `AddSubstituteAttr` in `move.ts` to match example * Apply suggestions to the suggestions --------- Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com> --- .gitignore | 3 +- biome.jsonc | 4 +- docs/comments.md | 117 +++++++++++++++++++++---------- docs/enemy-ai.md | 125 ++++++++++++++++++++++------------ docs/linting.md | 71 +++++++++++++------ lefthook.yml | 5 +- src/data/moves/move.ts | 20 +++--- src/utils/common.ts | 16 ++--- test/testUtils/gameManager.ts | 55 ++++++++------- 9 files changed, 265 insertions(+), 151 deletions(-) diff --git a/.gitignore b/.gitignore index 9d96ed04a15..00df0002e01 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,8 @@ dist-ssr *.local # Editor directories and files -.vscode/* +.vscode +*.code-workspace .idea .DS_Store *.suo diff --git a/biome.jsonc b/biome.jsonc index a433470cd90..3385614635c 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -105,10 +105,10 @@ "linter": { "rules": { "performance": { - "noDelete": "off" + "noDelete": "off" // TODO: evaluate if this is necessary for the test(s) to function }, "style": { - "noNamespaceImport": "off" + "noNamespaceImport": "off" // this is required for `vi.spyOn` to work in some tests } } } diff --git a/docs/comments.md b/docs/comments.md index 9610052adf2..ba6c9929625 100644 --- a/docs/comments.md +++ b/docs/comments.md @@ -1,64 +1,107 @@ -## How do I comment my code? +# Commenting code -### While we're not enforcing a strict standard, there are some things to keep in mind: +People spend more time reading code than writing it (sometimes substantially more so). As such, comments and documentation are **vital** for any large codebase like this. + +## General Guidelines +While we're not enforcing a strict standard, here are some things to keep in mind: - Make comments meaningful - - Comments should be explaining why a line or block of code exists and what the reason behind it is - - Comments should not be repeating chunks of code or explaining what 'true' and 'false' means in typescript + - Comments should **NOT** repeat _what_ code _does_[^1] or explain concepts obvious to someone with a basic understanding of the language at hand. Instead, focus on explaining _why_ a line or block of code exists. + - Anyone with basic reading comprehension and a good IDE can figure out what code does; gaining a _post hoc_ understanding of the _reasons_ behind its existence takes a lot more digging, effort and bloodshed. +- Keep comments readable + - A comment's verbosity should roughly scale with the complexity of its subject matter. Some people naturally write shorter or longer comments as a personal style, but summarizing a 300 line function with "does a thing" is about as good as writing nothing. Conversely, writing a paragraph-level response where a basic one-liner would suffice is no less undesirable. + - Long comments should ideally be broken into multiple lines at around the 100-120 character mark. This isn't _mandatory_, but avoids unnecessary scrolling in terminals and IDEs. - Make sure comments exist on Functions, Classes, Methods, and Properties - - This may be the most important things to comment. When someone goes to use a function/class/method/etc., having a comment reduces the need to flip back and forth between files to figure out how something works. Peek Definition is great until you're three nested functions deep. - - The best example of this is JSDoc-style comments as seen below: - - When formatted this way, the comment gets shown by intellisense in VS Code or similar IDEs just by hovering over the text! - - Functions also show each the comment for parameter as you type them, making keeping track of what each one does in lengthy functions much more clear -```js -/** - * Changes the type-based weather modifier if this move's power would be reduced by it - * @param user {@linkcode Pokemon} using this move - * @param target {@linkcode Pokemon} target of this move - * @param move {@linkcode Move} being used - * @param args [0] {@linkcode Utils.NumberHolder} for arenaAttackTypeMultiplier - * @returns true if the function succeeds - */ -apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { -} + - These may be the most important things to comment. When someone goes to use a function/class/method/etc., having a comment reduces the need to flip back and forth between files to figure out what XYZ does. Peek Definition is great until you're three nested levels deep. -/** Set to true when experimental animated sprites from Gen6+ are used */ -public experimentalSprites: boolean = false; +[^1]: With exceptions for extremely long, convoluted or unintuitive methods (though an over-dependency on said comments is likely a symptom of poorly structured code). +# TSDoc +The codebase makes extensive use of [TSDoc](https://tsdoc.org), which is a TypeScript-specific version of [JSDoc](https://jsdoc.app/about-getting-started) +that uses similar syntax and attaches to functions, classes, etc. + +When formatted correctly, these comments are shown within VS Code or similar IDEs just by hovering over the function or object. +- Functions also show the comment for each parameter as you type them, making keeping track of arguments inside lengthy functions much more clear. + +They can also be used to generate a commentated overview of the codebase. There is a GitHub action that automatically updates [this docs site](https://pagefaultgames.github.io/pokerogue/main/index.html) +and you can generate it locally as well via `npm run docs` which will generate into the `typedoc/` directory. + +## Syntax +For an example of how TSDoc comments work, here are some TSDoc comments taken from `src/data/moves/move.ts`: +```ts /** - * Cures the user's party of non-volatile status conditions, ie. Heal Bell, Aromatherapy - * @extends MoveAttr - * @see {@linkcode apply} + * Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} for the user. */ -export class DontHealThePartyPlsAttr extends MoveAttr { +export class AddSubstituteAttr extends MoveEffectAttr { + /** The ratio of the user's max HP that is required to apply this effect */ + private hpCost: number; + /** Whether the damage taken should be rounded up (Shed Tail rounds up) */ + private roundUp: boolean; + + constructor(hpCost: number, roundUp: boolean) { + // code removed + } + + /** + * Removes 1/4 of the user's maximum HP (rounded down) to create a substitute for the user + * @param user - The {@linkcode Pokemon} that used the move. + * @param target - n/a + * @param move - The {@linkcode Move} with this attribute. + * @param args - n/a + * @returns `true` if the attribute successfully applies, `false` otherwise + */ + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + // code removed + } + + getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { + // code removed + } + + getCondition(): MoveConditionFunc { + // code removed + } + + /** + * Get the substitute-specific failure message if one should be displayed. + * @param user - The pokemon using the move. + * @returns The substitute-specific failure message if the conditions apply, otherwise `undefined` + */ + getFailedText(user: Pokemon, _target: Pokemon, _move: Move): string | undefined { + // code removed + } } ``` -You'll notice this contains an `{@linkcode Object}` tag for each parameter. This provides an easy type denomination and hyperlink to that type using VS Code's Intellisense. `@linkcode` is used instead of `@link` so that the text appears in monospace which is more obviously a `type` rather than a random hyperlink. -If you're interested in going more in depth, you can find a reference guide for how comments like these work [here](https://jsdoc.app) +Looking at the example given, you'll notice this contains an `{@linkcode XYZ}` tag in some of the parameters. This provides a clickable hyperlink to that type or object in most modern IDEs. (`@linkcode` is used here instead of `@link` so that the text appears in monospace which is more obviously a `type` rather than a random hyperlink.) \ +Also note the dashes (` - `) between the parameter names and descriptions - these are **mandatory** under the TSDoc spec[^2]. + +If you're interested in going more in depth, you can find a reference guide for how comments like these work [on the TSDoc website](https://tsdoc.org). +The [playground page](https://tsdoc.org/play/) there can also be used for live testing of examples. + +[^2]: Incidentally, this is also the only place dashes are explicitly _required_. ### What not to do: - Don't leave comments for code you don't understand - - Incorrect information is worse than no information. If you aren't sure how something works, don't make something up to explain it. Ask for help instead. + - Incorrect information is worse than no information. If you aren't sure how something works, don't make something up to explain it - ask for help and/or mark it as TODO. - Don't over-comment - - Not everything needs an explanation. Try to summarize blocks of code instead of singular lines where possible. Single line comments should call out specific oddities. + - Not everything needs a comment. Try to summarize blocks of code instead of singular lines where possible, always preferring giving a reason over stating a fact. Single line comments should call out specific oddities or features. ## How do Abilities and Moves differ from other classes? While other classes should be fully documented, Abilities and Moves heavily incoperate inheritance (i.e. the `extends` keyword). Because of this, much of the functionality in these classes is duplicated or only slightly changed between classes. ### With this in mind, there's a few more things to keep in mind for these: - Do not document any parameters if the function mirrors the one they extend. - - Keep this in mind for functions that are not the `apply` function as they are usually sparce and mostly reused -- The class itself must be documented - - This must include the `@extends BaseClass` and `@see {@linkcode apply}` tags + - Keep this in mind for functions that are not the `apply` function as they are usually sparse and mostly reused - Class member variables must be documented - You can use a single line documentation comment for these `/** i.e. a comment like this */` - `args` parameters must be documented if used - - This should look something like this when there are multiple: + - This should look something vaguely like this when there are multiple: ```ts /** ... - * @param args [0] {@linkcode Utils.NumberHolder} of arenaAttackTypeMultiplier - * [1] {@linkcode Utils.BooleanHolder} of cancelled - * [2] {@linkcode Utils.BooleanHolder} of rWeDoneYet + * @param args - + * `[0]` The {@linkcode Move} being used + * `[1]` A {@linkcode BooleanHolder} used to track XYZ + * `[2]` {@linkcode BooleanHolder} `paramC` - paramC description here ... */ -``` \ No newline at end of file +``` diff --git a/docs/enemy-ai.md b/docs/enemy-ai.md index 8edf5a3f10e..d73b0af980e 100644 --- a/docs/enemy-ai.md +++ b/docs/enemy-ai.md @@ -37,12 +37,12 @@ The `EnemyCommandPhase` follows this process to determine whether or not an enem 1. If the Pokémon has a move already queued (e.g. they are recharging after using Hyper Beam), or they are trapped (e.g. by Bind or Arena Trap), skip to resolving a `FIGHT` command (see next section). 2. For each Pokémon in the enemy's party, [compute their matchup scores](#calculating-matchup-scores) against the active player Pokémon. If there are two active player Pokémon in the battle, add their matchup scores together. 3. Take the party member with the highest matchup score and apply a multiplier to the score that reduces the score based on how frequently the enemy trainer has switched Pokémon in the current battle. - - The multiplier scales off of a counter that increments when the enemy trainer chooses to switch a Pokémon and decrements when they choose to use a move. + - The multiplier scales off of a counter that increments when the enemy trainer chooses to switch a Pokémon and decrements when they choose to use a move. 4. Compare the result of Step 3 with the active enemy Pokémon's matchup score. If the party member's matchup score is at least three times that of the active Pokémon, switch to that party member. - - "Boss" trainers only require the party member's matchup score to be at least two times that of the active Pokémon, so they are more likely to switch than other trainers. The full list of boss trainers in the game is as follows: - - All gym leaders, Elite 4 members, and Champions - - All Evil Team leaders - - The last three Rival Fights (on waves 95, 145, and 195) + - "Boss" trainers only require the party member's matchup score to be at least two times that of the active Pokémon, so they are more likely to switch than other trainers. The full list of boss trainers in the game is as follows: + - All gym leaders, Elite 4 members, and Champions + - All Evil Team leaders + - The last three Rival Fights (on waves 95, 145, and 195) 5. If the enemy decided to switch, send a switch `turnCommand` and end this `EnemyCommandPhase`; otherwise, move on to resolving a `FIGHT` enemy command. ## Step 2: Selecting a Move @@ -54,28 +54,35 @@ At this point, the enemy (a wild or trainer Pokémon) has decided against switch In `getNextMove()`, the enemy Pokémon chooses a move to use in the following steps: 1. If the Pokémon has a move in its Move Queue (e.g. the second turn of a charging move), and the queued move is still usable, use that move against the given target. 2. Filter out any moves it can't use within its moveset. The remaining moves make up the enemy's **move pool** for the turn. - 1. A move can be unusable if it has no PP left or it has been disabled by another move or effect - 2. If the enemy's move pool is empty, use Struggle. + 1. A move can be unusable if it has no PP left or it has been disabled by another move or effect. + 2. If the enemy's move pool is empty, use Struggle. 3. Calculate the **move score** of each move in the enemy's move pool. - 1. A move's move score is equivalent to the move's maximum **target score** among all of the move's possible targets on the field ([more on this later](#calculating-move-and-target-scores)). - 2. A move's move score is set to -20 if at least one of these conditions are met: - - The move is unimplemented (or, more precisely, the move's name ends with " (N)"). - - Conditions for the move to succeed are not met (unless the move is Sucker Punch, Upper Hand, or Thunderclap, as those moves' conditions can't be resolved before the turn starts). - - The move's target scores are 0 or `NaN` for each target. In this case, the game assumes the target score calculation for that move is unimplemented. + 1. A move's move score is equivalent to the move's maximum **target score** among all of the move's possible targets on the field ([more on this later](#calculating-move-and-target-scores)). + 2. A move's move score is set to -20 if at least one of these conditions are met: + - The move is unimplemented (or, more precisely, the move's name ends with "(N)"). + - Conditions for the move to succeed are not met (unless the move is Sucker Punch, Upper Hand or Thunderclap, as those moves' conditions can't be resolved until after the turn starts). + - The move's target scores are 0 or `NaN` for each target. In this case, the game assumes the target score calculation for that move is unimplemented. 4. Sort the move pool in descending order of move scores. 5. From here, the enemy's move selection varies based on its `aiType`. If the enemy is a Boss Pokémon or has a Trainer, it uses the `SMART` AI type; otherwise, it uses the `SMART_RANDOM` AI type. - 1. Let $m_i$ be the *i*-th move in the sorted move pool $M$: - - If `aiType === SMART_RANDOM`, the enemy has a 5/8 chance of selecting $m_0$ and a 3/8 chance of advancing to the next best move $m_1$, where it then repeats this roll. This process stops when a move is selected or the last move in the move pool is reached. - - If `aiType === SMART`, a similar loop is used to decide between selecting the move $m_i$ and advancing to the next iteration with the move $m_{i+1}$. However, instead of using a flat probability, the following conditions need to be met to advance from selecting $m_i$ to $m_{i+1}$: - - $\text{sign}(s_i) = \text{sign}(s_{i+1})$, where $s_i$ is the move score of $m_i$. - - $\text{randInt}(0, 100) < \text{round}(\frac{s_{i+1}}{s_i}\times 50)$. In other words: if the scores of $m_i$ and $m_{i+1}$ have the same sign, the chance to advance to the next iteration with $m_{i+1}$ is proportional to how close the scores are to each other. The probability to advance to the next iteration is at most 50 percent (when $s_i$ and $s_{i+1}$ are equal). + 1. Let $m_i$ be the *i*-th move in the sorted move pool $M$: + - If `aiType === SMART_RANDOM`, the enemy has a 5/8 chance of selecting $m_0$ and a 3/8 chance of advancing to the next best move $m_1$, where it then repeats this roll. This process stops when a move is selected or the last move in the move pool is reached. + - If `aiType === SMART`, a similar loop is used to decide between selecting the move $m_i$ and advancing to the next iteration with the move $m_{i+1}$. However, instead of using a flat probability, the following conditions need to be met to advance from selecting $m_i$ to $m_{i+1}$: + - $\text{sign}(s_i) = \text{sign}(s_{i+1})$, where $s_i$ is the move score of $m_i$. + - $\text{randInt}(0, 100) < \text{round}(\frac{s_{i+1}}{s_i}\times 50)$. In other words: if the scores of $m_i$ and $m_{i+1}$ have the same sign, the chance to advance to the next iteration with $m_{i+1}$ is proportional to how close the scores are to each other. The probability to advance to the next iteration is at most 50 percent (when $s_i$ and $s_{i+1}$ are equal). 6. The enemy will use the move selected in Step 5 against the target(s) with the highest [**target selection score (TSS)**](#choosing-targets-with-getnexttargets) ### Calculating Move and Target Scores -As part of the move selection process, the enemy Pokémon must compute a **target score (TS)** for each legal target for each move in its move pool. The base target score for all moves is a combination of the move's **user benefit score (UBS)** and **target benefit score (TBS)**. +As part of the move selection process, the enemy Pokémon must compute a **target score (TS)** for each legal target for each move in its move pool. The base target score is a combination of the move's **user benefit score (UBS)** and **target benefit score (TBS)**, representing how much the move helps or hinders the user and/or its target(s). -![equation](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BTS%7D=%5Ctext%7BUBS%7D+%5Ctext%7BTBS%7D%5Ctimes%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D-1&%5Ctext%7Bif%20target%20is%20an%20opponent%7D%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) +$$ +\text{TS} = \text{UBS} + \left( \text{TBS} \times +\begin{cases} +-1 & \text{if target is an opponent} \\ +1 & \text{otherwise} +\end{cases} +\right) +$$ A move's UBS and TBS are computed with the respective functions in the `Move` class: @@ -96,19 +103,38 @@ In addition to the base score from `Move.getTargetBenefitScore()`, attack moves - The move's category (Physical/Special), and whether the user has a higher Attack or Special Attack stat. More specifically, the following steps are taken to compute the move's `attackScore`: -1. Compute a multiplier based on the move's type effectiveness: +1. Compute a multiplier based on the move's type effectiveness: - ![typeMultEqn](https://latex.codecogs.com/png.image?%5Cdpi%7B110%7D%5Cbg%7Bwhite%7D%5Ctext%7BtypeMult%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D2&&%5Ctext%7Bif%20move%20is%20super%20effective(or%20better)%7D%5C%5C-2&&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) + $$ + \text{typeMult} = + \begin{cases} + 2 & \text{if move is super effective (or better)} \\ + -2 & \text{otherwise} + \end{cases} + $$ 2. Compute a multiplier based on the move's category and the user's offensive stats: - 1. Compute the user's offensive stat ratio: - - ![statRatioEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BstatRatio%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%5Cfrac%7B%5Ctext%7BuserSpAtk%7D%7D%7B%5Ctext%7BuserAtk%7D%7D&%5Ctext%7Bif%20move%20is%20physical%7D%5C%5C%5Cfrac%7B%5Ctext%7BuserAtk%7D%7D%7B%5Ctext%7BuserSpAtk%7D%7D&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) - 2. Compute the stat-based multiplier: + 1. Compute the user's offensive stat ratio: - ![statMultEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BstatMult%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D2&%5Ctext%7Bif%20statRatio%7D%5Cle%200.75%5C%5C1.5&%5Ctext%7Bif%5C;%7D0.75%5Cle%5Ctext%7BstatRatio%7D%5Cle%200.875%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) + $$ + \text{statRatio} = + \begin{cases} + \frac{\text{userSpAtk}}{\text{userAtk}} & \text{if move is physical} \\ + \frac{\text{userAtk}}{\text{userSpAtk}} & \text{otherwise} + \end{cases} + $$ + 2. Compute the stat-based multiplier: + + $$ + \text{statMult} = + \begin{cases} + 2 & \text{if statRatio} \leq 0.75 \\ + 1.5 & \text{if } 0.75 \leq \text{statRatio} \leq 0.875 \\ + 1 & \text{otherwise} + \end{cases} + $$ 3. Calculate the move's `attackScore`: - $\text{attackScore} = (\text{typeMult}\times \text{statMult})+\lfloor \frac{\text{power}}{5} \rfloor$ + $\text{attackScore} = (\text{typeMult}\times \text{statMult})+\lfloor \frac{\text{power}}{5} \rfloor$ The maximum total multiplier in `attackScore` ($\text{typeMult}\times \text{statMult}$) is 4, which occurs for attacks that are super effective against the target and are categorically aligned with the user's offensive stats (e.g. the move is physical, and the user has much higher Attack than Sp. Atk). The minimum total multiplier of -4 occurs (somewhat confusingly) for attacks that are not super effective but are categorically aligned with the user's offensive stats. @@ -125,18 +151,31 @@ The final step to calculate an attack move's target score (TS) is to multiply th The enemy's target selection for single-target moves works in a very similar way to its move selection. Each potential target is given a **target selection score (TSS)** which is based on the move's [target benefit score](#calculating-move-and-target-scores) for that target: -![TSSEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BTSS%7D=%5Ctext%7BTBS%7D%5Ctimes%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D-1&%5Ctext%7Bif%20target%20is%20an%20opponent%7D%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) +$$ +\text{TSS} = \text{TBS} \times +\begin{cases} +-1 & \text{if target is an opponent} \\ +1 & \text{otherwise} +\end{cases} +$$ Once the TSS is calculated for each target, the target is selected as follows: 1. Sort the targets (indexes) in decreasing order of their target selection scores (or weights). Let $t_i$ be the index of the *i*-th target in the sorted list, and let $w_i$ be that target's corresponding TSS. 2. Normalize the weights. Let $w_n$ be the lowest-weighted target in the sorted list, then: - - ![normWeightEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7DW_i=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7Dw_i+%7Cw_n%7C&%5Ctext%7Bif%5C;%7Dw_n%5C;%5Ctext%7Bis%20negative%7D%5C%5Cw_i&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) + + $$ + W_i = + \begin{cases} + w_i + |w_n| & \text{if } w_n \text{ is negative} \\ + w_i & \text{otherwise} + \end{cases} + $$ + 3. Remove all weights from the list such that $W_i < \frac{W_0}{2}$ 4. Generate a random integer $R=\text{rand}(0, W_{\text{total}})$ where $W_{\text{total}}$ is the sum of all the remaining weights after Step 3. 5. For each target $(t_i, W_i)$, - 1. if $R \le \sum_{j=0}^{i} W_i$, or if $t_i$ is the last target in the list, **return** $t_i$ - 2. otherwise, advance to the next target $t_{i+1}$ and repeat this check. + 1. if $R \le \sum_{j=0}^{i} W_i$, or if $t_i$ is the last target in the list, **return** $t_i$ + 2. otherwise, advance to the next target $t_{i+1}$ and repeat this check. Once the target is selected, the enemy has successfully determined its next action for the turn, and its corresponding `EnemyCommandPhase` ends. From here, the `TurnStartPhase` processes the enemy's commands alongside the player's commands and begins to resolve the turn. @@ -145,15 +184,15 @@ Once the target is selected, the enemy has successfully determined its next acti Suppose you enter a single battle against an enemy trainer with the following Pokémon in their party: 1. An [Excadrill](https://bulbapedia.bulbagarden.net/wiki/Excadrill_(Pok%C3%A9mon)) with the Ability Sand Force and the following moveset - 1. Earthquake - 2. Iron Head - 3. Crush Claw - 4. Swords Dance + 1. Earthquake + 2. Iron Head + 3. Crush Claw + 4. Swords Dance 2. A [Heatmor](https://bulbapedia.bulbagarden.net/wiki/Heatmor_(Pok%C3%A9mon)) with the Ability Flash Fire and the following moveset - 1. Fire Lash - 2. Inferno - 3. Hone Claws - 4. Shadow Claw + 1. Fire Lash + 2. Inferno + 3. Hone Claws + 4. Shadow Claw The enemy trainer leads with their Heatmor, and you lead with a [Dachsbun](https://bulbapedia.bulbagarden.net/wiki/Dachsbun_(Pok%C3%A9mon)) with the Ability Well-Baked Body. We'll cover the enemy's behavior over the next two turns. @@ -172,13 +211,13 @@ Based on the enemy party's matchup scores, whether or not the trainer switches o Now that the enemy Pokémon with the best matchup score is on the field (assuming it survives Dachsbun's attack on the last turn), the enemy will now decide to have Excadrill use one of its moves. Assuming all of its moves are usable, we'll go through the target score calculations for each move: - **Earthquake**: In a single battle, this move is just a 100-power Ground-type physical attack with no additional effects. With no additional benefit score from attributes, the move's base target score against the player's Dachsbun is just the `attackScore` from `AttackMove.getTargetBenefitScore()`. In this case, Earthquake's `attackScore` is given by - + $\text{attackScore}=(\text{typeMult}\times \text{statMult}) + \lfloor \frac{\text{power}}{5} \rfloor = -2\times 2 + 20 = 16$ Here, `typeMult` is -2 because the move is not super effective, and `statMult` is 2 because Excadrill's Attack is significantly higher than its Sp. Atk. Accounting for STAB thanks to Excadrill's typing, the final target score for this move is **24** - **Iron Head**: This move is an 80-power Steel-type physical attack with an additional chance to cause the target to flinch. With these properties, Iron Head has a user benefit score of 0 and a target benefit score given by - + $\text{TBS}=\text{getTargetBenefitScore(FlinchAttr)}-\text{attackScore}$ Under its current implementation, the target benefit score of `FlinchAttr` is -5. Calculating the move's `attackScore`, we get: @@ -198,7 +237,7 @@ Now that the enemy Pokémon with the best matchup score is on the field (assumin where `levels` is the number of stat stages added by the attribute (in this case, +2). The final score for this move is **6** (Note: because this move is self-targeted, we don't flip the sign of TBS when computing the target score). - **Crush Claw**: This move is a 75-power Normal-type physical attack with a 50 percent chance to lower the target's Defense by one stage. The additional effect is implemented by the same `StatStageChangeAttr` as Swords Dance, so we can use the same formulas from before to compute the total TBS and base target score. - + $\text{TBS}=\text{getTargetBenefitScore(StatStageChangeAttr)}-\text{attackScore}$ $\text{TBS}=(-4 + 2)-(-2\times 2 + \lfloor \frac{75}{5} \rfloor)=-2-11=-13$ diff --git a/docs/linting.md b/docs/linting.md index ff512740a80..d3b4e47675f 100644 --- a/docs/linting.md +++ b/docs/linting.md @@ -1,34 +1,65 @@ -# Biome +# Linting & Formatting -## Key Features +> "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." +> +> — Martin Fowler -1. **Automation**: - - A pre-commit hook has been added to automatically run Biome on the added or modified files, ensuring code quality before commits. +Writing clean, readable code is important, and linters and formatters are an integral part of ensuring code quality and readability. +It is for this reason we are using [Biome](https://biomejs.dev), an opinionated linter/formatter (akin to Prettier) with a heavy focus on speed and performance. -2. **Manual Usage**: - - If you prefer not to use the pre-commit hook, you can manually run biome to automatically fix issues using the command: +### Installation +You probably installed Biome already without noticing it - it's included inside `package.json` and should've been downloaded when you ran `npm install` after cloning the repo (assuming you followed proper instructions, that is). If you haven't done that yet, go do it. - ```sh - npx @biomejs/biome --write - ``` +# Using Biome - - Running this command will lint all files in the repository. +For the most part, Biome attempts to stay "out of your hair", letting you write code while enforcing a consistent formatting standard and only notifying for errors it can't automatically fix.\ +On the other hand, if Biome complains about a piece of code, **there's probably a good reason why**. Disable comments should be used sparingly or when readabilty demands it - your first instinct should be to fix the code in question, not disable the rule. -3. **GitHub Action**: - - A GitHub Action has been added to automatically run Biome on every push and pull request, ensuring code quality in the CI/CD pipeline. +## Editor Integration +Biome has integration with many popular code editors. See [these](https://biomejs.dev/guides/editors/first-party-extensions/) [pages](https://biomejs.dev/guides/editors/third-party-extensions/) for information about enabling Biome in your editor of choice. -If you are getting linting errors from biome and want to see which files they are coming from, you can find that out by running biome in a way that is configured to only show the errors for that specific rule: ``npx @biomejs/biome lint --only=category/ruleName`` +## Automated Runs +Generally speaking, most users shouldn't need to run Biome directly; in addition to editor integration, [pre-commit hook](../lefthook.yml) will periodically run Biome before each commit. +You will **not** be able to push code with `error`-level linting problems - fix them beforehand. -## Summary of Biome Rules +We also have a [Github Action](../.github/workflows/quality.yml) to verify code quality each time a PR is updated, preventing bad code from inadvertently making its way upstream. -We use the [recommended ruleset](https://biomejs.dev/linter/rules/) for Biome, with some customizations to better suit our project's needs. +### Why am I getting errors for code I didn't write? + +To save time and minimize friction with existing code, both the pre-commit hook and workflow run will only check files **directly changed** by a given PR or commit. +As a result, changes to files not updated since Biome's introduction can cause any _prior_ linting errors in them to resurface and get flagged. +This should occur less and less often as time passes and more files are updated to the new standard. -For a complete list of rules and their configurations, refer to the `biome.jsonc` file in the project root. +## Running Biome via CLI +If you want Biome to check your files manually, you can run it from the command line like so: + +```sh +npx biome check --[flags] +``` + +A full list of flags and options can be found on [their website](https://biomejs.dev/reference/cli/), but here's a few useful ones to keep in mind: + +- `--write` will cause Biome to write all "safe" fixes and formatting changes directly to your files (rather than just complaining and doing nothing). +- `--changed` and `--staged` will only perform checks on all changed or staged files respectively. Biome sources this info from the relevant version control system (in this case Git). +- `diagnostic-level=XXX` will only show diagnostics with at least the given severity level (`info/warn/error`). Useful to only focus on errors causing a failed workflow run or similar. + +## Linting Rules + +We primarily use Biome's [recommended ruleset](https://biomejs.dev/linter/rules/) for linting JS/TS, with some customizations to better suit our project's needs[^1]. Some things to consider: -- We have disabled rules that prioritize style over performance, such as `useTemplate` -- Some rules are currently marked as warnings (`warn`) to allow for gradual refactoring without blocking development. Do not write new code that triggers these warnings. -- The linter is configured to ignore specific files and folders, such as large or complex files that are pending refactors, to improve performance and focus on actionable areas. +- We have disabled rules that prioritize style over performance, such as `useTemplate`. +- Some rules are currently disabled or marked as warnings (`warn`) to allow for gradual refactoring without blocking development. **Do not write new code that triggers these warnings.** +- The linter is configured to ignore specific files and folders (such as excessively large files or ones in need of refactoring) to improve performance and focus on actionable areas. -Formatting is also handled by Biome. You should not have to worry about manually formatting your code. +Any questions about linting rules should be brought up in the `#dev-corner` channel in the discord. + +[^1]: A complete list of rules can be found in the `biome.jsonc` file in the project root. + +## What about ESLint? + + +Our project migrated away from ESLint around March 2025 due to it simply not scaling well enough with the codebase's ever-growing size. The [existing eslint rules](../eslint.config.js) are considered _deprecated_, only kept due to Biome lacking the corresponding rules in its current ruleset. + +No additional ESLint rules should be added under any circumstances - even the few currently in circulation take longer to run than the entire Biome formatting/linting suite combined. \ No newline at end of file diff --git a/lefthook.yml b/lefthook.yml index ddf875f15de..ff0ac00f9e5 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -2,13 +2,12 @@ pre-commit: parallel: true commands: biome-lint: - glob: "*.{js,jsx,ts,tsx}" - run: npx @biomejs/biome check --write --reporter=summary {staged_files} --no-errors-on-unmatched + run: npx biome check --write --reporter=summary --staged --no-errors-on-unmatched stage_fixed: true skip: - merge - rebase - + post-merge: commands: update-submodules: diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index f02c98fad1f..b0558d303f1 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -122,7 +122,6 @@ import { MoveFlags } from "#enums/MoveFlags"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; -import { TrainerVariant } from "#app/field/trainer"; import { SelectBiomePhase } from "#app/phases/select-biome-phase"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; @@ -1803,10 +1802,7 @@ export class HalfSacrificialAttr extends MoveEffectAttr { } /** - * Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} - * for the user. - * @extends MoveEffectAttr - * @see {@linkcode apply} + * Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} for the user. */ export class AddSubstituteAttr extends MoveEffectAttr { /** The ratio of the user's max HP that is required to apply this effect */ @@ -1823,11 +1819,11 @@ export class AddSubstituteAttr extends MoveEffectAttr { /** * Removes 1/4 of the user's maximum HP (rounded down) to create a substitute for the user - * @param user the {@linkcode Pokemon} that used the move. - * @param target n/a - * @param move the {@linkcode Move} with this attribute. - * @param args n/a - * @returns true if the attribute successfully applies, false otherwise + * @param user - The {@linkcode Pokemon} that used the move. + * @param target - n/a + * @param move - The {@linkcode Move} with this attribute. + * @param args - n/a + * @returns `true` if the attribute successfully applies, `false` otherwise */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!super.apply(user, target, move, args)) { @@ -1848,12 +1844,12 @@ export class AddSubstituteAttr extends MoveEffectAttr { } getCondition(): MoveConditionFunc { - return (user, target, move) => !user.getTag(SubstituteTag) && user.hp > (this.roundUp ? Math.ceil(user.getMaxHp() * this.hpCost) : Math.floor(user.getMaxHp() * this.hpCost)) && user.getMaxHp() > 1; + return (user, _target, _move) => !user.getTag(SubstituteTag) && user.hp > (this.roundUp ? Math.ceil(user.getMaxHp() * this.hpCost) : Math.floor(user.getMaxHp() * this.hpCost)) && user.getMaxHp() > 1; } /** * Get the substitute-specific failure message if one should be displayed. - * @param user The pokemon using the move. + * @param user - The pokemon using the move. * @returns The substitute-specific failure message if the conditions apply, otherwise `undefined` */ getFailedText(user: Pokemon, _target: Pokemon, _move: Move): string | undefined { diff --git a/src/utils/common.ts b/src/utils/common.ts index 4acfabce080..6984840fb5c 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -515,8 +515,8 @@ export function capitalizeString(str: string, sep: string, lowerFirstChar = true return null; } -export function isNullOrUndefined(object: any): object is undefined | null { - return null === object || undefined === object; +export function isNullOrUndefined(object: any): object is null | undefined { + return object === null || object === undefined; } /** @@ -550,14 +550,14 @@ export function getLocalizedSpriteKey(baseKey: string) { } /** - * Check if a number is **inclusive** between two numbers - * @param num the number to check - * @param min the minimum value (included) - * @param max the maximum value (included) - * @returns `true` if number is **inclusive** between min and max + * Check if a number is **inclusively** between two numbers + * @param num - the number to check + * @param min - the minimum value (inclusive) + * @param max - the maximum value (inclusive) + * @returns Whether num is no less than min and no greater than max */ export function isBetween(num: number, min: number, max: number): boolean { - return num >= min && num <= max; + return min <= num && num <= max; } /** diff --git a/test/testUtils/gameManager.ts b/test/testUtils/gameManager.ts index 874d8f786b8..39e65fba0e5 100644 --- a/test/testUtils/gameManager.ts +++ b/test/testUtils/gameManager.ts @@ -310,8 +310,8 @@ export default class GameManager { /** * Emulate a player's target selection after a move is chosen, usually called automatically by {@linkcode MoveHelper.select}. * Will trigger during the next {@linkcode SelectTargetPhase} - * @param {BattlerIndex} targetIndex The index of the attack target, or `undefined` for multi-target attacks - * @param movePosition The index of the move in the pokemon's moveset array + * @param targetIndex - The {@linkcode BattlerIndex} of the attack target, or `undefined` for multi-target attacks + * @param movePosition - The 0-indexed position of the move in the pokemon's moveset array */ selectTarget(movePosition: number, targetIndex?: BattlerIndex) { this.onNextPrompt( @@ -347,7 +347,7 @@ export default class GameManager { } } - /** Emulate selecting a modifier (item) */ + /** Queue up button presses to skip taking an item on the next {@linkcode SelectModifierPhase} */ doSelectModifier() { this.onNextPrompt( "SelectModifierPhase", @@ -380,8 +380,9 @@ export default class GameManager { /** * Forces the next enemy selecting a move to use the given move in its moveset against the * given target (if applicable). - * @param moveId {@linkcode Moves} the move the enemy will use - * @param target {@linkcode BattlerIndex} the target on which the enemy will use the given move + * @param moveId - The {@linkcode Moves | move} the enemy will use + * @param target - The {@linkcode BattlerIndex} of the target against which the enemy will use the given move; + * will use normal target selection priorities if omitted. */ async forceEnemyMove(moveId: Moves, target?: BattlerIndex) { // Wait for the next EnemyCommandPhase to start @@ -421,7 +422,10 @@ export default class GameManager { await this.phaseInterceptor.to(CommandPhase); } - /** Emulate selecting a modifier (item) and transition to the next upcoming {@linkcode CommandPhase} */ + /** + * Queue up button presses to skip taking an item on the next {@linkcode SelectModifierPhase}, + * and then transition to the next {@linkcode CommandPhase}. + */ async toNextWave() { this.doSelectModifier(); @@ -439,8 +443,8 @@ export default class GameManager { } /** - * Checks if the player has won the battle. - * @returns True if the player has won, otherwise false. + * Check if the player has won the battle. + * @returns whether the player has won the battle (all opposing Pokemon have been fainted) */ isVictory() { return this.scene.currentBattle.enemyParty.every(pokemon => pokemon.isFainted()); @@ -449,7 +453,7 @@ export default class GameManager { /** * Checks if the current phase matches the target phase. * @param phaseTarget - The target phase. - * @returns True if the current phase matches the target phase, otherwise false. + * @returns Whether the current phase matches the target phase */ isCurrentPhase(phaseTarget) { const targetName = typeof phaseTarget === "string" ? phaseTarget : phaseTarget.name; @@ -458,8 +462,8 @@ export default class GameManager { /** * Checks if the current mode matches the target mode. - * @param mode - The target mode. - * @returns True if the current mode matches the target mode, otherwise false. + * @param mode - The target {@linkcode UiMode} to check. + * @returns Whether the current mode matches the target mode. */ isCurrentMode(mode: UiMode) { return this.scene.ui?.getMode() === mode; @@ -499,7 +503,7 @@ export default class GameManager { /** * Faints a player or enemy pokemon instantly by setting their HP to 0. - * @param pokemon The player/enemy pokemon being fainted + * @param pokemon - The player/enemy pokemon being fainted * @returns A promise that resolves once the fainted pokemon's FaintPhase finishes running. */ async killPokemon(pokemon: PlayerPokemon | EnemyPokemon) { @@ -512,8 +516,9 @@ export default class GameManager { } /** - * Command an in-battle switch to another Pokemon via the main battle menu. - * @param pokemonIndex the index of the pokemon in your party to switch to + * Command an in-battle switch to another {@linkcode Pokemon} via the main battle menu. + * @param pokemonIndex - The 0-indexed position of the party pokemon to switch to. + * Should never be called with 0 as that will select the currently active pokemon and freeze. */ doSwitchPokemon(pokemonIndex: number) { this.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { @@ -526,7 +531,7 @@ export default class GameManager { /** * Revive pokemon, currently players only. - * @param pokemonIndex the index of the pokemon in your party to revive + * @param pokemonIndex - The 0-indexed position of the pokemon in your party to revive */ doRevivePokemon(pokemonIndex: number) { const party = this.scene.getPlayerParty(); @@ -536,13 +541,12 @@ export default class GameManager { } /** - * Select a pokemon from the party menu. Only really handles the basic cases - * of the party UI, where you just need to navigate to a party slot and press - * Action twice - navigating any menus that come up after you select a party member - * is not supported. - * @param slot the index of the pokemon in your party to switch to - * @param inPhase Which phase to expect the selection to occur in. Typically - * non-command switch actions happen in SwitchPhase. + * Select a pokemon from the party menu during the given phase. + * Only really handles the basic case of "navigate to party slot and press Action twice" - + * any menus that come up afterwards are ignored and must be handled separately by the caller. + * @param slot - The 0-indexed position of the pokemon in your party to switch to + * @param inPhase - Which phase to expect the selection to occur in. Defaults to `SwitchPhase` + * (which is where the majority of non-command switch operations occur). */ doSelectPartyPokemon(slot: number, inPhase = "SwitchPhase") { this.onNextPrompt(inPhase, UiMode.PARTY, () => { @@ -557,7 +561,7 @@ export default class GameManager { /** * Select the BALL option from the command menu, then press Action; in the BALL * menu, select a pokéball type and press Action again to throw it. - * @param ballIndex the index of the pokeball to throw + * @param ballIndex - The index of the pokeball to throw */ public doThrowPokeball(ballIndex: number) { this.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { @@ -575,8 +579,9 @@ export default class GameManager { /** * Intercepts `TurnStartPhase` and mocks {@linkcode TurnStartPhase.getSpeedOrder}'s return value. * Used to manually modify Pokemon turn order. - * Note: This *DOES NOT* account for priority, only speed. - * @param {BattlerIndex[]} order The turn order to set + + * Note: This *DOES NOT* account for priority. + * @param order - The turn order to set * @example * ```ts * await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2]); From 8eeec9511bc5d2eed57ac96d6bbc81677b2cfe30 Mon Sep 17 00:00:00 2001 From: Xavion3 Date: Fri, 2 May 2025 11:18:38 +1000 Subject: [PATCH 085/102] [Bug] Correctly get cursor position in command UI (#5740) Correctly get cursor position in command UI Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> --- src/ui/command-ui-handler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/command-ui-handler.ts b/src/ui/command-ui-handler.ts index 57c5b5a82a2..ff27e9c41c0 100644 --- a/src/ui/command-ui-handler.ts +++ b/src/ui/command-ui-handler.ts @@ -86,7 +86,7 @@ export default class CommandUiHandler extends UiHandler { this.teraButton.setFrame(PokemonType[globalScene.getField()[this.fieldIndex].getTeraType()].toLowerCase()); } else { this.teraButton.setVisible(false); - if (this.cursor === Command.TERA) { + if (this.getCursor() === Command.TERA) { this.setCursor(Command.FIGHT); } } From 3af1bdbcffb284cb3c6c5ba982c248d168059204 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 1 May 2025 21:41:57 -0500 Subject: [PATCH 086/102] [Bug][Ability] Fix change move type abilities (#5665) * Make type changing moves change type after abilities but before ion deluge/electrify * Create unified test file for galvanize, pixilate, and refrigerate * Make type boost items like silk scarf affect the move after its type change * Add tests for type boost item interaction * Remove leftover log messages * Update spies in type-change ability tests * Add automated tests for normalize * Fix test name injection for tera blast * Add automated test for tera blast normalize interaction * Restore pokemon as a type-only import in moves.ts * Add aerilate to type changing tests * Rename galvanize test file * Fix utils import * Apply suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Remove unnecessary mockRestore * Remove unnecessary nullish coalescing Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/constants.ts | 3 + src/data/abilities/ability.ts | 49 +++-- src/data/moves/invalid-moves.ts | 15 ++ src/data/moves/move.ts | 29 ++- src/field/pokemon.ts | 8 +- src/modifier/modifier-type.ts | 5 +- src/modifier/modifier.ts | 3 +- test/abilities/galvanize.test.ts | 131 ------------ .../abilities/normal-move-type-change.test.ts | 190 ++++++++++++++++++ test/abilities/normalize.test.ts | 92 +++++++++ test/moves/tera_blast.test.ts | 32 ++- 11 files changed, 401 insertions(+), 156 deletions(-) delete mode 100644 test/abilities/galvanize.test.ts create mode 100644 test/abilities/normal-move-type-change.test.ts create mode 100644 test/abilities/normalize.test.ts diff --git a/src/constants.ts b/src/constants.ts index dc901e4a766..d3594c389b6 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -14,3 +14,6 @@ export const MAX_INT_ATTR_VALUE = 0x80000000; export const CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180] as const; /** The min and max waves for mystery encounters to spawn in challenge mode */ export const CHALLENGE_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180] as const; + +/** The raw percentage power boost for type boost items*/ +export const TYPE_BOOST_ITEM_BOOST_PERCENT = 20; diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 80b05b89d16..6e3f4c77f87 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -14,7 +14,6 @@ import { SelfStatusMove, VariablePowerAttr, applyMoveAttrs, - VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, @@ -73,6 +72,7 @@ import type { BattlerIndex } from "#app/battle"; import type Move from "#app/data/moves/move"; import type { ArenaTrapTag, SuppressAbilitiesTag } from "#app/data/arena-tag"; import { SelectBiomePhase } from "#app/phases/select-biome-phase"; +import { noAbilityTypeOverrideMoves } from "../moves/invalid-moves"; export class BlockRecoilDamageAttr extends AbAttr { constructor() { @@ -1240,12 +1240,39 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr { super(false); } - override canApplyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon | null, move: Move, args: any[]): boolean { - return (this.condition && this.condition(pokemon, defender, move)) ?? false; + /** + * Determine if the move type change attribute can be applied + * + * Can be applied if: + * - The ability's condition is met, e.g. pixilate only boosts normal moves, + * - The move is not forbidden from having its type changed by an ability, e.g. {@linkcode Moves.MULTI_ATTACK} + * - The user is not terastallized and using tera blast + * - The user is not a terastallized terapagos with tera stellar using tera starstorm + * @param pokemon - The pokemon that has the move type changing ability and is using the attacking move + * @param _passive - Unused + * @param _simulated - Unused + * @param _defender - The pokemon being attacked (unused) + * @param move - The move being used + * @param _args - args[0] holds the type that the move is changed to, args[1] holds the multiplier + * @returns whether the move type change attribute can be applied + */ + override canApplyPreAttack(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _defender: Pokemon | null, move: Move, _args: [NumberHolder?, NumberHolder?, ...any]): boolean { + return (!this.condition || this.condition(pokemon, _defender, move)) && + !noAbilityTypeOverrideMoves.has(move.id) && + (!pokemon.isTerastallized || + (move.id !== Moves.TERA_BLAST && + (move.id !== Moves.TERA_STARSTORM || pokemon.getTeraType() !== PokemonType.STELLAR || !pokemon.hasSpecies(Species.TERAPAGOS)))); } - // TODO: Decouple this into two attributes (type change / power boost) - override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { + /** + * @param pokemon - The pokemon that has the move type changing ability and is using the attacking move + * @param passive - Unused + * @param simulated - Unused + * @param defender - The pokemon being attacked (unused) + * @param move - The move being used + * @param args - args[0] holds the type that the move is changed to, args[1] holds the multiplier + */ + override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: [NumberHolder?, NumberHolder?, ...any]): void { if (args[0] && args[0] instanceof NumberHolder) { args[0].value = this.newType; } @@ -6629,9 +6656,7 @@ export function initAbilities() { .conditionalAttr(pokemon => pokemon.status ? pokemon.status.effect === StatusEffect.PARALYSIS : false, StatMultiplierAbAttr, Stat.SPD, 2) .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.SPD, 1.5), new Ability(Abilities.NORMALIZE, 4) - .attr(MoveTypeChangeAbAttr, PokemonType.NORMAL, 1.2, (user, target, move) => { - return ![ Moves.MULTI_ATTACK, Moves.REVELATION_DANCE, Moves.TERRAIN_PULSE, Moves.HIDDEN_POWER, Moves.WEATHER_BALL, Moves.NATURAL_GIFT, Moves.JUDGMENT, Moves.TECHNO_BLAST ].includes(move.id); - }), + .attr(MoveTypeChangeAbAttr, PokemonType.NORMAL, 1.2), new Ability(Abilities.SNIPER, 4) .attr(MultCritAbAttr, 1.5), new Ability(Abilities.MAGIC_GUARD, 4) @@ -6896,7 +6921,7 @@ export function initAbilities() { new Ability(Abilities.STRONG_JAW, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.BITING_MOVE), 1.5), new Ability(Abilities.REFRIGERATE, 6) - .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.SWEET_VEIL, 6) .attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.SLEEP) .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.SLEEP) @@ -6920,11 +6945,11 @@ export function initAbilities() { new Ability(Abilities.TOUGH_CLAWS, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), 1.3), new Ability(Abilities.PIXILATE, 6) - .attr(MoveTypeChangeAbAttr, PokemonType.FAIRY, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.FAIRY, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.GOOEY, 6) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), Stat.SPD, -1, false), new Ability(Abilities.AERILATE, 6) - .attr(MoveTypeChangeAbAttr, PokemonType.FLYING, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.FLYING, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.PARENTAL_BOND, 6) .attr(AddSecondStrikeAbAttr, 0.25), new Ability(Abilities.DARK_AURA, 6) @@ -7001,7 +7026,7 @@ export function initAbilities() { new Ability(Abilities.TRIAGE, 7) .attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.hasFlag(MoveFlags.TRIAGE_MOVE), 3), new Ability(Abilities.GALVANIZE, 7) - .attr(MoveTypeChangeAbAttr, PokemonType.ELECTRIC, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.ELECTRIC, 1.2, (_user, _target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.SURGE_SURFER, 7) .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), StatMultiplierAbAttr, Stat.SPD, 2), new Ability(Abilities.SCHOOLING, 7) diff --git a/src/data/moves/invalid-moves.ts b/src/data/moves/invalid-moves.ts index 5cd45de7939..025c0383f43 100644 --- a/src/data/moves/invalid-moves.ts +++ b/src/data/moves/invalid-moves.ts @@ -240,3 +240,18 @@ export const invalidMirrorMoveMoves: ReadonlySet = new Set([ Moves.WATER_SPORT, Moves.WIDE_GUARD, ]); + +/** Set of moves that can never have their type overridden by an ability like Pixilate or Normalize + * + * Excludes tera blast and tera starstorm, as these are only conditionally forbidden + */ +export const noAbilityTypeOverrideMoves: ReadonlySet = new Set([ + Moves.WEATHER_BALL, + Moves.JUDGMENT, + Moves.REVELATION_DANCE, + Moves.MULTI_ATTACK, + Moves.TERRAIN_PULSE, + Moves.NATURAL_GIFT, + Moves.TECHNO_BLAST, + Moves.HIDDEN_POWER, +]); diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index b0558d303f1..37ed8ce342c 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -810,8 +810,9 @@ export default class Move implements Localizable { const power = new NumberHolder(this.power); const typeChangeMovePowerMultiplier = new NumberHolder(1); + const typeChangeHolder = new NumberHolder(this.type); - applyPreAttackAbAttrs(MoveTypeChangeAbAttr, source, target, this, true, null, typeChangeMovePowerMultiplier); + applyPreAttackAbAttrs(MoveTypeChangeAbAttr, source, target, this, true, typeChangeHolder, typeChangeMovePowerMultiplier); const sourceTeraType = source.getTeraType(); if (source.isTerastallized && sourceTeraType === this.type && power.value < 60 && this.priority <= 0 && !this.hasAttr(MultiHitAttr) && !globalScene.findModifier(m => m instanceof PokemonMultiHitModifier && m.pokemonId === source.id)) { @@ -841,7 +842,7 @@ export default class Move implements Localizable { power.value *= typeChangeMovePowerMultiplier.value; - const typeBoost = source.findTag(t => t instanceof TypeBoostTag && t.boostedType === this.type) as TypeBoostTag; + const typeBoost = source.findTag(t => t instanceof TypeBoostTag && t.boostedType === typeChangeHolder.value) as TypeBoostTag; if (typeBoost) { power.value *= typeBoost.boostValue; } @@ -849,8 +850,8 @@ export default class Move implements Localizable { applyMoveAttrs(VariablePowerAttr, source, target, this, power); if (!this.hasAttr(TypelessAttr)) { - globalScene.arena.applyTags(WeakenMoveTypeTag, simulated, this.type, power); - globalScene.applyModifiers(AttackTypeBoosterModifier, source.isPlayer(), source, this.type, power); + globalScene.arena.applyTags(WeakenMoveTypeTag, simulated, typeChangeHolder.value, power); + globalScene.applyModifiers(AttackTypeBoosterModifier, source.isPlayer(), source, typeChangeHolder.value, power); } if (source.getTag(HelpingHandTag)) { @@ -4826,7 +4827,12 @@ export class FormChangeItemTypeAttr extends VariableMoveTypeAttr { return true; } - return false; + // Force move to have its original typing if it changed + if (moveType.value === move.type) { + return false; + } + moveType.value = move.type + return true; } } @@ -4977,7 +4983,11 @@ export class WeatherBallTypeAttr extends VariableMoveTypeAttr { moveType.value = PokemonType.ICE; break; default: - return false; + if (moveType.value === move.type) { + return false; + } + moveType.value = move.type; + break; } return true; } @@ -5025,7 +5035,12 @@ export class TerrainPulseTypeAttr extends VariableMoveTypeAttr { moveType.value = PokemonType.PSYCHIC; break; default: - return false; + if (moveType.value === move.type) { + return false; + } + // force move to have its original typing if it was changed + moveType.value = move.type; + break; } return true; } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 492856b4b52..48c2d93692c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2591,9 +2591,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { null, move, simulated, - moveTypeHolder, + moveTypeHolder ); + // If the user is terastallized and the move is tera blast, or tera starstorm that is stellar type, + // then bypass the check for ion deluge and electrify + if (this.isTerastallized && (move.id === Moves.TERA_BLAST || move.id === Moves.TERA_STARSTORM && moveTypeHolder.value === PokemonType.STELLAR)) { + return moveTypeHolder.value as PokemonType; + } + globalScene.arena.applyTags( ArenaTagType.ION_DELUGE, simulated, diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 219a6b6344b..110c19dfec0 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -128,6 +128,7 @@ import { getStatKey, Stat, TEMP_BATTLE_STATS } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import i18next from "i18next"; import { timedEventManager } from "#app/global-event-manager"; +import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; const outputModifierData = false; const useMaxWeightForOutput = false; @@ -1329,7 +1330,7 @@ class AttackTypeBoosterModifierTypeGenerator extends ModifierTypeGenerator { constructor() { super((party: Pokemon[], pregenArgs?: any[]) => { if (pregenArgs && pregenArgs.length === 1 && pregenArgs[0] in PokemonType) { - return new AttackTypeBoosterModifierType(pregenArgs[0] as PokemonType, 20); + return new AttackTypeBoosterModifierType(pregenArgs[0] as PokemonType, TYPE_BOOST_ITEM_BOOST_PERCENT); } const attackMoveTypes = party.flatMap(p => @@ -1377,7 +1378,7 @@ class AttackTypeBoosterModifierTypeGenerator extends ModifierTypeGenerator { weight += typeWeight; } - return new AttackTypeBoosterModifierType(type!, 20); + return new AttackTypeBoosterModifierType(type!, TYPE_BOOST_ITEM_BOOST_PERCENT); }); } } diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 3eaf4e3c510..7dfbcf6ca0b 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1479,7 +1479,8 @@ export class AttackTypeBoosterModifier extends PokemonHeldItemModifier { return ( super.shouldApply(pokemon, moveType, movePower) && typeof moveType === "number" && - movePower instanceof NumberHolder + movePower instanceof NumberHolder && + this.moveType === moveType ); } diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts deleted file mode 100644 index 5db8b642197..00000000000 --- a/test/abilities/galvanize.test.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; -import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; -import GameManager from "#test/testUtils/gameManager"; -import Phaser from "phaser"; -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; - -describe("Abilities - Galvanize", () => { - let phaserGame: Phaser.Game; - let game: GameManager; - - beforeAll(() => { - phaserGame = new Phaser.Game({ - type: Phaser.HEADLESS, - }); - }); - - afterEach(() => { - game.phaseInterceptor.restoreOg(); - }); - - beforeEach(() => { - game = new GameManager(phaserGame); - - game.override - .battleStyle("single") - .startingLevel(100) - .ability(Abilities.GALVANIZE) - .moveset([Moves.TACKLE, Moves.REVELATION_DANCE, Moves.FURY_SWIPES]) - .enemySpecies(Species.DUSCLOPS) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemyLevel(100); - }); - - it("should change Normal-type attacks to Electric type and boost their power", async () => { - await game.classicMode.startBattle(); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - const move = allMoves[Moves.TACKLE]; - vi.spyOn(move, "calculateBattlePower"); - - game.move.select(Moves.TACKLE); - - await game.phaseInterceptor.to("BerryPhase", false); - - expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(spy).toHaveReturnedWith(1); - expect(move.calculateBattlePower).toHaveReturnedWith(48); - expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); - - spy.mockRestore(); - }); - - it("should cause Normal-type attacks to activate Volt Absorb", async () => { - game.override.enemyAbility(Abilities.VOLT_ABSORB); - - await game.classicMode.startBattle(); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - enemyPokemon.hp = Math.floor(enemyPokemon.getMaxHp() * 0.8); - - game.move.select(Moves.TACKLE); - - await game.phaseInterceptor.to("BerryPhase", false); - - expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(spy).toHaveReturnedWith(0); - expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - }); - - it("should not change the type of variable-type moves", async () => { - game.override.enemySpecies(Species.MIGHTYENA); - - await game.classicMode.startBattle([Species.ESPEON]); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - game.move.select(Moves.REVELATION_DANCE); - await game.phaseInterceptor.to("BerryPhase", false); - - expect(playerPokemon.getMoveType).not.toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(spy).toHaveReturnedWith(0); - expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - }); - - it("should affect all hits of a Normal-type multi-hit move", async () => { - await game.classicMode.startBattle(); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - game.move.select(Moves.FURY_SWIPES); - await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); - await game.move.forceHit(); - - await game.phaseInterceptor.to("MoveEffectPhase"); - expect(playerPokemon.turnData.hitCount).toBeGreaterThan(1); - expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); - - while (playerPokemon.turnData.hitsLeft > 0) { - const enemyStartingHp = enemyPokemon.hp; - await game.phaseInterceptor.to("MoveEffectPhase"); - - expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp); - } - - expect(spy).not.toHaveReturnedWith(0); - }); -}); diff --git a/test/abilities/normal-move-type-change.test.ts b/test/abilities/normal-move-type-change.test.ts new file mode 100644 index 00000000000..50c8e04af1f --- /dev/null +++ b/test/abilities/normal-move-type-change.test.ts @@ -0,0 +1,190 @@ +import { BattlerIndex } from "#app/battle"; +import { allMoves } from "#app/data/moves/move"; +import { PokemonType } from "#enums/pokemon-type"; +import { Abilities } from "#app/enums/abilities"; +import { Moves } from "#app/enums/moves"; +import { Species } from "#app/enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; +import { allAbilities } from "#app/data/data-lists"; +import { MoveTypeChangeAbAttr } from "#app/data/abilities/ability"; +import { toDmgValue } from "#app/utils/common"; + +/** + * Tests for abilities that change the type of normal moves to + * a different type and boost their power + * + * Includes + * - Aerialate + * - Galvanize + * - Pixilate + * - Refrigerate + */ + +describe.each([ + { ab: Abilities.GALVANIZE, ab_name: "Galvanize", ty: PokemonType.ELECTRIC, tyName: "electric" }, + { ab: Abilities.PIXILATE, ab_name: "Pixilate", ty: PokemonType.FAIRY, tyName: "fairy" }, + { ab: Abilities.REFRIGERATE, ab_name: "Refrigerate", ty: PokemonType.ICE, tyName: "ice" }, + { ab: Abilities.AERILATE, ab_name: "Aerilate", ty: PokemonType.FLYING, tyName: "flying" }, +])("Abilities - $ab_name", ({ ab, ty, tyName }) => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + + game.override + .battleStyle("single") + .startingLevel(100) + .starterSpecies(Species.MAGIKARP) + .ability(ab) + .moveset([Moves.TACKLE, Moves.REVELATION_DANCE, Moves.FURY_SWIPES]) + .enemySpecies(Species.DUSCLOPS) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH) + .enemyLevel(100); + }); + + it(`should change Normal-type attacks to ${tyName} type and boost their power`, async () => { + await game.classicMode.startBattle(); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const typeSpy = vi.spyOn(playerPokemon, "getMoveType"); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + const enemySpy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); + const powerSpy = vi.spyOn(allMoves[Moves.TACKLE], "calculateBattlePower"); + + game.move.select(Moves.TACKLE); + + await game.phaseInterceptor.to("BerryPhase", false); + + expect(typeSpy).toHaveLastReturnedWith(ty); + expect(enemySpy).toHaveReturnedWith(1); + expect(powerSpy).toHaveReturnedWith(48); + expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); + }); + + // Galvanize specifically would like to check for volt absorb's activation + if (ab === Abilities.GALVANIZE) { + it("should cause Normal-type attacks to activate Volt Absorb", async () => { + game.override.enemyAbility(Abilities.VOLT_ABSORB); + + await game.classicMode.startBattle(); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const tySpy = vi.spyOn(playerPokemon, "getMoveType"); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + const enemyEffectivenessSpy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); + + enemyPokemon.hp = Math.floor(enemyPokemon.getMaxHp() * 0.8); + + game.move.select(Moves.TACKLE); + + await game.phaseInterceptor.to("BerryPhase", false); + + expect(tySpy).toHaveLastReturnedWith(PokemonType.ELECTRIC); + expect(enemyEffectivenessSpy).toHaveReturnedWith(0); + expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); + }); + } + + it.each([ + { moveName: "Revelation Dance", move: Moves.REVELATION_DANCE, expected_ty: PokemonType.WATER }, + { moveName: "Judgement", move: Moves.JUDGMENT, expected_ty: PokemonType.NORMAL }, + { moveName: "Terrain Pulse", move: Moves.TERRAIN_PULSE, expected_ty: PokemonType.NORMAL }, + { moveName: "Weather Ball", move: Moves.WEATHER_BALL, expected_ty: PokemonType.NORMAL }, + { moveName: "Multi Attack", move: Moves.MULTI_ATTACK, expected_ty: PokemonType.NORMAL }, + { moveName: "Techno Blast", move: Moves.TECHNO_BLAST, expected_ty: PokemonType.NORMAL }, + ])("should not change the type of $moveName", async ({ move, expected_ty: expectedTy }) => { + game.override + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .moveset([move]) + .starterSpecies(Species.MAGIKARP); + + await game.classicMode.startBattle([Species.MAGIKARP]); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const tySpy = vi.spyOn(playerPokemon, "getMoveType"); + + game.move.select(move); + await game.phaseInterceptor.to("BerryPhase", false); + + expect(tySpy).toHaveLastReturnedWith(expectedTy); + }); + + it("should affect all hits of a Normal-type multi-hit move", async () => { + await game.classicMode.startBattle(); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const tySpy = vi.spyOn(playerPokemon, "getMoveType"); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.FURY_SWIPES); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.move.forceHit(); + + await game.phaseInterceptor.to("MoveEffectPhase"); + expect(playerPokemon.turnData.hitCount).toBeGreaterThan(1); + expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); + + while (playerPokemon.turnData.hitsLeft > 0) { + const enemyStartingHp = enemyPokemon.hp; + await game.phaseInterceptor.to("MoveEffectPhase"); + + expect(tySpy).toHaveLastReturnedWith(ty); + expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp); + } + }); + + it("should not be affected by silk scarf after changing the move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.NORMAL }]); + await game.classicMode.startBattle(); + + const testMoveInstance = allMoves[Moves.TACKLE]; + + // get the power boost from the ability so we can compare it to the item + // @ts-expect-error power multiplier is private + const boost = allAbilities[ab]?.getAttrs(MoveTypeChangeAbAttr)[0]?.powerMultiplier; + expect(boost, "power boost should be defined").toBeDefined(); + + const powerSpy = vi.spyOn(testMoveInstance, "calculateBattlePower"); + const typeSpy = vi.spyOn(game.scene.getPlayerPokemon()!, "getMoveType"); + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase", false); + expect(typeSpy, "type was not changed").toHaveLastReturnedWith(ty); + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(testMoveInstance.power * boost)); + }); + + it("should be affected by the type boosting item after changing the move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: ty }]); + await game.classicMode.startBattle(); + + // get the power boost from the ability so we can compare it to the item + // @ts-expect-error power multiplier is private + const boost = allAbilities[ab]?.getAttrs(MoveTypeChangeAbAttr)[0]?.powerMultiplier; + expect(boost, "power boost should be defined").toBeDefined(); + + const tackle = allMoves[Moves.TACKLE]; + + const spy = vi.spyOn(tackle, "calculateBattlePower"); + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase", false); + expect(spy).toHaveLastReturnedWith(toDmgValue(tackle.power * boost * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100))); + }); +}); diff --git a/test/abilities/normalize.test.ts b/test/abilities/normalize.test.ts new file mode 100644 index 00000000000..3256f0188d1 --- /dev/null +++ b/test/abilities/normalize.test.ts @@ -0,0 +1,92 @@ +import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; +import { allMoves } from "#app/data/moves/move"; +import { toDmgValue } from "#app/utils/common"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { PokemonType } from "#enums/pokemon-type"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Normalize", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.TACKLE]) + .ability(Abilities.NORMALIZE) + .battleStyle("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should boost the power of normal type moves by 20%", async () => { + await game.classicMode.startBattle([Species.MAGIKARP]); + const powerSpy = vi.spyOn(allMoves[Moves.TACKLE], "calculateBattlePower"); + + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase"); + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[Moves.TACKLE].power * 1.2)); + }); + + it("should not apply the old type boost item after changing a move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.GRASS }]); + game.override.moveset([Moves.LEAFAGE]); + + const powerSpy = vi.spyOn(allMoves[Moves.LEAFAGE], "calculateBattlePower"); + await game.classicMode.startBattle([Species.MAGIKARP]); + game.move.select(Moves.LEAFAGE); + await game.phaseInterceptor.to("BerryPhase"); + + // It should return with 1.2 (that is, only the power boost from the ability) + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[Moves.LEAFAGE].power * 1.2)); + }); + + it("should apply silk scarf's power boost after changing a move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.NORMAL }]); + game.override.moveset([Moves.LEAFAGE]); + + const powerSpy = vi.spyOn(allMoves[Moves.LEAFAGE], "calculateBattlePower"); + await game.classicMode.startBattle([Species.MAGIKARP]); + game.move.select(Moves.LEAFAGE); + await game.phaseInterceptor.to("BerryPhase"); + + // 1.2 from normalize boost, second 1.2 from + expect(powerSpy).toHaveLastReturnedWith( + toDmgValue(allMoves[Moves.LEAFAGE].power * 1.2 * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100)), + ); + }); + + it.each([ + { moveName: "Revelation Dance", move: Moves.REVELATION_DANCE }, + { moveName: "Judgement", move: Moves.JUDGMENT, expected_ty: PokemonType.NORMAL }, + { moveName: "Terrain Pulse", move: Moves.TERRAIN_PULSE }, + { moveName: "Weather Ball", move: Moves.WEATHER_BALL }, + { moveName: "Multi Attack", move: Moves.MULTI_ATTACK }, + { moveName: "Techno Blast", move: Moves.TECHNO_BLAST }, + { moveName: "Hidden Power", move: Moves.HIDDEN_POWER }, + ])("should not boost the power of $moveName", async ({ move }) => { + game.override.moveset([move]); + await game.classicMode.startBattle([Species.MAGIKARP]); + const powerSpy = vi.spyOn(allMoves[move], "calculateBattlePower"); + + game.move.select(move); + await game.phaseInterceptor.to("BerryPhase"); + expect(powerSpy).toHaveLastReturnedWith(allMoves[move].power); + }); +}); diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index 8817f12b8cf..efdb75e8156 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -75,7 +75,7 @@ describe("Moves - Tera Blast", () => { await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(100); - }, 20000); + }); it("is super effective against terastallized targets if user is Stellar tera type", async () => { await game.classicMode.startBattle(); @@ -189,5 +189,33 @@ describe("Moves - Tera Blast", () => { expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(-1); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); - }, 20000); + }); + + it.each([ + { ab: "galvanize", ty: "electric", ab_id: Abilities.GALVANIZE, ty_id: PokemonType.ELECTRIC }, + { ab: "refrigerate", ty: "ice", ab_id: Abilities.REFRIGERATE, ty_id: PokemonType.ICE }, + { ab: "pixilate", ty: "fairy", ab_id: Abilities.PIXILATE, ty_id: PokemonType.FAIRY }, + { ab: "aerilate", ty: "flying", ab_id: Abilities.AERILATE, ty_id: PokemonType.FLYING }, + ])("should be $ty type if the user has $ab", async ({ ab_id, ty_id }) => { + game.override.ability(ab_id).moveset([Moves.TERA_BLAST]).enemyAbility(Abilities.BALL_FETCH); + await game.classicMode.startBattle([Species.MAGIKARP]); + const playerPokemon = game.scene.getPlayerPokemon()!; + expect(playerPokemon.getMoveType(allMoves[Moves.TERA_BLAST])).toBe(ty_id); + }); + + it("should not be affected by normalize when the user is terastallized with tera normal", async () => { + game.override.moveset([Moves.TERA_BLAST]).ability(Abilities.NORMALIZE); + await game.classicMode.startBattle([Species.MAGIKARP]); + const playerPokemon = game.scene.getPlayerPokemon()!; + // override the tera state for the pokemon + playerPokemon.isTerastallized = true; + playerPokemon.teraType = PokemonType.NORMAL; + + const move = allMoves[Moves.TERA_BLAST]; + const powerSpy = vi.spyOn(move, "calculateBattlePower"); + + game.move.select(Moves.TERA_BLAST); + await game.phaseInterceptor.to("BerryPhase"); + expect(powerSpy).toHaveLastReturnedWith(move.power); + }); }); From 7a9fc3fc8d18e1b46f11df81919d0eda69a7b530 Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Thu, 1 May 2025 19:50:56 -0700 Subject: [PATCH 087/102] [Bug] Clear status immediately in menus (#5739) Add asPhase parameter --- src/data/moves/move.ts | 2 +- src/field/pokemon.ts | 35 ++++++++++++++++++++++++++-- src/modifier/modifier.ts | 6 ++--- src/phases/party-heal-phase.ts | 2 +- src/phases/reset-status-phase.ts | 20 +--------------- src/phases/revival-blessing-phase.ts | 2 +- 6 files changed, 40 insertions(+), 27 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 37ed8ce342c..29542b54f6d 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -6145,7 +6145,7 @@ export class RevivalBlessingAttr extends MoveEffectAttr { const faintedPokemon = globalScene.getEnemyParty().filter((p) => p.isFainted() && !p.isBoss()); const pokemon = faintedPokemon[user.randSeedInt(faintedPokemon.length)]; const slotIndex = globalScene.getEnemyParty().findIndex((p) => pokemon.id === p.id); - pokemon.resetStatus(); + pokemon.resetStatus(true, false, false, true); pokemon.heal(Math.min(toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); globalScene.queueMessage(i18next.t("moveTriggers:revivalBlessing", { pokemonName: getPokemonNameWithAffix(pokemon) }), 0, true); const allyPokemon = user.getAlly(); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 48c2d93692c..0c412e73b52 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -5608,13 +5608,44 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param revive Whether revive should be cured; defaults to true. * @param confusion Whether resetStatus should include confusion or not; defaults to false. * @param reloadAssets Whether to reload the assets or not; defaults to false. + * @param asPhase Whether to reset the status in a phase or immediately */ - resetStatus(revive = true, confusion = false, reloadAssets = false): void { + resetStatus(revive = true, confusion = false, reloadAssets = false, asPhase = true): void { const lastStatus = this.status?.effect; if (!revive && lastStatus === StatusEffect.FAINT) { return; } - globalScene.unshiftPhase(new ResetStatusPhase(this, confusion, reloadAssets)); + + if (asPhase) { + globalScene.unshiftPhase(new ResetStatusPhase(this, confusion, reloadAssets)); + } else { + this.clearStatus(confusion, reloadAssets); + } + } + + /** + * Performs the action of clearing a Pokemon's status + * + * This is a helper to {@linkcode resetStatus}, which should be called directly instead of this method + */ + public clearStatus(confusion: boolean, reloadAssets: boolean) { + const lastStatus = this.status?.effect; + this.status = null; + if (lastStatus === StatusEffect.SLEEP) { + this.setFrameRate(10); + if (this.getTag(BattlerTagType.NIGHTMARE)) { + this.lapseTag(BattlerTagType.NIGHTMARE); + } + } + if (confusion) { + if (this.getTag(BattlerTagType.CONFUSED)) { + this.lapseTag(BattlerTagType.CONFUSED); + } + } + if (reloadAssets) { + this.loadAssets(false).then(() => this.playAnim()); + } + this.updateInfo(true); } /** diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 7dfbcf6ca0b..549ce462c11 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1953,7 +1953,7 @@ export class PokemonInstantReviveModifier extends PokemonHeldItemModifier { ); // Remove the Pokemon's FAINT status - pokemon.resetStatus(true, false, true); + pokemon.resetStatus(true, false, true, false); // Reapply Commander on the Pokemon's side of the field, if applicable const field = pokemon.isPlayer() ? globalScene.getPlayerField() : globalScene.getEnemyField(); @@ -2161,7 +2161,7 @@ export class PokemonHpRestoreModifier extends ConsumablePokemonModifier { restorePoints = Math.floor(restorePoints * multiplier); } if (this.fainted || this.healStatus) { - pokemon.resetStatus(true, true); + pokemon.resetStatus(true, true, false, false); } pokemon.hp = Math.min( pokemon.hp + @@ -2181,7 +2181,7 @@ export class PokemonStatusHealModifier extends ConsumablePokemonModifier { * @returns always `true` */ override apply(playerPokemon: PlayerPokemon): boolean { - playerPokemon.resetStatus(true, true); + playerPokemon.resetStatus(true, true, false, false); return true; } } diff --git a/src/phases/party-heal-phase.ts b/src/phases/party-heal-phase.ts index a208ccfff92..4a9f8a0c888 100644 --- a/src/phases/party-heal-phase.ts +++ b/src/phases/party-heal-phase.ts @@ -21,7 +21,7 @@ export class PartyHealPhase extends BattlePhase { globalScene.ui.fadeOut(1000).then(() => { for (const pokemon of globalScene.getPlayerParty()) { pokemon.hp = pokemon.getMaxHp(); - pokemon.resetStatus(); + pokemon.resetStatus(true, false, false, true); for (const move of pokemon.moveset) { move.ppUsed = 0; } diff --git a/src/phases/reset-status-phase.ts b/src/phases/reset-status-phase.ts index 0ba3559d9b7..19bfc3027e2 100644 --- a/src/phases/reset-status-phase.ts +++ b/src/phases/reset-status-phase.ts @@ -1,7 +1,5 @@ import type Pokemon from "#app/field/pokemon"; import { BattlePhase } from "#app/phases/battle-phase"; -import { BattlerTagType } from "#enums/battler-tag-type"; -import { StatusEffect } from "#enums/status-effect"; /** * Phase which handles resetting a Pokemon's status to none @@ -22,23 +20,7 @@ export class ResetStatusPhase extends BattlePhase { } public override start() { - const lastStatus = this.pokemon.status?.effect; - this.pokemon.status = null; - if (lastStatus === StatusEffect.SLEEP) { - this.pokemon.setFrameRate(10); - if (this.pokemon.getTag(BattlerTagType.NIGHTMARE)) { - this.pokemon.lapseTag(BattlerTagType.NIGHTMARE); - } - } - if (this.affectConfusion) { - if (this.pokemon.getTag(BattlerTagType.CONFUSED)) { - this.pokemon.lapseTag(BattlerTagType.CONFUSED); - } - } - if (this.reloadAssets) { - this.pokemon.loadAssets(false).then(() => this.pokemon.playAnim()); - } - this.pokemon.updateInfo(true); + this.pokemon.clearStatus(this.affectConfusion, this.reloadAssets); this.end(); } } diff --git a/src/phases/revival-blessing-phase.ts b/src/phases/revival-blessing-phase.ts index 2de1c616f69..598d9109abc 100644 --- a/src/phases/revival-blessing-phase.ts +++ b/src/phases/revival-blessing-phase.ts @@ -32,7 +32,7 @@ export class RevivalBlessingPhase extends BattlePhase { } pokemon.resetTurnData(); - pokemon.resetStatus(); + pokemon.resetStatus(true, false, false, false); pokemon.heal(Math.min(toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); globalScene.queueMessage( i18next.t("moveTriggers:revivalBlessing", { From fa86ea3214cdb78601f297c01f47600cfdb242db Mon Sep 17 00:00:00 2001 From: damocleas Date: Thu, 1 May 2025 22:54:59 -0400 Subject: [PATCH 088/102] [Misc] Spring Stuff (#5742) * Update timed-event-manager.ts * spr25 images * Update the-pokemon-salesman-encounter.ts rolls --- public/images/events/spr25event-de.png | Bin 0 -> 31446 bytes public/images/events/spr25event-en.png | Bin 0 -> 29008 bytes public/images/events/spr25event-es-ES.png | Bin 0 -> 30560 bytes public/images/events/spr25event-es-MX.png | Bin 0 -> 30560 bytes public/images/events/spr25event-fr.png | Bin 0 -> 30245 bytes public/images/events/spr25event-it.png | Bin 0 -> 30077 bytes public/images/events/spr25event-ja.png | Bin 0 -> 32924 bytes public/images/events/spr25event-ko.png | Bin 0 -> 32000 bytes public/images/events/spr25event-pt-BR.png | Bin 0 -> 30642 bytes .../the-pokemon-salesman-encounter.ts | 5 ++- src/timed-event-manager.ts | 42 ++++++++++++++++++ 11 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 public/images/events/spr25event-de.png create mode 100644 public/images/events/spr25event-en.png create mode 100644 public/images/events/spr25event-es-ES.png create mode 100644 public/images/events/spr25event-es-MX.png create mode 100644 public/images/events/spr25event-fr.png create mode 100644 public/images/events/spr25event-it.png create mode 100644 public/images/events/spr25event-ja.png create mode 100644 public/images/events/spr25event-ko.png create mode 100644 public/images/events/spr25event-pt-BR.png diff --git a/public/images/events/spr25event-de.png b/public/images/events/spr25event-de.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccd9557460f72cf1cba32788099afac4f3d1cc6 GIT binary patch literal 31446 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

      %m(&p zgIPz6@Do6^^NY_Dm;dPe>3JuA(yCuQ)H3fJS>Z*H?Q_Z2W=}?e9|JvH)eC@H8q3`57+<^8 zHd7=?Y_g1aNnJX62Bd3&DQwHp;;NZksqYSEK7W3Ax$6pp-(KiK8QVtk>u+lEj~?5C z0(;JlYG1iei%fGsvdpfsY3hHIDuTLa!`WOtkYPRSFocX?Ko`hA;<9v;#0lHD@)?{9%XBakO z)z!Fdssvo8ol5(kd_5hNiJHBguW9cA<`D7vOFXl|?cwZ%SN$B(>f&%mEW3YSgnDtc zki#o#CsC_0jk#ICU+3JAD8a{@y}ASB9|XRTD?#KP?JHsJ0g}9F|Kxl~d2xw{SdS(CR2V48EQ#Rk$K6Z)p^~5;P;GHBh~jw3%q* z3El@pWqz^KHghhseOJKUg`L;fbXXYv@HrIVVWaoXw52AagW}o6hs92j9fKy%UZFaj zcn9O@wvxu@TO*ux$Mn>jFrPj3`S@5WIZmst*A&Ixhn%*5-Kco^SE(6Y?y)rxCt^K_ zfvS-ToFA`}!{Nb-2#l^^1Qz8>LU4q^ypmVYRxdpX+^7()#PL8C0)0#P>^H z$tbUzQKW$gqzyg@7hTAvE_f3JI-86BpJ?=BI5V8Qi7uk`j+>fHmF*e zlm?z&p}yy_W0CnS$|coVOrPN5Sk^7anjtWm<1D4U=)KXZv4C;~-e02Nkx6q?F&7ed zEw>I`l9l+Wy&reQ=x{}qm1iM$Zy7Mv^ObEbB|qc7KzRHMg?E8jVenZrspoDb)~>@M znNp~-gyX}6Y5-(*f<$m(c|Y+E3!;D?0P_t9qGO z&vxtA)i{sEx=>rc=7ZE`q2f``%nI$lOqM3EImhrU;yHbU>tD_&UO2A=k!Cv|Xr$a- z4>y!1qT_PrK9_HECCfQVJwMI0Fd{?dS{Wv~5{1;kAsw5y7ai{}$`bP8zXV|bg~xk@ zfSN$Fkr*I=N{NUM>-!QG`SuysC8nSo_279k3Ufz7U;2*-4BBz9grj+=omU1!*wa8& z3F=cHzCLvT2A_HqUX7Q*E@k!7<^e(7AL5xWs~(GNYcJv#x$IqD+?SYtMm&A>w$o`} zn;@YDL}TXnLf&6FcVq7l7v&^EoQ=R*$6> zDXQL(FI|{u8n$siyfM|bU0*|We{aOR9$2VZJoVj2yp=nDXQt)lMMb;@tvXF zmKSL`x)g07P^K-JR5-Q7Gp%+UQ$Q?D%;|h(c5-qsFFf5iR$6emJaK;6i?B^jBmG1V z2P?GKbbl+_-wJUVn<=|wt(@WP6J3U9K4McC8#E}|^D~#UVOmK1WptZe#EOr7*4kOX z?^uYY+zx<>mdtW&V+>T~ukE~%mxPRHOPV!@K0Ih%*W*Zu8BU(pB^F!s>&^TTtF9su!|2s{j#8cH(eg8Hs!-$=G(*=0STVGYsZll- zN&J~@wBM6?9YT>XUnKpSOAP4Bb-z|n)K>0){@QWOJ(nUWsv(@ORSkqHK5Y;JenA0U zdgm1;rf|Q=9EVXSH8|&5#|>0O-g+7GJz--P8n6zHh)NGX&5pz@y!eU)y?U3+8rLx9 oAF|pN^lqpQzw7(QUY&7IrhZqbi}UU~|II^nW$nKUm0o}Ne-dzmu>b%7 literal 0 HcmV?d00001 diff --git a/public/images/events/spr25event-es-ES.png b/public/images/events/spr25event-es-ES.png new file mode 100644 index 0000000000000000000000000000000000000000..137f1c6e7436f167fa6af462610c087f2c89890c GIT binary patch literal 30560 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 literal 0 HcmV?d00001 diff --git a/public/images/events/spr25event-es-MX.png b/public/images/events/spr25event-es-MX.png new file mode 100644 index 0000000000000000000000000000000000000000..137f1c6e7436f167fa6af462610c087f2c89890c GIT binary patch literal 30560 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 literal 0 HcmV?d00001 diff --git a/public/images/events/spr25event-fr.png b/public/images/events/spr25event-fr.png new file mode 100644 index 0000000000000000000000000000000000000000..e7089eee4a1f32547f8364089468072177ad361d GIT binary patch literal 30245 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%0A_7<6+LYHK^ZO>u*>qYX&8if&Xuv15!=L8LdrVT2 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 literal 0 HcmV?d00001 diff --git a/public/images/events/spr25event-pt-BR.png b/public/images/events/spr25event-pt-BR.png new file mode 100644 index 0000000000000000000000000000000000000000..ae195fecc97efa99c2d0a2e90847800ac5c32c99 GIT binary patch literal 30642 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 literal 0 HcmV?d00001 diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index bfba553af5d..bab0c44db7d 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -106,7 +106,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui * If an event with more than 1 valid event encounter species is active, you have 20% chance to get one of those * If the rolled species has no HA, and there are valid event encounters, you will get one of those * If the rolled species has no HA and there are no valid event encounters, you will get Shiny Magikarp - * Mons rolled from the event encounter pool get 2 extra shiny rolls + * Mons rolled from the event encounter pool get 3 extra shiny rolls */ if ( r === 0 || @@ -120,12 +120,13 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui (validEventEncounters.length > 0 && (r <= EVENT_THRESHOLD || (isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE))) ) { - // If you roll 20%, give event encounter with 2 extra shiny rolls and its HA, if it has one + // If you roll 20%, give event encounter with 3 extra shiny rolls and its HA, if it has one const enc = randSeedItem(validEventEncounters); species = getPokemonSpecies(enc.species); pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); pokemon.trySetShinySeed(); pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); } else { pokemon = new PlayerPokemon(species, 5, 2, species.formIndex); } diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 8f5a9c75428..3f5e0393ff7 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -310,6 +310,48 @@ const timedEvents: TimedEvent[] = [ }, ], }, + { + name: "Shining Spring", + eventType: EventType.SHINY, + startDate: new Date(Date.UTC(2025, 4, 2)), + endDate: new Date(Date.UTC(2025, 4, 12)), + bannerKey: "spr25event", + scale: 0.21, + availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "es-MX", "pt-BR", "zh-CN"], + shinyMultiplier: 2, + upgradeUnlockedVouchers: true, + eventEncounters: [ + { species: Species.HOPPIP }, + { species: Species.CELEBI }, + { species: Species.VOLBEAT }, + { species: Species.ILLUMISE }, + { species: Species.SPOINK }, + { species: Species.LILEEP }, + { species: Species.SHINX }, + { species: Species.PACHIRISU }, + { species: Species.CHERUBI }, + { species: Species.MUNCHLAX }, + { species: Species.TEPIG }, + { species: Species.PANSAGE }, + { species: Species.PANSEAR }, + { species: Species.PANPOUR }, + { species: Species.DARUMAKA }, + { species: Species.ARCHEN }, + { species: Species.DEERLING, formIndex: 0 }, // Spring Deerling + { species: Species.CLAUNCHER }, + { species: Species.WISHIWASHI }, + { species: Species.MUDBRAY }, + { species: Species.DRAMPA }, + { species: Species.JANGMO_O }, + { species: Species.APPLIN }, + ], + classicWaveRewards: [ + { wave: 8, type: "SHINY_CHARM" }, + { wave: 8, type: "ABILITY_CHARM" }, + { wave: 8, type: "CATCHING_CHARM" }, + { wave: 25, type: "SHINY_CHARM" }, + ], + } ]; export class TimedEventManager { From 6d90649b925c2c1537815ba797dd783e3fdb2135 Mon Sep 17 00:00:00 2001 From: Bertie690 <136088738+Bertie690@users.noreply.github.com> Date: Fri, 2 May 2025 01:06:07 -0400 Subject: [PATCH 089/102] [Refactor/Bug/Ability] Reworked BattleData, fixed Rage Fist, Harvest, Belch + Implemented Cud Chew (#5655) * Grabbed reverted changes from stuff * Added version migrator for rage fist data + deepMergeSpriteData tests * fixed formattign * Fied a few * Fixed constructor (maybe), moved deepCopy and deepMergeSpriteData to own file `common.ts` is hella bloated so seems legit * Moved empty moveset verification mapping thing to upgrade script bc i wanted to * Fixed tests * test added * Fixed summondata being cleared inside summonPhase, removed `summonDataPrimer` like seriously how come no-one checked this * Fixed test I forgot that we outsped and oneshot * Fixed test * huhjjjjjb * Hopefully fixed bug my sanity and homework are paying the price for this lol * added commented out console.log statement uncomment to see new berry data * Fixed migrate script, re-added deprecated attributes out of necessity * Fixed failing test by not trying to mock rng * Fixed test * Fixed tests * Update ability.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update ability.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update overrides.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update berry-phase.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update encounter-phase.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update game-data.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update move-phase.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Added utility function `randSeedFloat` basically just `Phaser.math.RND.realInRange(0, 1)` * Applied review comments, cleaned up code a bit * Removed unnecessary null checks for turnData and co. I explicitly made them initialized by default for this very reason * Added tests for Last Resort regarding moveHistory * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update battle-scene.ts Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> * Update the-winstrate-challenge-encounter.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update ability.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update move.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update move.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update move.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update battle-anims.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Update pokemon.ts comments * Fixed a few outstanding issues with documentation * Updated switch summon phase comment * Re-added BattleSummonData as TempSummonData * Hppefully fixed -1 sprite scale glitch * Fixed comment * Reveted `pokemon-forms.ts` * Fuxed constructor * fixed -1 bug * Revert "Added utility function `randSeedFloat`" This reverts commit 4c3447c851731c989fc591feea0094b6bbde7fd2. --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> --- src/battle-scene.ts | 25 +- src/data/abilities/ab-attrs/ab-attr.ts | 4 + src/data/abilities/ability.ts | 251 ++++-- src/data/arena-tag.ts | 72 +- src/data/battle-anims.ts | 1 - src/data/battler-tags.ts | 72 +- src/data/berry.ts | 177 ++-- src/data/challenge.ts | 3 +- src/data/custom-pokemon-data.ts | 37 +- src/data/moves/move.ts | 242 +++-- .../encounters/clowning-around-encounter.ts | 3 - .../global-trade-system-encounter.ts | 4 +- .../the-winstrate-challenge-encounter.ts | 3 +- .../encounters/weird-dream-encounter.ts | 4 - .../utils/encounter-phase-utils.ts | 12 +- .../utils/encounter-pokemon-utils.ts | 3 - .../encounter-transformation-sequence.ts | 4 +- src/data/pokemon-species.ts | 20 +- src/enums/biome.ts | 1 + src/field/pokemon.ts | 837 ++++++++++-------- src/inputs-controller.ts | 3 +- src/modifier/modifier-type.ts | 1 + src/modifier/modifier.ts | 47 +- src/overrides.ts | 10 +- src/phases/battle-end-phase.ts | 4 +- src/phases/berry-phase.ts | 91 +- src/phases/encounter-phase.ts | 20 +- src/phases/evolution-phase.ts | 4 +- src/phases/faint-phase.ts | 4 +- src/phases/field-phase.ts | 3 +- src/phases/form-change-phase.ts | 2 +- src/phases/move-effect-phase.ts | 3 - src/phases/move-phase.ts | 2 +- src/phases/mystery-encounter-phases.ts | 3 +- src/phases/new-biome-encounter-phase.ts | 12 +- src/phases/next-encounter-phase.ts | 9 +- src/phases/quiet-form-change-phase.ts | 2 +- src/phases/show-ability-phase.ts | 4 +- src/phases/stat-stage-change-phase.ts | 8 - src/phases/summon-phase.ts | 10 +- src/phases/switch-summon-phase.ts | 122 +-- src/phases/turn-end-phase.ts | 5 +- src/phases/turn-start-phase.ts | 23 +- src/system/game-data.ts | 112 +-- src/system/pokemon-data.ts | 180 ++-- .../version_migration/version_converter.ts | 5 + .../version_migration/versions/v1_9_0.ts | 47 + src/ui/battle-info.ts | 4 +- src/ui/fight-ui-handler.ts | 6 +- src/ui/party-ui-handler.ts | 2 +- src/ui/registration-form-ui-handler.ts | 4 +- src/ui/summary-ui-handler.ts | 8 +- src/ui/target-select-ui-handler.ts | 2 +- src/utils/common.ts | 39 +- src/utils/data.ts | 40 + test/abilities/cud_chew.test.ts | 322 +++++++ test/abilities/good_as_gold.test.ts | 2 +- test/abilities/harvest.test.ts | 346 ++++++++ test/abilities/illusion.test.ts | 12 +- test/abilities/infiltrator.test.ts | 8 +- test/abilities/libero.test.ts | 16 +- test/abilities/protean.test.ts | 16 +- test/abilities/quick_draw.test.ts | 6 +- test/abilities/wimp_out.test.ts | 2 +- test/battle/inverse_battle.test.ts | 4 +- test/battlerTags/substitute.test.ts | 1 - test/moves/dive.test.ts | 2 +- test/moves/fake_out.test.ts | 67 +- test/moves/instruct.test.ts | 6 +- test/moves/last-resort.test.ts | 166 ++++ test/moves/powder.test.ts | 2 +- test/moves/rage_fist.test.ts | 135 ++- test/moves/toxic_spikes.test.ts | 2 +- test/moves/transform.test.ts | 24 +- test/moves/u_turn.test.ts | 4 +- test/settingMenu/rebinding_setting.test.ts | 2 +- test/testUtils/gameManager.ts | 3 +- test/testUtils/helpers/moveHelper.ts | 11 + test/testUtils/helpers/overridesHelper.ts | 15 + test/testUtils/helpers/reloadHelper.ts | 12 +- test/utils.test.ts | 31 + 81 files changed, 2541 insertions(+), 1292 deletions(-) create mode 100644 src/system/version_migration/versions/v1_9_0.ts create mode 100644 src/utils/data.ts create mode 100644 test/abilities/cud_chew.test.ts create mode 100644 test/abilities/harvest.test.ts create mode 100644 test/moves/last-resort.test.ts diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 8fe6c85263d..db036847994 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -7,7 +7,6 @@ import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import { fixedInt, - deepMergeObjects, getIvsFromId, randSeedInt, getEnumValues, @@ -19,6 +18,7 @@ import { BooleanHolder, type Constructor, } from "#app/utils/common"; +import { deepMergeSpriteData } from "#app/utils/data"; import type { Modifier, ModifierPredicate, TurnHeldItemTransferModifier } from "./modifier/modifier"; import { ConsumableModifier, @@ -787,7 +787,7 @@ export default class BattleScene extends SceneBase { return; } const expVariantData = await this.cachedFetch("./images/pokemon/variant/_exp_masterlist.json").then(r => r.json()); - deepMergeObjects(variantData, expVariantData); + deepMergeSpriteData(variantData, expVariantData); } cachedFetch(url: string, init?: RequestInit): Promise { @@ -835,6 +835,7 @@ export default class BattleScene extends SceneBase { return this.getPlayerField().find(p => p.isActive() && (includeSwitching || p.switchOutStatus === false)); } + // TODO: Add `undefined` to return type /** * Returns an array of PlayerPokemon of length 1 or 2 depending on if in a double battle or not. * Does not actually check if the pokemon are on the field or not. @@ -850,9 +851,9 @@ export default class BattleScene extends SceneBase { } /** - * @returns The first {@linkcode EnemyPokemon} that is {@linkcode getEnemyField on the field} - * and {@linkcode EnemyPokemon.isActive is active} - * (aka {@linkcode EnemyPokemon.isAllowedInBattle is allowed in battle}), + * @returns The first {@linkcode EnemyPokemon} that is {@linkcode getEnemyField | on the field} + * and {@linkcode EnemyPokemon.isActive | is active} + * (aka {@linkcode EnemyPokemon.isAllowedInBattle | is allowed in battle}), * or `undefined` if there are no valid pokemon * @param includeSwitching Whether a pokemon that is currently switching out is valid, default `true` */ @@ -873,8 +874,8 @@ export default class BattleScene extends SceneBase { /** * Returns an array of Pokemon on both sides of the battle - player first, then enemy. * Does not actually check if the pokemon are on the field or not, and always has length 4 regardless of battle type. - * @param activeOnly Whether to consider only active pokemon - * @returns array of {@linkcode Pokemon} + * @param activeOnly - Whether to consider only active pokemon; default `false` + * @returns An array of {@linkcode Pokemon}, as described above. */ public getField(activeOnly = false): Pokemon[] { const ret = new Array(4).fill(null); @@ -1307,14 +1308,13 @@ export default class BattleScene extends SceneBase { return isNewBiome; } - // TODO: ...this never actually returns `null`, right? newBattle( waveIndex?: number, battleType?: BattleType, trainerData?: TrainerData, double?: boolean, mysteryEncounterType?: MysteryEncounterType, - ): Battle | null { + ): Battle { const _startingWave = Overrides.STARTING_WAVE_OVERRIDE || startingWave; const newWaveIndex = waveIndex || (this.currentBattle?.waveIndex || _startingWave - 1) + 1; let newDouble: boolean | undefined; @@ -1496,7 +1496,7 @@ export default class BattleScene extends SceneBase { }); for (const pokemon of this.getPlayerParty()) { - pokemon.resetBattleData(); + pokemon.resetBattleAndWaveData(); pokemon.resetTera(); applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon); if ( @@ -3264,6 +3264,7 @@ export default class BattleScene extends SceneBase { [this.modifierBar, this.enemyModifierBar].map(m => m.setVisible(visible)); } + // TODO: Document this updateModifiers(player = true, instant?: boolean): void { const modifiers = player ? this.modifiers : (this.enemyModifiers as PersistentModifier[]); for (let m = 0; m < modifiers.length; m++) { @@ -3316,8 +3317,8 @@ export default class BattleScene extends SceneBase { * gets removed. This function does NOT apply in-battle effects, such as Unburden. * If in-battle effects are needed, use {@linkcode Pokemon.loseHeldItem} instead. * @param modifier The item to be removed. - * @param enemy If `true`, remove an item owned by the enemy. If `false`, remove an item owned by the player. Default is `false`. - * @returns `true` if the item exists and was successfully removed, `false` otherwise. + * @param enemy `true` to remove an item owned by the enemy rather than the player; default `false`. + * @returns `true` if the item exists and was successfully removed, `false` otherwise */ removeModifier(modifier: PersistentModifier, enemy = false): boolean { const modifiers = !enemy ? this.modifiers : this.enemyModifiers; diff --git a/src/data/abilities/ab-attrs/ab-attr.ts b/src/data/abilities/ab-attrs/ab-attr.ts index a653c3f372d..24fbb6dc338 100644 --- a/src/data/abilities/ab-attrs/ab-attr.ts +++ b/src/data/abilities/ab-attrs/ab-attr.ts @@ -6,6 +6,10 @@ export abstract class AbAttr { public showAbility: boolean; private extraCondition: AbAttrCondition; + /** + * @param showAbility - Whether to show this ability as a flyout during battle; default `true`. + * Should be kept in parity with mainline where possible. + */ constructor(showAbility = true) { this.showAbility = showAbility; } diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 6e3f4c77f87..1cb19e57533 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -60,6 +60,11 @@ import { SwitchType } from "#enums/switch-type"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; +import type { BerryType } from "#enums/berry-type"; +import { CommonAnimPhase } from "#app/phases/common-anim-phase"; +import { CommonAnim } from "../battle-anims"; +import { getBerryEffectFunc } from "../berry"; +import { BerryUsedEvent } from "#app/events/battle-scene"; // Type imports @@ -2675,7 +2680,7 @@ export class PostSummonCopyAllyStatsAbAttr extends PostSummonAbAttr { } /** - * Used by Imposter + * Attribute used by {@linkcode Abilities.IMPOSTER} to transform into a random opposing pokemon on entry. */ export class PostSummonTransformAbAttr extends PostSummonAbAttr { constructor() { @@ -2710,7 +2715,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr { const targets = pokemon.getOpponents(); const target = this.getTarget(targets); - if (!!target.summonData?.illusion) { + if (target.summonData.illusion) { return false; } @@ -3292,13 +3297,13 @@ export class ConditionalUserFieldStatusEffectImmunityAbAttr extends UserFieldSta /** * Conditionally provides immunity to stat drop effects to the user's field. - * + * * Used by {@linkcode Abilities.FLOWER_VEIL | Flower Veil}. */ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbAttr { /** {@linkcode BattleStat} to protect or `undefined` if **all** {@linkcode BattleStat} are protected */ protected protectedStat?: BattleStat; - + /** If the method evaluates to true, the stat will be protected. */ protected condition: (target: Pokemon) => boolean; @@ -3315,7 +3320,7 @@ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbA * @param stat The stat being affected * @param cancelled Holds whether the stat change was already prevented. * @param args Args[0] is the target pokemon of the stat change. - * @returns + * @returns */ override canApplyPreStatStageChange(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: BattleStat, cancelled: BooleanHolder, args: [Pokemon, ...any]): boolean { const target = args[0]; @@ -3451,7 +3456,7 @@ export class BonusCritAbAttr extends AbAttr { /** * Apply the bonus crit ability by increasing the value in the provided number holder by 1 - * + * * @param pokemon The pokemon with the BonusCrit ability (unused) * @param passive Unused * @param simulated Unused @@ -3604,7 +3609,7 @@ export class PreWeatherEffectAbAttr extends AbAttr { args: any[]): boolean { return true; } - + applyPreWeatherEffect( pokemon: Pokemon, passive: boolean, @@ -3657,14 +3662,10 @@ export class SuppressWeatherEffectAbAttr extends PreWeatherEffectAbAttr { * Condition function to applied to abilities related to Sheer Force. * Checks if last move used against target was affected by a Sheer Force user and: * Disables: Color Change, Pickpocket, Berserk, Anger Shell - * @returns {AbAttrCondition} If false disables the ability which the condition is applied to. + * @returns An {@linkcode AbAttrCondition} to disable the ability under the proper conditions. */ function getSheerForceHitDisableAbCondition(): AbAttrCondition { return (pokemon: Pokemon) => { - if (!pokemon.turnData) { - return true; - } - const lastReceivedAttack = pokemon.turnData.attacksReceived[0]; if (!lastReceivedAttack) { return true; @@ -3675,7 +3676,7 @@ function getSheerForceHitDisableAbCondition(): AbAttrCondition { return true; } - /**if the last move chance is greater than or equal to cero, and the last attacker's ability is sheer force*/ + /** `true` if the last move's chance is above 0 and the last attacker's ability is sheer force */ const SheerForceAffected = allMoves[lastReceivedAttack.move].chance >= 0 && lastAttacker.hasAbility(Abilities.SHEER_FORCE); return !SheerForceAffected; @@ -3745,7 +3746,7 @@ function getAnticipationCondition(): AbAttrCondition { */ function getOncePerBattleCondition(ability: Abilities): AbAttrCondition { return (pokemon: Pokemon) => { - return !pokemon.battleData?.abilitiesApplied.includes(ability); + return !pokemon.waveData.abilitiesApplied.has(ability); }; } @@ -4034,7 +4035,7 @@ export class PostTurnStatusHealAbAttr extends PostTurnAbAttr { /** * After the turn ends, resets the status of either the ability holder or their ally - * @param {boolean} allyTarget Whether to target ally, defaults to false (self-target) + * @param allyTarget Whether to target ally, defaults to false (self-target) */ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { private allyTarget: boolean; @@ -4066,79 +4067,153 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { } /** - * After the turn ends, try to create an extra item + * Attribute to try and restore eaten berries after the turn ends. + * Used by {@linkcode Abilities.HARVEST}. */ -export class PostTurnLootAbAttr extends PostTurnAbAttr { +export class PostTurnRestoreBerryAbAttr extends PostTurnAbAttr { /** - * @param itemType - The type of item to create - * @param procChance - Chance to create an item - * @see {@linkcode applyPostTurn()} + * Array containing all {@linkcode BerryType | BerryTypes} that are under cap and able to be restored. + * Stored inside the class for a minor performance boost + */ + private berriesUnderCap: BerryType[] + + /** + * @param procChance - function providing chance to restore an item + * @see {@linkcode createEatenBerry()} */ constructor( - /** Extend itemType to add more options */ - private itemType: "EATEN_BERRIES" | "HELD_BERRIES", private procChance: (pokemon: Pokemon) => number ) { super(); } - override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - // Clamp procChance to [0, 1]. Skip if didn't proc (less than pass) - const pass = Phaser.Math.RND.realInRange(0, 1); - return !(Math.max(Math.min(this.procChance(pokemon), 1), 0) < pass) && this.itemType === "EATEN_BERRIES" && !!pokemon.battleData.berriesEaten; - } + override canApplyPostTurn(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + // Ensure we have at least 1 recoverable berry (at least 1 berry in berriesEaten is not capped) + const cappedBerries = new Set( + globalScene.getModifiers(BerryModifier, pokemon.isPlayer()).filter( + bm => bm.pokemonId === pokemon.id && bm.getCountUnderMax() < 1 + ).map(bm => bm.berryType) + ); - override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { - this.createEatenBerry(pokemon, simulated); - } + this.berriesUnderCap = pokemon.battleData.berriesEaten.filter( + bt => !cappedBerries.has(bt) + ); - /** - * Create a new berry chosen randomly from the berries the pokemon ate this battle - * @param pokemon The pokemon with this ability - * @param simulated whether the associated ability call is simulated - * @returns whether a new berry was created - */ - createEatenBerry(pokemon: Pokemon, simulated: boolean): boolean { - const berriesEaten = pokemon.battleData.berriesEaten; - - if (!berriesEaten.length) { + if (!this.berriesUnderCap.length) { return false; } - if (simulated) { - return true; + // Clamp procChance to [0, 1]. Skip if didn't proc (less than pass) + const pass = Phaser.Math.RND.realInRange(0, 1); + return Phaser.Math.Clamp(this.procChance(pokemon), 0, 1) >= pass; + } + + override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { + if (!simulated) { + this.createEatenBerry(pokemon); } + } - const randomIdx = randSeedInt(berriesEaten.length); - const chosenBerryType = berriesEaten[randomIdx]; + /** + * Create a new berry chosen randomly from all berries the pokemon ate this battle + * @param pokemon - The {@linkcode Pokemon} with this ability + * @returns `true` if a new berry was created + */ + createEatenBerry(pokemon: Pokemon): boolean { + // Pick a random available berry to yoink + const randomIdx = randSeedInt(this.berriesUnderCap.length); + const chosenBerryType = this.berriesUnderCap[randomIdx]; + pokemon.battleData.berriesEaten.splice(randomIdx, 1); // Remove berry from memory const chosenBerry = new BerryModifierType(chosenBerryType); - berriesEaten.splice(randomIdx); // Remove berry from memory + // Add the randomly chosen berry or update the existing one const berryModifier = globalScene.findModifier( - (m) => m instanceof BerryModifier && m.berryType === chosenBerryType, + (m) => m instanceof BerryModifier && m.berryType === chosenBerryType && m.pokemonId == pokemon.id, pokemon.isPlayer() ) as BerryModifier | undefined; - if (!berryModifier) { + if (berryModifier) { + berryModifier.stackCount++ + } else { const newBerry = new BerryModifier(chosenBerry, pokemon.id, chosenBerryType, 1); if (pokemon.isPlayer()) { globalScene.addModifier(newBerry); } else { globalScene.addEnemyModifier(newBerry); } - } else if (berryModifier.stackCount < berryModifier.getMaxHeldItemCount(pokemon)) { - berryModifier.stackCount++; } - globalScene.queueMessage(i18next.t("abilityTriggers:postTurnLootCreateEatenBerry", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), berryName: chosenBerry.name })); globalScene.updateModifiers(pokemon.isPlayer()); - + globalScene.queueMessage(i18next.t("abilityTriggers:postTurnLootCreateEatenBerry", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), berryName: chosenBerry.name })); return true; } } /** - * Attribute used for {@linkcode Abilities.MOODY} + * Attribute to track and re-trigger last turn's berries at the end of the `BerryPhase`. + * Used by {@linkcode Abilities.CUD_CHEW}. +*/ +export class RepeatBerryNextTurnAbAttr extends PostTurnAbAttr { + /** + * @returns `true` if the pokemon ate anything last turn + */ + override canApply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + // force ability popup for ability triggers on normal turns. + // Still not used if ability doesn't proc + this.showAbility = true; + return !!pokemon.summonData.berriesEatenLast.length; + } + + /** + * Cause this {@linkcode Pokemon} to regurgitate and eat all berries inside its `berriesEatenLast` array. + * Triggers a berry use animation, but does *not* count for other berry or item-related abilities. + * @param pokemon - The {@linkcode Pokemon} having a bad tummy ache + * @param _passive - N/A + * @param _simulated - N/A + * @param _cancelled - N/A + * @param _args - N/A + */ + override apply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder | null, _args: any[]): void { + globalScene.unshiftPhase( + new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.USE_ITEM), + ); + + // Re-apply effects of all berries previously scarfed. + // This doesn't count as "eating" a berry (for unnerve/stuff cheeks/unburden) as no item is consumed. + for (const berryType of pokemon.summonData.berriesEatenLast) { + getBerryEffectFunc(berryType)(pokemon); + const bMod = new BerryModifier(new BerryModifierType(berryType), pokemon.id, berryType, 1); + globalScene.eventTarget.dispatchEvent(new BerryUsedEvent(bMod)); // trigger message + } + + // uncomment to make cheek pouch work with cud chew + // applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); + } + + /** + * @returns always `true` as we always want to move berries into summon data + */ + override canApplyPostTurn(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + this.showAbility = false; // don't show popup for turn end berry moving (should ideally be hidden) + return true; + } + + /** + * Move this {@linkcode Pokemon}'s `berriesEaten` array from `PokemonTurnData` + * into `PokemonSummonData` on turn end. + * Both arrays are cleared on switch. + * @param pokemon - The {@linkcode Pokemon} having a nice snack + * @param _passive - N/A + * @param _simulated - N/A + * @param _args - N/A + */ + override applyPostTurn(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): void { + pokemon.summonData.berriesEatenLast = pokemon.turnData.berriesEaten; + } +} + +/** + * Attribute used for {@linkcode Abilities.MOODY} to randomly raise and lower stats at turn end. */ export class MoodyAbAttr extends PostTurnAbAttr { constructor() { @@ -4232,7 +4307,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr { } /** * Deals damage to all sleeping opponents equal to 1/8 of their max hp (min 1) - * @param pokemon Pokemon that has this ability + * @param pokemon {@linkcode Pokemon} with this ability * @param passive N/A * @param simulated `true` if applying in a simulated call. * @param args N/A @@ -4414,7 +4489,7 @@ export class PostItemLostAbAttr extends AbAttr { } /** - * Applies a Battler Tag to the Pokemon after it loses or consumes item + * Applies a Battler Tag to the Pokemon after it loses or consumes an item * @extends PostItemLostAbAttr */ export class PostItemLostApplyBattlerTagAbAttr extends PostItemLostAbAttr { @@ -4503,8 +4578,19 @@ export class DoubleBerryEffectAbAttr extends AbAttr { } } +/** + * Attribute to prevent opposing berry use while on the field. + * Used by {@linkcode Abilities.UNNERVE}, {@linkcode Abilities.AS_ONE_GLASTRIER} and {@linkcode Abilities.AS_ONE_SPECTRIER} + */ export class PreventBerryUseAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + /** + * Prevent use of opposing berries. + * @param _pokemon - Unused + * @param _passive - Unused + * @param _simulated - Unused + * @param cancelled - {@linkcode BooleanHolder} containing whether to block berry use + */ + override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, cancelled: BooleanHolder): void { cancelled.value = true; } } @@ -4526,17 +4612,19 @@ export class HealFromBerryUseAbAttr extends AbAttr { } override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, ...args: [BooleanHolder, any[]]): void { + if (simulated) { + return; + } + const { name: abilityName } = passive ? pokemon.getPassiveAbility() : pokemon.getAbility(); - if (!simulated) { - globalScene.unshiftPhase( - new PokemonHealPhase( - pokemon.getBattlerIndex(), - toDmgValue(pokemon.getMaxHp() * this.healPercent), - i18next.t("abilityTriggers:healFromBerryUse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), - true + globalScene.unshiftPhase( + new PokemonHealPhase( + pokemon.getBattlerIndex(), + toDmgValue(pokemon.getMaxHp() * this.healPercent), + i18next.t("abilityTriggers:healFromBerryUse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), + true ) ); - } } } @@ -4568,7 +4656,8 @@ export class CheckTrappedAbAttr extends AbAttr { simulated: boolean, trapped: BooleanHolder, otherPokemon: Pokemon, - args: any[]): boolean { + args: any[], + ): boolean { return true; } @@ -5091,7 +5180,7 @@ export class PostSummonStatStageChangeOnArenaAbAttr extends PostSummonStatStageC /** * Takes no damage from the first hit of a damaging move. * This is used in the Disguise and Ice Face abilities. - * + * * Does not apply to a user's substitute * @extends ReceivedMoveDamageMultiplierAbAttr */ @@ -5176,15 +5265,14 @@ export class IllusionPreSummonAbAttr extends PreSummonAbAttr { } override canApplyPreSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean { - pokemon.initSummondata() - if(pokemon.hasTrainer()){ + if (pokemon.hasTrainer()) { const party: Pokemon[] = (pokemon.isPlayer() ? globalScene.getPlayerParty() : globalScene.getEnemyParty()).filter(p => p.isAllowedInBattle()); const lastPokemon: Pokemon = party.filter(p => p !==pokemon).at(-1) || pokemon; const speciesId = lastPokemon.species.speciesId; // If the last conscious Pokémon in the party is a Terastallized Ogerpon or Terapagos, Illusion will not activate. // Illusion will also not activate if the Pokémon with Illusion is Terastallized and the last Pokémon in the party is Ogerpon or Terapagos. - if ( + if ( lastPokemon === pokemon || ((speciesId === Species.OGERPON || speciesId === Species.TERAPAGOS) && (lastPokemon.isTerastallized || pokemon.isTerastallized)) ) { @@ -5221,7 +5309,7 @@ export class PostDefendIllusionBreakAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean { const breakIllusion: HitResult[] = [ HitResult.EFFECTIVE, HitResult.SUPER_EFFECTIVE, HitResult.NOT_VERY_EFFECTIVE, HitResult.ONE_HIT_KO ]; - return breakIllusion.includes(hitResult) && !!pokemon.summonData?.illusion + return breakIllusion.includes(hitResult) && !!pokemon.summonData.illusion } } @@ -5442,11 +5530,8 @@ function applySingleAbAttrs( globalScene.queueAbilityDisplay(pokemon, passive, false); } - if (pokemon.summonData && !pokemon.summonData.abilitiesApplied.includes(ability.id)) { - pokemon.summonData.abilitiesApplied.push(ability.id); - } - if (pokemon.battleData && !simulated && !pokemon.battleData.abilitiesApplied.includes(ability.id)) { - pokemon.battleData.abilitiesApplied.push(ability.id); + if (!simulated) { + pokemon.waveData.abilitiesApplied.add(ability.id); } globalScene.clearPhaseQueueSplice(); @@ -5637,6 +5722,7 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { this.hpRatio = hpRatio; } + // TODO: Refactor to use more early returns public override canApplyPostDamage( pokemon: Pokemon, damage: number, @@ -5664,6 +5750,7 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { if (fordbiddenDefendingMoves.includes(enemyLastMoveUsed.move) || enemyLastMoveUsed.move === Moves.SKY_DROP && enemyLastMoveUsed.result === MoveResult.OTHER) { return false; // Will not activate if the Pokémon's HP falls below half by a move affected by Sheer Force. + // TODO: Make this use the sheer force disable condition } else if (allMoves[enemyLastMoveUsed.move].chance >= 0 && source.hasAbility(Abilities.SHEER_FORCE)) { return false; // Activate only after the last hit of multistrike moves @@ -6326,17 +6413,14 @@ export function applyOnLoseAbAttrs(pokemon: Pokemon, passive = false, simulated /** * Sets the ability of a Pokémon as revealed. - * * @param pokemon - The Pokémon whose ability is being revealed. */ function setAbilityRevealed(pokemon: Pokemon): void { - if (pokemon.battleData) { - pokemon.battleData.abilityRevealed = true; - } + pokemon.waveData.abilityRevealed = true; } /** - * Returns the Pokemon with weather-based forms + * Returns all Pokemon on field with weather-based forms */ function getPokemonWithWeatherBasedForms() { return globalScene.getField(true).filter(p => @@ -6784,8 +6868,7 @@ export function initAbilities() { .attr(MovePowerBoostAbAttr, (user, target, move) => move.category === MoveCategory.SPECIAL && user?.status?.effect === StatusEffect.BURN, 1.5), new Ability(Abilities.HARVEST, 5) .attr( - PostTurnLootAbAttr, - "EATEN_BERRIES", + PostTurnRestoreBerryAbAttr, /** Rate is doubled when under sun {@link https://dex.pokemonshowdown.com/abilities/harvest} */ (pokemon) => 0.5 * (getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)(pokemon) ? 2 : 1) ) @@ -6907,7 +6990,7 @@ export function initAbilities() { .attr(HealFromBerryUseAbAttr, 1 / 3), new Ability(Abilities.PROTEAN, 6) .attr(PokemonTypeChangeAbAttr), - //.condition((p) => !p.summonData?.abilitiesApplied.includes(Abilities.PROTEAN)), //Gen 9 Implementation + //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.PROTEAN)), //Gen 9 Implementation new Ability(Abilities.FUR_COAT, 6) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, 0.5) .ignorable(), @@ -7153,7 +7236,7 @@ export function initAbilities() { .attr(PostSummonStatStageChangeAbAttr, [ Stat.DEF ], 1, true), new Ability(Abilities.LIBERO, 8) .attr(PokemonTypeChangeAbAttr), - //.condition((p) => !p.summonData?.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation + //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation new Ability(Abilities.BALL_FETCH, 8) .attr(FetchBallAbAttr) .condition(getOncePerBattleCondition(Abilities.BALL_FETCH)), @@ -7368,7 +7451,7 @@ export function initAbilities() { new Ability(Abilities.OPPORTUNIST, 9) .attr(StatStageChangeCopyAbAttr), new Ability(Abilities.CUD_CHEW, 9) - .unimplemented(), + .attr(RepeatBerryNextTurnAbAttr), new Ability(Abilities.SHARPNESS, 9) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.SLICING_MOVE), 1.5), new Ability(Abilities.SUPREME_OVERLORD, 9) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index ff9e4068292..19c94a8a045 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -768,32 +768,27 @@ class SpikesTag extends ArenaTrapTag { } override activateTrap(pokemon: Pokemon, simulated: boolean): boolean { - if (pokemon.isGrounded()) { - const cancelled = new BooleanHolder(false); - applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); - - if (simulated) { - return !cancelled.value; - } - - if (!cancelled.value) { - const damageHpRatio = 1 / (10 - 2 * this.layers); - const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); - - globalScene.queueMessage( - i18next.t("arenaTag:spikesActivateTrap", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); - if (pokemon.turnData) { - pokemon.turnData.damageTaken += damage; - } - return true; - } + if (!pokemon.isGrounded()) { + return false; } - return false; + const cancelled = new BooleanHolder(false); + applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); + if (simulated || cancelled.value) { + return !cancelled.value; + } + + const damageHpRatio = 1 / (10 - 2 * this.layers); + const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); + + globalScene.queueMessage( + i18next.t("arenaTag:spikesActivateTrap", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); + pokemon.turnData.damageTaken += damage; + return true; } } @@ -962,31 +957,28 @@ class StealthRockTag extends ArenaTrapTag { override activateTrap(pokemon: Pokemon, simulated: boolean): boolean { const cancelled = new BooleanHolder(false); applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); - if (cancelled.value) { return false; } const damageHpRatio = this.getDamageHpRatio(pokemon); + if (!damageHpRatio) { + return false; + } - if (damageHpRatio) { - if (simulated) { - return true; - } - const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); - globalScene.queueMessage( - i18next.t("arenaTag:stealthRockActivateTrap", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); - if (pokemon.turnData) { - pokemon.turnData.damageTaken += damage; - } + if (simulated) { return true; } - return false; + const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); + globalScene.queueMessage( + i18next.t("arenaTag:stealthRockActivateTrap", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); + pokemon.turnData.damageTaken += damage; + return true; } getMatchupScoreMultiplier(pokemon: Pokemon): number { diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 0999e9db6ff..454bd40130c 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -1132,7 +1132,6 @@ export abstract class BattleAnim { if (priority === 0) { // Place the sprite in front of the pokemon on the field. targetSprite = globalScene.getEnemyField().find(p => p) ?? globalScene.getPlayerField().find(p => p); - console.log(typeof targetSprite); moveFunc = globalScene.field.moveBelow; } else if (priority === 2 && this.bgSprite) { moveFunc = globalScene.field.moveAbove; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index ee41f0435b9..8a512f3c16c 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -1,4 +1,5 @@ import { globalScene } from "#app/global-scene"; +import Overrides from "#app/overrides"; import { applyAbAttrs, BlockNonDirectDamageAbAttr, @@ -91,7 +92,12 @@ export class BattlerTag { onOverlap(_pokemon: Pokemon): void {} + /** + * Tick down this {@linkcode BattlerTag}'s duration. + * @returns `true` if the tag should be kept (`turnCount` > 0`) + */ lapse(_pokemon: Pokemon, _lapseType: BattlerTagLapseType): boolean { + // TODO: Maybe flip this (return `true` if tag needs removal) return --this.turnCount > 0; } @@ -108,9 +114,9 @@ export class BattlerTag { } /** - * When given a battler tag or json representing one, load the data for it. - * This is meant to be inherited from by any battler tag with custom attributes - * @param {BattlerTag | any} source A battler tag + * Load the data for a given {@linkcode BattlerTag} or JSON representation thereof. + * Should be inherited from by any battler tag with custom attributes. + * @param source The battler tag to load */ loadTag(source: BattlerTag | any): void { this.turnCount = source.turnCount; @@ -120,7 +126,7 @@ export class BattlerTag { /** * Helper function that retrieves the source Pokemon object - * @returns The source {@linkcode Pokemon} or `null` if none is found + * @returns The source {@linkcode Pokemon}, or `null` if none is found */ public getSourcePokemon(): Pokemon | null { return this.sourceId ? globalScene.getPokemonById(this.sourceId) : null; @@ -140,8 +146,8 @@ export interface TerrainBattlerTag { * in-game. This is not to be confused with {@linkcode Moves.DISABLE}. * * Descendants can override {@linkcode isMoveRestricted} to restrict moves that - * match a condition. A restricted move gets cancelled before it is used. Players and enemies should not be allowed - * to select restricted moves. + * match a condition. A restricted move gets cancelled before it is used. + * Players and enemies should not be allowed to select restricted moves. */ export abstract class MoveRestrictionBattlerTag extends BattlerTag { constructor( @@ -746,31 +752,33 @@ export class ConfusedTag extends BattlerTag { } lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - const ret = lapseType !== BattlerTagLapseType.CUSTOM && super.lapse(pokemon, lapseType); + const shouldLapse = lapseType !== BattlerTagLapseType.CUSTOM && super.lapse(pokemon, lapseType); - if (ret) { - globalScene.queueMessage( - i18next.t("battlerTags:confusedLapse", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - globalScene.unshiftPhase(new CommonAnimPhase(pokemon.getBattlerIndex(), undefined, CommonAnim.CONFUSION)); - - // 1/3 chance of hitting self with a 40 base power move - if (pokemon.randSeedInt(3) === 0) { - const atk = pokemon.getEffectiveStat(Stat.ATK); - const def = pokemon.getEffectiveStat(Stat.DEF); - const damage = toDmgValue( - ((((2 * pokemon.level) / 5 + 2) * 40 * atk) / def / 50 + 2) * (pokemon.randSeedIntRange(85, 100) / 100), - ); - globalScene.queueMessage(i18next.t("battlerTags:confusedLapseHurtItself")); - pokemon.damageAndUpdate(damage, { result: HitResult.CONFUSION }); - pokemon.battleData.hitCount++; - (globalScene.getCurrentPhase() as MovePhase).cancel(); - } + if (!shouldLapse) { + return false; } - return ret; + globalScene.queueMessage( + i18next.t("battlerTags:confusedLapse", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + globalScene.unshiftPhase(new CommonAnimPhase(pokemon.getBattlerIndex(), undefined, CommonAnim.CONFUSION)); + + // 1/3 chance of hitting self with a 40 base power move + if (pokemon.randSeedInt(3) === 0 || Overrides.CONFUSION_ACTIVATION_OVERRIDE === true) { + const atk = pokemon.getEffectiveStat(Stat.ATK); + const def = pokemon.getEffectiveStat(Stat.DEF); + const damage = toDmgValue( + ((((2 * pokemon.level) / 5 + 2) * 40 * atk) / def / 50 + 2) * (pokemon.randSeedIntRange(85, 100) / 100), + ); + // Intentionally don't increment rage fist's hitCount + globalScene.queueMessage(i18next.t("battlerTags:confusedLapseHurtItself")); + pokemon.damageAndUpdate(damage, { result: HitResult.CONFUSION }); + (globalScene.getCurrentPhase() as MovePhase).cancel(); + } + + return true; } getDescriptor(): string { @@ -1117,8 +1125,8 @@ export class FrenzyTag extends BattlerTag { } /** - * Applies the effects of the move Encore onto the target Pokemon - * Encore forces the target Pokemon to use its most-recent move for 3 turns + * Applies the effects of {@linkcode Moves.ENCORE} onto the target Pokemon. + * Encore forces the target Pokemon to use its most-recent move for 3 turns. */ export class EncoreTag extends MoveRestrictionBattlerTag { public moveId: Moves; @@ -1133,10 +1141,6 @@ export class EncoreTag extends MoveRestrictionBattlerTag { ); } - /** - * When given a battler tag or json representing one, load the data for it. - * @param {BattlerTag | any} source A battler tag - */ loadTag(source: BattlerTag | any): void { super.loadTag(source); this.moveId = source.moveId as Moves; diff --git a/src/data/berry.ts b/src/data/berry.ts index 22950c0beca..ecc3e92ca64 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -5,10 +5,8 @@ import { getStatusEffectHealText } from "./status-effect"; import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils/common"; import { DoubleBerryEffectAbAttr, - PostItemLostAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs, - applyPostItemLostAbAttrs, } from "./abilities/ability"; import i18next from "i18next"; import { BattlerTagType } from "#enums/battler-tag-type"; @@ -70,97 +68,94 @@ export function getBerryPredicate(berryType: BerryType): BerryPredicate { } } -export type BerryEffectFunc = (pokemon: Pokemon, berryOwner?: Pokemon) => void; +export type BerryEffectFunc = (consumer: Pokemon) => void; export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { - switch (berryType) { - case BerryType.SITRUS: - case BerryType.ENIGMA: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - const hpHealed = new NumberHolder(toDmgValue(pokemon.getMaxHp() / 4)); - applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, hpHealed); - globalScene.unshiftPhase( - new PokemonHealPhase( - pokemon.getBattlerIndex(), - hpHealed.value, - i18next.t("battle:hpHealBerry", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - berryName: getBerryName(berryType), - }), - true, - ), - ); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LUM: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - if (pokemon.status) { - globalScene.queueMessage(getStatusEffectHealText(pokemon.status.effect, getPokemonNameWithAffix(pokemon))); - } - pokemon.resetStatus(true, true); - pokemon.updateInfo(); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LIECHI: - case BerryType.GANLON: - case BerryType.PETAYA: - case BerryType.APICOT: - case BerryType.SALAC: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - // Offset BerryType such that LIECHI -> Stat.ATK = 1, GANLON -> Stat.DEF = 2, so on and so forth - const stat: BattleStat = berryType - BerryType.ENIGMA; - const statStages = new NumberHolder(1); - applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, statStages); - globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [stat], statStages.value)); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LANSAT: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - pokemon.addTag(BattlerTagType.CRIT_BOOST); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.STARF: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - const randStat = randSeedInt(Stat.SPD, Stat.ATK); - const stages = new NumberHolder(2); - applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, stages); - globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [randStat], stages.value)); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LEPPA: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - const ppRestoreMove = pokemon.getMoveset().find(m => !m.getPpRatio()) - ? pokemon.getMoveset().find(m => !m.getPpRatio()) - : pokemon.getMoveset().find(m => m.getPpRatio() < 1); - if (ppRestoreMove !== undefined) { - ppRestoreMove!.ppUsed = Math.max(ppRestoreMove!.ppUsed - 10, 0); - globalScene.queueMessage( - i18next.t("battle:ppHealBerry", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - moveName: ppRestoreMove!.getName(), - berryName: getBerryName(berryType), - }), + return (consumer: Pokemon) => { + // Apply an effect pertaining to what berry we're using + switch (berryType) { + case BerryType.SITRUS: + case BerryType.ENIGMA: + { + const hpHealed = new NumberHolder(toDmgValue(consumer.getMaxHp() / 4)); + applyAbAttrs(DoubleBerryEffectAbAttr, consumer, null, false, hpHealed); + globalScene.unshiftPhase( + new PokemonHealPhase( + consumer.getBattlerIndex(), + hpHealed.value, + i18next.t("battle:hpHealBerry", { + pokemonNameWithAffix: getPokemonNameWithAffix(consumer), + berryName: getBerryName(berryType), + }), + true, + ), ); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); } - }; - } + break; + case BerryType.LUM: + { + if (consumer.status) { + globalScene.queueMessage( + getStatusEffectHealText(consumer.status.effect, getPokemonNameWithAffix(consumer)), + ); + } + consumer.resetStatus(true, true); + consumer.updateInfo(); + } + break; + case BerryType.LIECHI: + case BerryType.GANLON: + case BerryType.PETAYA: + case BerryType.APICOT: + case BerryType.SALAC: + { + // Offset BerryType such that LIECHI --> Stat.ATK = 1, GANLON --> Stat.DEF = 2, etc etc. + const stat: BattleStat = berryType - BerryType.ENIGMA; + const statStages = new NumberHolder(1); + applyAbAttrs(DoubleBerryEffectAbAttr, consumer, null, false, statStages); + globalScene.unshiftPhase( + new StatStageChangePhase(consumer.getBattlerIndex(), true, [stat], statStages.value), + ); + } + break; + + case BerryType.LANSAT: + { + consumer.addTag(BattlerTagType.CRIT_BOOST); + } + break; + + case BerryType.STARF: + { + const randStat = randSeedInt(Stat.SPD, Stat.ATK); + const stages = new NumberHolder(2); + applyAbAttrs(DoubleBerryEffectAbAttr, consumer, null, false, stages); + globalScene.unshiftPhase( + new StatStageChangePhase(consumer.getBattlerIndex(), true, [randStat], stages.value), + ); + } + break; + + case BerryType.LEPPA: + { + // Pick the first move completely out of PP, or else the first one that has any PP missing + const ppRestoreMove = + consumer.getMoveset().find(m => m.ppUsed === m.getMovePp()) ?? + consumer.getMoveset().find(m => m.ppUsed < m.getMovePp()); + if (ppRestoreMove) { + ppRestoreMove.ppUsed = Math.max(ppRestoreMove.ppUsed - 10, 0); + globalScene.queueMessage( + i18next.t("battle:ppHealBerry", { + pokemonNameWithAffix: getPokemonNameWithAffix(consumer), + moveName: ppRestoreMove.getName(), + berryName: getBerryName(berryType), + }), + ); + } + } + break; + default: + console.error("Incorrect BerryType %d passed to GetBerryEffectFunc", berryType); + } + }; } diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 7388f397c7e..b4b8db2cc10 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -1,4 +1,5 @@ -import { BooleanHolder, type NumberHolder, randSeedItem, deepCopy } from "#app/utils/common"; +import { BooleanHolder, type NumberHolder, randSeedItem } from "#app/utils/common"; +import { deepCopy } from "#app/utils/data"; import i18next from "i18next"; import type { DexAttrProps, GameData } from "#app/system/game-data"; import { defaultStarterSpecies } from "#app/system/game-data"; diff --git a/src/data/custom-pokemon-data.ts b/src/data/custom-pokemon-data.ts index 704835e9dbc..20f6ea96174 100644 --- a/src/data/custom-pokemon-data.ts +++ b/src/data/custom-pokemon-data.ts @@ -1,36 +1,31 @@ import type { Abilities } from "#enums/abilities"; import type { PokemonType } from "#enums/pokemon-type"; -import { isNullOrUndefined } from "#app/utils/common"; import type { Nature } from "#enums/nature"; /** - * Data that can customize a Pokemon in non-standard ways from its Species - * Used by Mystery Encounters and Mints - * Also used as a counter how often a Pokemon got hit until new arena encounter + * Data that can customize a Pokemon in non-standard ways from its Species. + * Includes abilities, nature, changed types, etc. */ export class CustomPokemonData { - public spriteScale: number; + // TODO: Change the default value for all these from -1 to something a bit more sensible + /** + * The scale at which to render this Pokemon's sprite. + */ + public spriteScale = -1; public ability: Abilities | -1; public passive: Abilities | -1; public nature: Nature | -1; public types: PokemonType[]; - /** `hitsReceivedCount` aka `hitsRecCount` saves how often the pokemon got hit until a new arena encounter (used for Rage Fist) */ - public hitsRecCount: number; + /** Deprecated but needed for session save migration */ + // TODO: Remove this once pre-session migration is implemented + public hitsRecCount: number | null = null; constructor(data?: CustomPokemonData | Partial) { - if (!isNullOrUndefined(data)) { - Object.assign(this, data); - } - - this.spriteScale = this.spriteScale ?? -1; - this.ability = this.ability ?? -1; - this.passive = this.passive ?? -1; - this.nature = this.nature ?? -1; - this.types = this.types ?? []; - this.hitsRecCount = this.hitsRecCount ?? 0; - } - - resetHitReceivedCount(): void { - this.hitsRecCount = 0; + this.spriteScale = data?.spriteScale ?? -1; + this.ability = data?.ability ?? -1; + this.passive = data?.passive ?? -1; + this.nature = data?.nature ?? -1; + this.types = data?.types ?? []; + this.hitsRecCount = data?.hitsRecCount ?? null; } } diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 29542b54f6d..81ae499da10 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -2532,10 +2532,10 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { return !target.status && target.canSetStatus(user.status?.effect, true, false, user) ? -10 : 0; } } + /** - * The following needs to be implemented for Thief - * "If the user faints due to the target's Ability (Rough Skin or Iron Barbs) or held Rocky Helmet, it cannot remove the target's held item." - * "If Knock Off causes a Pokémon with the Sticky Hold Ability to faint, it can now remove that Pokémon's held item." + * Attribute to steal items upon this move's use. + * Used for {@linkcode Moves.THIEF} and {@linkcode Moves.COVET}. */ export class StealHeldItemChanceAttr extends MoveEffectAttr { private chance: number; @@ -2550,18 +2550,22 @@ export class StealHeldItemChanceAttr extends MoveEffectAttr { if (rand >= this.chance) { return false; } + const heldItems = this.getTargetHeldItems(target).filter((i) => i.isTransferable); - if (heldItems.length) { - const poolType = target.isPlayer() ? ModifierPoolType.PLAYER : target.hasTrainer() ? ModifierPoolType.TRAINER : ModifierPoolType.WILD; - const highestItemTier = heldItems.map((m) => m.type.getOrInferTier(poolType)).reduce((highestTier, tier) => Math.max(tier!, highestTier), 0); // TODO: is the bang after tier correct? - const tierHeldItems = heldItems.filter((m) => m.type.getOrInferTier(poolType) === highestItemTier); - const stolenItem = tierHeldItems[user.randSeedInt(tierHeldItems.length)]; - if (globalScene.tryTransferHeldItemModifier(stolenItem, user, false)) { - globalScene.queueMessage(i18next.t("moveTriggers:stoleItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: stolenItem.type.name })); - return true; - } + if (!heldItems.length) { + return false; } - return false; + + const poolType = target.isPlayer() ? ModifierPoolType.PLAYER : target.hasTrainer() ? ModifierPoolType.TRAINER : ModifierPoolType.WILD; + const highestItemTier = heldItems.map((m) => m.type.getOrInferTier(poolType)).reduce((highestTier, tier) => Math.max(tier!, highestTier), 0); // TODO: is the bang after tier correct? + const tierHeldItems = heldItems.filter((m) => m.type.getOrInferTier(poolType) === highestItemTier); + const stolenItem = tierHeldItems[user.randSeedInt(tierHeldItems.length)]; + if (!globalScene.tryTransferHeldItemModifier(stolenItem, user, false)) { + return false; + } + + globalScene.queueMessage(i18next.t("moveTriggers:stoleItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: stolenItem.type.name })); + return true; } getTargetHeldItems(target: Pokemon): PokemonHeldItemModifier[] { @@ -2585,58 +2589,62 @@ export class StealHeldItemChanceAttr extends MoveEffectAttr { * Used for Incinerate and Knock Off. * Not Implemented Cases: (Same applies for Thief) * "If the user faints due to the target's Ability (Rough Skin or Iron Barbs) or held Rocky Helmet, it cannot remove the target's held item." - * "If Knock Off causes a Pokémon with the Sticky Hold Ability to faint, it can now remove that Pokémon's held item." + * "If the Pokémon is knocked out by the attack, Sticky Hold does not protect the held item."" */ export class RemoveHeldItemAttr extends MoveEffectAttr { - /** Optional restriction for item pool to berries only i.e. Differentiating Incinerate and Knock Off */ + /** Optional restriction for item pool to berries only; i.e. Incinerate */ private berriesOnly: boolean; - constructor(berriesOnly: boolean) { + constructor(berriesOnly: boolean = false) { super(false); this.berriesOnly = berriesOnly; } /** - * - * @param user {@linkcode Pokemon} that used the move - * @param target Target {@linkcode Pokemon} that the moves applies to - * @param move {@linkcode Move} that is used + * Attempt to permanently remove a held + * @param user - The {@linkcode Pokemon} that used the move + * @param target - The {@linkcode Pokemon} targeted by the move + * @param move - N/A * @param args N/A - * @returns True if an item was removed + * @returns `true` if an item was able to be removed */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!this.berriesOnly && target.isPlayer()) { // "Wild Pokemon cannot knock off Player Pokemon's held items" (See Bulbapedia) return false; } + // Check for abilities that block item theft + // TODO: This should not trigger if the target would faint beforehand const cancelled = new BooleanHolder(false); - applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // Check for abilities that block item theft + applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); - if (cancelled.value === true) { + if (cancelled.value) { return false; } - // Considers entire transferrable item pool by default (Knock Off). Otherwise berries only if specified (Incinerate). + // Considers entire transferrable item pool by default (Knock Off). + // Otherwise only consider berries (Incinerate). let heldItems = this.getTargetHeldItems(target).filter(i => i.isTransferable); if (this.berriesOnly) { heldItems = heldItems.filter(m => m instanceof BerryModifier && m.pokemonId === target.id, target.isPlayer()); } - if (heldItems.length) { - const removedItem = heldItems[user.randSeedInt(heldItems.length)]; + if (!heldItems.length) { + return false; + } - // Decrease item amount and update icon - target.loseHeldItem(removedItem); - globalScene.updateModifiers(target.isPlayer()); + const removedItem = heldItems[user.randSeedInt(heldItems.length)]; + // Decrease item amount and update icon + target.loseHeldItem(removedItem); + globalScene.updateModifiers(target.isPlayer()); - if (this.berriesOnly) { - globalScene.queueMessage(i18next.t("moveTriggers:incineratedItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); - } else { - globalScene.queueMessage(i18next.t("moveTriggers:knockedOffItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); - } + if (this.berriesOnly) { + globalScene.queueMessage(i18next.t("moveTriggers:incineratedItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); + } else { + globalScene.queueMessage(i18next.t("moveTriggers:knockedOffItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); } return true; @@ -2662,17 +2670,18 @@ export class RemoveHeldItemAttr extends MoveEffectAttr { * Attribute that causes targets of the move to eat a berry. Used for Teatime, Stuff Cheeks */ export class EatBerryAttr extends MoveEffectAttr { - protected chosenBerry: BerryModifier | undefined; + protected chosenBerry: BerryModifier; constructor(selfTarget: boolean) { super(selfTarget); } + /** * Causes the target to eat a berry. - * @param user {@linkcode Pokemon} Pokemon that used the move - * @param target {@linkcode Pokemon} Pokemon that will eat a berry - * @param move {@linkcode Move} The move being used + * @param user The {@linkcode Pokemon} Pokemon that used the move + * @param target The {@linkcode Pokemon} Pokemon that will eat the berry + * @param move The {@linkcode Move} being used * @param args Unused - * @returns {boolean} true if the function succeeds + * @returns `true` if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!super.apply(user, target, move, args)) { @@ -2685,6 +2694,8 @@ export class EatBerryAttr extends MoveEffectAttr { if (heldBerries.length <= 0) { return false; } + + // pick a random berry to gobble and check if we preserve it this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)]; const preserve = new BooleanHolder(false); // check for berry pouch preservation @@ -2692,7 +2703,10 @@ export class EatBerryAttr extends MoveEffectAttr { if (!preserve.value) { this.reduceBerryModifier(pokemon); } - this.eatBerry(pokemon); + + // Don't update harvest for berries preserved via Berry pouch (no item dupes lol) + this.eatBerry(target, undefined, !preserve.value); + return true; } @@ -2708,46 +2722,64 @@ export class EatBerryAttr extends MoveEffectAttr { globalScene.updateModifiers(target.isPlayer()); } - eatBerry(consumer: Pokemon, berryOwner?: Pokemon) { - getBerryEffectFunc(this.chosenBerry!.berryType)(consumer, berryOwner); // consumer eats the berry + + /** + * Internal function to apply berry effects. + * + * @param consumer - The {@linkcode Pokemon} eating the berry; assumed to also be owner if `berryOwner` is omitted + * @param berryOwner - The {@linkcode Pokemon} whose berry is being eaten; defaults to `consumer` if not specified. + * @param updateHarvest - Whether to prevent harvest from tracking berries; + * defaults to whether `consumer` equals `berryOwner` (i.e. consuming own berry). + */ + protected eatBerry(consumer: Pokemon, berryOwner: Pokemon = consumer, updateHarvest = consumer === berryOwner) { + // consumer eats berry, owner triggers unburden and similar effects + getBerryEffectFunc(this.chosenBerry.berryType)(consumer); + applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner, false); applyAbAttrs(HealFromBerryUseAbAttr, consumer, new BooleanHolder(false)); + consumer.recordEatenBerry(this.chosenBerry.berryType, updateHarvest); } } /** - * Attribute used for moves that steal a random berry from the target. The user then eats the stolen berry. - * Used for Pluck & Bug Bite. + * Attribute used for moves that steal and eat a random berry from the target. + * Used for {@linkcode Moves.PLUCK} & {@linkcode Moves.BUG_BITE}. */ export class StealEatBerryAttr extends EatBerryAttr { constructor() { super(false); } + /** * User steals a random berry from the target and then eats it. - * @param user - Pokemon that used the move and will eat the stolen berry - * @param target - Pokemon that will have its berry stolen - * @param move - Move being used - * @param args Unused - * @returns true if the function succeeds + * @param user - The {@linkcode Pokemon} using the move; will eat the stolen berry + * @param target - The {@linkcode Pokemon} having its berry stolen + * @param move - The {@linkcode Move} being used + * @param args N/A + * @returns `true` if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + // check for abilities that block item theft const cancelled = new BooleanHolder(false); - applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // check for abilities that block item theft + applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); if (cancelled.value === true) { return false; } + // check if the target even _has_ a berry in the first place + // TODO: Check on cart if Pluck displays messages when used against sticky hold mons w/o berries const heldBerries = this.getTargetHeldBerries(target); if (heldBerries.length <= 0) { return false; } - // if the target has berries, pick a random berry and steal it + + // pick a random berry and eat it this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)]; applyPostItemLostAbAttrs(PostItemLostAbAttr, target, false); const message = i18next.t("battle:stealEatBerry", { pokemonName: user.name, targetName: target.name, berryName: this.chosenBerry.type.name }); globalScene.queueMessage(message); this.reduceBerryModifier(target); this.eatBerry(user, target); + return true; } } @@ -4100,30 +4132,23 @@ export class FriendshipPowerAttr extends VariablePowerAttr { /** * This Attribute calculates the current power of {@linkcode Moves.RAGE_FIST}. - * The counter for power calculation does not reset on every wave but on every new arena encounter + * The counter for power calculation does not reset on every wave but on every new arena encounter. + * Self-inflicted confusion damage and hits taken by a Subsitute are ignored. */ export class RageFistPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const { hitCount, prevHitCount } = user.battleData; + /* Reasons this works correctly: + * Confusion calls user.damageAndUpdate() directly (no counter increment), + * Substitute hits call user.damageAndUpdate() with a damage value of 0, also causing + no counter increment + */ + const hitCount = user.battleData.hitCount; const basePower: NumberHolder = args[0]; - this.updateHitReceivedCount(user, hitCount, prevHitCount); - - basePower.value = 50 + (Math.min(user.customPokemonData.hitsRecCount, 6) * 50); - + basePower.value = 50 * (1 + Math.min(hitCount, 6)); return true; } - /** - * Updates the number of hits the Pokemon has taken in battle - * @param user Pokemon calling Rage Fist - * @param hitCount The number of received hits this battle - * @param previousHitCount The number of received hits this battle since last time Rage Fist was used - */ - protected updateHitReceivedCount(user: Pokemon, hitCount: number, previousHitCount: number): void { - user.customPokemonData.hitsRecCount += (hitCount - previousHitCount); - user.battleData.prevHitCount = hitCount; - } } /** @@ -4354,10 +4379,10 @@ export class LastMoveDoublePowerAttr extends VariablePowerAttr { const userAlly = user.getAlly(); const enemyAlly = enemy?.getAlly(); - if (!isNullOrUndefined(userAlly) && userAlly.turnData.acted) { + if (userAlly?.turnData.acted) { pokemonActed.push(userAlly); } - if (!isNullOrUndefined(enemyAlly) && enemyAlly.turnData.acted) { + if (enemyAlly?.turnData.acted) { pokemonActed.push(enemyAlly); } } @@ -4425,13 +4450,10 @@ export class CombinedPledgeStabBoostAttr extends MoveAttr { * @extends VariablePowerAttr */ export class RoundPowerAttr extends VariablePowerAttr { - override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + override apply(user: Pokemon, target: Pokemon, move: Move, args: [NumberHolder]): boolean { const power = args[0]; - if (!(power instanceof NumberHolder)) { - return false; - } - if (user.turnData?.joinedRound) { + if (user.turnData.joinedRound) { power.value *= 2; return true; } @@ -7764,17 +7786,27 @@ export class StatusIfBoostedAttr extends MoveEffectAttr { } } +/** + * Attribute to fail move usage unless all of the user's other moves have been used at least once. + * Used by {@linkcode Moves.LAST_RESORT}. + */ export class LastResortAttr extends MoveAttr { + // TODO: Verify behavior as Bulbapedia page is _extremely_ poorly documented getCondition(): MoveConditionFunc { - return (user: Pokemon, target: Pokemon, move: Move) => { - const uniqueUsedMoveIds = new Set(); - const movesetMoveIds = user.getMoveset().map(m => m.moveId); - user.getMoveHistory().map(m => { - if (m.move !== move.id && movesetMoveIds.find(mm => mm === m.move)) { - uniqueUsedMoveIds.add(m.move); - } - }); - return uniqueUsedMoveIds.size >= movesetMoveIds.length - 1; + return (user: Pokemon, _target: Pokemon, move: Move) => { + const movesInMoveset = new Set(user.getMoveset().map(m => m.moveId)); + if (!movesInMoveset.delete(move.id) || !movesInMoveset.size) { + return false; // Last resort fails if used when not in user's moveset or no other moves exist + } + + const movesInHistory = new Set( + user.getMoveHistory() + .filter(m => !m.virtual) // TODO: Change to (m) => m < MoveUseType.INDIRECT after Dancer PR refactors virtual into enum + .map(m => m.move) + ); + + // Since `Set.intersection()` is only present in ESNext, we have to coerce it to an array to check inclusion + return [...movesInMoveset].every(m => movesInHistory.has(m)) }; } } @@ -7982,13 +8014,18 @@ export class MoveCondition { } } +/** + * Condition to allow a move's use only on the first turn this Pokemon is sent into battle + * (or the start of a new wave, whichever comes first). + */ + export class FirstMoveCondition extends MoveCondition { constructor() { - super((user, target, move) => user.battleSummonData?.waveTurnCount === 1); + super((user, _target, _move) => user.tempSummonData.waveTurnCount === 1); } - getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { - return this.apply(user, target, move) ? 10 : -20; + getUserBenefitScore(user: Pokemon, _target: Pokemon, _move: Move): number { + return this.apply(user, _target, _move) ? 10 : -20; } } @@ -8626,7 +8663,7 @@ export function initMoves() { new StatusMove(Moves.TRANSFORM, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(TransformAttr) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE)) - .condition((user, target, move) => !target.summonData?.illusion && !user.summonData?.illusion) + .condition((user, target, move) => !target.summonData.illusion && !user.summonData.illusion) // transforming from or into fusion pokemon causes various problems (such as crashes) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE) && !user.fusionSpecies && !target.fusionSpecies) .ignoresProtect() @@ -8701,7 +8738,10 @@ export function initMoves() { .attr(MultiHitPowerIncrementAttr, 3) .checkAllHits(), new AttackMove(Moves.THIEF, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 2) - .attr(StealHeldItemChanceAttr, 0.3), + .attr(StealHeldItemChanceAttr, 0.3) + .edgeCase(), + // Should not be able to steal held item if user faints due to Rough Skin, Iron Barbs, etc. + // Should be able to steal items from pokemon with Sticky Hold if the damage causes them to faint new StatusMove(Moves.SPIDER_WEB, PokemonType.BUG, -1, 10, -1, 0, 2) .condition(failIfGhostTypeCondition) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1) @@ -8991,6 +9031,7 @@ export function initMoves() { .soundBased() .target(MoveTarget.RANDOM_NEAR_ENEMY) .partial(), // Does not lock the user, does not stop Pokemon from sleeping + // Likely can make use of FrenzyAttr and an ArenaTag (just without the FrenzyMissFunc) new SelfStatusMove(Moves.STOCKPILE, PokemonType.NORMAL, -1, 20, -1, 0, 3) .condition(user => (user.getTag(StockpilingTag)?.stockpiledCount ?? 0) < 3) .attr(AddBattlerTagAttr, BattlerTagType.STOCKPILING, true), @@ -9088,7 +9129,10 @@ export function initMoves() { .reflectable(), new AttackMove(Moves.KNOCK_OFF, PokemonType.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getHeldItems().filter(i => i.isTransferable).length > 0 ? 1.5 : 1) - .attr(RemoveHeldItemAttr, false), + .attr(RemoveHeldItemAttr, false) + .edgeCase(), + // Should not be able to remove held item if user faints due to Rough Skin, Iron Barbs, etc. + // Should be able to remove items from pokemon with Sticky Hold if the damage causes them to faint new AttackMove(Moves.ENDEAVOR, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3) .attr(MatchHpAttr) .condition(failOnBossCondition), @@ -9276,7 +9320,10 @@ export function initMoves() { .attr(HighCritAttr) .attr(StatusEffectAttr, StatusEffect.POISON), new AttackMove(Moves.COVET, PokemonType.NORMAL, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 3) - .attr(StealHeldItemChanceAttr, 0.3), + .attr(StealHeldItemChanceAttr, 0.3) + .edgeCase(), + // Should not be able to steal held item if user faints due to Rough Skin, Iron Barbs, etc. + // Should be able to steal items from pokemon with Sticky Hold if the damage causes them to faint new AttackMove(Moves.VOLT_TACKLE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 3) .attr(RecoilAttr, false, 0.33) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) @@ -9338,6 +9385,11 @@ export function initMoves() { new AttackMove(Moves.NATURAL_GIFT, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 4) .makesContact(false) .unimplemented(), + /* + NOTE: To whoever tries to implement this, reminder to push to battleData.berriesEaten + and enable the harvest test.. + Do NOT push to berriesEatenLast or else cud chew will puke the berry. + */ new AttackMove(Moves.FEINT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 30, 100, 10, -1, 2, 4) .attr(RemoveBattlerTagAttr, [ BattlerTagType.PROTECTED ]) .attr(RemoveArenaTagsAttr, [ ArenaTagType.QUICK_GUARD, ArenaTagType.WIDE_GUARD, ArenaTagType.MAT_BLOCK, ArenaTagType.CRAFTY_SHIELD ], false) @@ -9415,7 +9467,8 @@ export function initMoves() { .makesContact(true) .attr(PunishmentPowerAttr), new AttackMove(Moves.LAST_RESORT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 140, 100, 5, -1, 0, 4) - .attr(LastResortAttr), + .attr(LastResortAttr) + .edgeCase(), // May or may not need to ignore remotely called moves depending on how it works new StatusMove(Moves.WORRY_SEED, PokemonType.GRASS, 100, 10, -1, 0, 4) .attr(AbilityChangeAttr, Abilities.INSOMNIA) .reflectable(), @@ -9782,7 +9835,9 @@ export function initMoves() { .hidesTarget(), new AttackMove(Moves.INCINERATE, PokemonType.FIRE, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5) .target(MoveTarget.ALL_NEAR_ENEMIES) - .attr(RemoveHeldItemAttr, true), + .attr(RemoveHeldItemAttr, true) + .edgeCase(), + // Should be able to remove items from pokemon with Sticky Hold if the damage causes them to faint new StatusMove(Moves.QUASH, PokemonType.DARK, 100, 15, -1, 0, 5) .condition(failIfSingleBattle) .condition((user, target, move) => !target.turnData.acted) @@ -9957,7 +10012,7 @@ export function initMoves() { .condition(new FirstMoveCondition()) .condition(failIfLastCondition), new AttackMove(Moves.BELCH, PokemonType.POISON, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 6) - .condition((user, target, move) => user.battleData.berriesEaten.length > 0), + .condition((user, target, move) => user.battleData.hasEatenBerry), new StatusMove(Moves.ROTOTILLER, PokemonType.GROUND, -1, 10, -1, 0, 6) .target(MoveTarget.ALL) .condition((user, target, move) => { @@ -11083,7 +11138,6 @@ export function initMoves() { new AttackMove(Moves.TWIN_BEAM, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 40, 100, 10, -1, 0, 9) .attr(MultiHitAttr, MultiHitType._2), new AttackMove(Moves.RAGE_FIST, PokemonType.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) - .edgeCase() // Counter incorrectly increases on confusion self-hits .attr(RageFistPowerAttr) .punchingMove(), new AttackMove(Moves.ARMOR_CANNON, PokemonType.FIRE, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 24c076f750e..ce5eb2cfdd1 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -397,9 +397,6 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder newTypes.push(secondType); // Apply the type changes (to both base and fusion, if pokemon is fused) - if (!pokemon.customPokemonData) { - pokemon.customPokemonData = new CustomPokemonData(); - } pokemon.customPokemonData.types = newTypes; if (pokemon.isFusion()) { if (!pokemon.fusionCustomPokemonData) { diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index b0721ddfee9..bb41bc7883c 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -684,7 +684,7 @@ function doPokemonTradeSequence(tradedPokemon: PlayerPokemon, receivedPokemon: P sprite.setPipelineData("shiny", tradedPokemon.shiny); sprite.setPipelineData("variant", tradedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (tradedPokemon.summonData?.speciesForm) { + if (tradedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = tradedPokemon.getSprite().pipelineData[k]; @@ -710,7 +710,7 @@ function doPokemonTradeSequence(tradedPokemon: PlayerPokemon, receivedPokemon: P sprite.setPipelineData("shiny", receivedPokemon.shiny); sprite.setPipelineData("variant", receivedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (receivedPokemon.summonData?.speciesForm) { + if (receivedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = receivedPokemon.getSprite().pipelineData[k]; diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index bc7c570abca..3cbe42591d8 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -222,7 +222,8 @@ function endTrainerBattleAndShowDialogue(): Promise { globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeAbilityTrigger); } - pokemon.resetBattleData(); + // Each trainer battle is supposed to be a new fight, so reset all per-battle activation effects + pokemon.resetBattleAndWaveData(); applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon); } diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index cd9ffefb516..cceda25fcb4 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -23,7 +23,6 @@ import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; import { HiddenAbilityRateBoosterModifier, PokemonFormChangeItemModifier } from "#app/modifier/modifier"; import { achvs } from "#app/system/achv"; -import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import type { PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; @@ -601,9 +600,6 @@ async function postProcessTransformedPokemon( newType = randSeedInt(18) as PokemonType; } newTypes.push(newType); - if (!newPokemon.customPokemonData) { - newPokemon.customPokemonData = new CustomPokemonData(); - } newPokemon.customPokemonData.types = newTypes; // Enable passive if previous had it diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 67904fc856c..0215928bbe8 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -10,7 +10,7 @@ import { import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import type { AiType, PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, FieldPosition, PokemonMove, PokemonSummonData } from "#app/field/pokemon"; +import { EnemyPokemon, FieldPosition, PokemonMove } from "#app/field/pokemon"; import type { CustomModifierSettings, ModifierType } from "#app/modifier/modifier-type"; import { getPartyLuckValue, @@ -348,11 +348,6 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): enemyPokemon.status = new Status(status, 0, cureTurn); } - // Set summon data fields - if (!enemyPokemon.summonData) { - enemyPokemon.summonData = new PokemonSummonData(); - } - // Set ability if (!isNullOrUndefined(config.abilityIndex)) { enemyPokemon.abilityIndex = config.abilityIndex; @@ -390,14 +385,11 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): } } - // mysteryEncounterBattleEffects will only be used IFF MYSTERY_ENCOUNTER_POST_SUMMON tag is applied + // mysteryEncounterBattleEffects will only be used if MYSTERY_ENCOUNTER_POST_SUMMON tag is applied if (config.mysteryEncounterBattleEffects) { enemyPokemon.mysteryEncounterBattleEffects = config.mysteryEncounterBattleEffects; } - // Requires re-priming summon data to update everything properly - enemyPokemon.primeSummonData(enemyPokemon.summonData); - if (enemyPokemon.isShiny() && !enemyPokemon["shinySparkle"]) { enemyPokemon.initShinySparkle(); } diff --git a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts index ed94a46ac18..a6a87b4ab9a 100644 --- a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts @@ -1031,9 +1031,6 @@ export function applyAbilityOverrideToPokemon(pokemon: Pokemon, ability: Abiliti } pokemon.fusionCustomPokemonData.ability = ability; } else { - if (!pokemon.customPokemonData) { - pokemon.customPokemonData = new CustomPokemonData(); - } pokemon.customPokemonData.ability = ability; } } diff --git a/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts b/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts index 578c2efefdb..ebef47eac2d 100644 --- a/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts +++ b/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts @@ -88,7 +88,7 @@ export function doPokemonTransformationSequence( sprite.setPipelineData("shiny", previousPokemon.shiny); sprite.setPipelineData("variant", previousPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (previousPokemon.summonData?.speciesForm) { + if (previousPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = previousPokemon.getSprite().pipelineData[k]; @@ -108,7 +108,7 @@ export function doPokemonTransformationSequence( sprite.setPipelineData("shiny", transformPokemon.shiny); sprite.setPipelineData("variant", transformPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (transformPokemon.summonData?.speciesForm) { + if (transformPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = transformPokemon.getSprite().pipelineData[k]; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 5a9a6ee9b3d..59167ba47f6 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -33,6 +33,7 @@ import { SpeciesFormKey } from "#enums/species-form-key"; import { starterPassiveAbilities } from "#app/data/balance/passives"; import { loadPokemonVariantAssets } from "#app/sprites/pokemon-sprite"; import { hasExpSprite } from "#app/sprites/sprite-utils"; +import { Gender } from "./gender"; export enum Region { NORMAL, @@ -485,10 +486,10 @@ export abstract class PokemonSpeciesForm { break; case Species.ZACIAN: case Species.ZAMAZENTA: + // biome-ignore lint/suspicious/noFallthroughSwitchClause: Falls through if (formSpriteKey.startsWith("behemoth")) { formSpriteKey = "crowned"; } - // biome-ignore lint/suspicious/no-fallthrough: Falls through default: ret += `-${formSpriteKey}`; break; @@ -749,7 +750,7 @@ export abstract class PokemonSpeciesForm { let paletteColors: Map = new Map(); const originalRandom = Math.random; - Math.random = () => Phaser.Math.RND.realInRange(0, 1); + Math.random = Phaser.Math.RND.frac; globalScene.executeWithSeedOffset( () => { @@ -879,6 +880,21 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali return this.name; } + /** + * Pick and return a random {@linkcode Gender} for a {@linkcode Pokemon}. + * @returns A randomly rolled gender based on this Species' {@linkcode malePercent}. + */ + generateGender(): Gender { + if (isNullOrUndefined(this.malePercent)) { + return Gender.GENDERLESS; + } + + if (Phaser.Math.RND.realInRange(0, 1) <= this.malePercent) { + return Gender.MALE; + } + return Gender.FEMALE; + } + /** * Find the name of species with proper attachments for regionals and separate starter forms (Floette, Ursaluna) * @returns a string with the region name or other form name attached diff --git a/src/enums/biome.ts b/src/enums/biome.ts index bb9eaf454cc..7284528767d 100644 --- a/src/enums/biome.ts +++ b/src/enums/biome.ts @@ -1,4 +1,5 @@ export enum Biome { + // TODO: Should -1 be part of the enum signature (for "unknown place") TOWN, PLAINS, GRASS, diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 0c412e73b52..b9c64ad071c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -124,6 +124,7 @@ import { TarShotTag, AutotomizedTag, PowerTrickTag, + loadBattlerTag, type GrudgeTag, } from "../data/battler-tags"; import { WeatherType } from "#enums/weather-type"; @@ -305,6 +306,12 @@ type getBaseDamageParams = Omit type getAttackDamageParams = Omit; export default abstract class Pokemon extends Phaser.GameObjects.Container { + /** + * This pokemon's {@link https://bulbapedia.bulbagarden.net/wiki/Personality_value | Personality value/PID}, + * used to determine various parameters of this Pokemon. + * Represented as a random 32-bit unsigned integer. + * TODO: Stop treating this like a unique ID and stop treating 0 as no pokemon + */ public id: number; public name: string; public nickname: string; @@ -334,7 +341,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public luck: number; public pauseEvolutions: boolean; public pokerus: boolean; - public switchOutStatus: boolean; + public switchOutStatus = false; public evoCounter: number; public teraType: PokemonType; public isTerastallized: boolean; @@ -350,13 +357,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public fusionCustomPokemonData: CustomPokemonData | null; public fusionTeraType: PokemonType; - private summonDataPrimer: PokemonSummonData | null; + public customPokemonData: CustomPokemonData = new CustomPokemonData(); - public summonData: PokemonSummonData; - public battleData: PokemonBattleData; - public battleSummonData: PokemonBattleSummonData; - public turnData: PokemonTurnData; - public customPokemonData: CustomPokemonData; + /* Pokemon data types, in vaguely decreasing order of precedence */ + + /** + * Data that resets only on *battle* end (hit count, harvest berries, etc.) + * Kept between waves. + */ + public battleData: PokemonBattleData = new PokemonBattleData(); + /** Data that resets on switch or battle end (stat stages, battler tags, etc.) */ + public summonData: PokemonSummonData = new PokemonSummonData(); + /** Similar to {@linkcode PokemonSummonData}, but is reset on reload (not saved to file). */ + public tempSummonData: PokemonTempSummonData = new PokemonTempSummonData(); + /** Wave data correponding to moves/ability information revealed */ + public waveData: PokemonWaveData = new PokemonWaveData(); + /** Per-turn data like hit count & flinch tracking */ + public turnData: PokemonTurnData = new PokemonTurnData(); /** Used by Mystery Encounters to execute pokemon-specific logic (such as stat boosts) at start of battle */ public mysteryEncounterBattleEffects?: (pokemon: Pokemon) => void; @@ -370,6 +387,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { private shinySparkle: Phaser.GameObjects.Sprite; + // TODO: Rework this eventually constructor( x: number, y: number, @@ -390,38 +408,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { throw `Cannot create a player Pokemon for species '${species.getName(formIndex)}'`; } - const hiddenAbilityChance = new NumberHolder( - BASE_HIDDEN_ABILITY_CHANCE, - ); - if (!this.hasTrainer()) { - globalScene.applyModifiers( - HiddenAbilityRateBoosterModifier, - true, - hiddenAbilityChance, - ); - } - this.species = species; this.pokeball = dataSource?.pokeball || PokeballType.POKEBALL; this.level = level; - this.switchOutStatus = false; - // Determine the ability index - if (abilityIndex !== undefined) { - this.abilityIndex = abilityIndex; // Use the provided ability index if it is defined - } else { - // If abilityIndex is not provided, determine it based on species and hidden ability - const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); - const randAbilityIndex = randSeedInt(2); - if (species.abilityHidden && hasHiddenAbility) { - // If the species has a hidden ability and the hidden ability is present - this.abilityIndex = 2; - } else { - // If there is no hidden ability or species does not have a hidden ability - this.abilityIndex = - species.ability2 !== species.ability1 ? randAbilityIndex : 0; // Use random ability index if species has a second ability, otherwise use 0 - } - } + this.abilityIndex = abilityIndex ?? this.generateAbilityIndex() + if (formIndex !== undefined) { this.formIndex = formIndex; } @@ -437,6 +429,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.exp = dataSource?.exp || getLevelTotalExp(this.level, species.growthRate); this.levelExp = dataSource?.levelExp || 0; + if (dataSource) { this.id = dataSource.id; this.hp = dataSource.hp; @@ -512,8 +505,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.variant = this.shiny ? this.generateShinyVariant() : 0; } - this.customPokemonData = new CustomPokemonData(); - if (nature !== undefined) { this.setNature(nature); } else { @@ -554,6 +545,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.stellarTypesBoosted = []; } + this.summonData = new PokemonSummonData(dataSource?.summonData); + this.battleData = new PokemonBattleData(dataSource?.battleData); + this.generateName(); if (!species.isObtainable()) { @@ -563,14 +557,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (!dataSource) { this.calculateStats(); } + } /** * @param {boolean} useIllusion - Whether we want the fake name or the real name of the Pokemon (for Illusion ability). */ getNameToRender(useIllusion: boolean = true) { - const name: string = (!useIllusion && !!this.summonData?.illusion) ? this.summonData?.illusion.basePokemon!.name : this.name; - const nickname: string = (!useIllusion && !!this.summonData?.illusion) ? this.summonData?.illusion.basePokemon!.nickname : this.nickname; + const name: string = (!useIllusion && this.summonData.illusion) ? this.summonData.illusion.basePokemon.name : this.name; + const nickname: string = (!useIllusion && this.summonData.illusion) ? this.summonData.illusion.basePokemon.nickname : this.nickname; try { if (nickname) { return decodeURIComponent(escape(atob(nickname))); @@ -584,7 +579,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getPokeball(useIllusion = false){ if(useIllusion){ - return this.summonData?.illusion?.pokeball ?? this.pokeball + return this.summonData.illusion?.pokeball ?? this.pokeball } else { return this.pokeball } @@ -679,9 +674,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Checks if the pokemon is allowed in battle (ie: not fainted, and allowed under any active challenges). - * @param onField `true` to also check if the pokemon is currently on the field, defaults to `false` - * @returns `true` if the pokemon is "active". Returns `false` if there is no active {@linkcode BattleScene} + * Checks if this {@linkcode Pokemon} is allowed in battle (ie: not fainted, and allowed under any active challenges). + * @param onField `true` to also check if the pokemon is currently on the field; default `false` + * @returns `true` if the pokemon is "active", as described above. + * Returns `false` if there is no active {@linkcode BattleScene} or the pokemon is disallowed. */ public isActive(onField = false): boolean { if (!globalScene) { @@ -723,11 +719,38 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } + /** Generate `abilityIndex` based on species and hidden ability if not pre-defined. */ + private generateAbilityIndex(): number { + + // Roll for hidden ability chance, applying any ability charms for enemy mons + const hiddenAbilityChance = new NumberHolder( + BASE_HIDDEN_ABILITY_CHANCE, + ); + if (!this.hasTrainer()) { + globalScene.applyModifiers( + HiddenAbilityRateBoosterModifier, + true, + hiddenAbilityChance, + ); + } + + // If the roll succeeded and we have one, use HA; otherwise pick a random ability + const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); + if (this.species.abilityHidden && hasHiddenAbility) { + return 2; + } + + // only use random ability if species has a second ability + return this.species.ability2 !== this.species.ability1 ? randSeedInt(2) : 0; + } + + + /** * Generate an illusion of the last pokemon in the party, as other wild pokemon in the area. */ setIllusion(pokemon: Pokemon): boolean { - if(!!this.summonData?.illusion){ + if (this.summonData.illusion) { this.breakIllusion(); } if (this.hasTrainer()) { @@ -787,15 +810,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } breakIllusion(): boolean { - if (!this.summonData?.illusion) { + if (!this.summonData.illusion) { return false; } else { - this.name = this.summonData?.illusion.basePokemon.name; - this.nickname = this.summonData?.illusion.basePokemon.nickname; - this.shiny = this.summonData?.illusion.basePokemon.shiny; - this.variant = this.summonData?.illusion.basePokemon.variant; - this.fusionVariant = this.summonData?.illusion.basePokemon.fusionVariant; - this.fusionShiny = this.summonData?.illusion.basePokemon.fusionShiny; + this.name = this.summonData.illusion.basePokemon.name; + this.nickname = this.summonData.illusion.basePokemon.nickname; + this.shiny = this.summonData.illusion.basePokemon.shiny; + this.variant = this.summonData.illusion.basePokemon.variant; + this.fusionVariant = this.summonData.illusion.basePokemon.fusionVariant; + this.fusionShiny = this.summonData.illusion.basePokemon.fusionShiny; this.summonData.illusion = null; } if (this.isOnField()) { @@ -825,13 +848,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const loadPromises: Promise[] = []; // Assets for moves loadPromises.push(loadMoveAnimations(this.getMoveset().map(m => m.getMove().id))); - + // Load the assets for the species form - const formIndex = !!this.summonData?.illusion && useIllusion ? this.summonData?.illusion.formIndex : this.formIndex; + const formIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.formIndex : this.formIndex; loadPromises.push( this.getSpeciesForm(false, useIllusion).loadAssets( - this.getGender(useIllusion) === Gender.FEMALE, - formIndex, + this.getGender(useIllusion) === Gender.FEMALE, + formIndex, this.isShiny(useIllusion), this.getVariant(useIllusion) ), @@ -844,13 +867,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); } if (this.getFusionSpeciesForm()) { - const fusionFormIndex = !!this.summonData?.illusion && useIllusion ? this.summonData?.illusion.fusionFormIndex : this.fusionFormIndex; - const fusionShiny = !!this.summonData?.illusion && !useIllusion ? this.summonData?.illusion.basePokemon!.fusionShiny : this.fusionShiny; - const fusionVariant = !!this.summonData?.illusion && !useIllusion ? this.summonData?.illusion.basePokemon!.fusionVariant : this.fusionVariant; + const fusionFormIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.fusionFormIndex : this.fusionFormIndex; + const fusionShiny = !useIllusion && this.summonData.illusion?.basePokemon ? this.summonData.illusion.basePokemon.fusionShiny : this.fusionShiny; + const fusionVariant = !useIllusion && this.summonData.illusion?.basePokemon ? this.summonData.illusion.basePokemon.fusionVariant : this.fusionVariant; loadPromises.push(this.getFusionSpeciesForm(false, useIllusion).loadAssets( - this.getFusionGender(false, useIllusion) === Gender.FEMALE, - fusionFormIndex, - fusionShiny, + this.getFusionGender(false, useIllusion) === Gender.FEMALE, + fusionFormIndex, + fusionShiny, fusionVariant )); globalScene.loadPokemonAtlas( @@ -904,7 +927,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { // update the fusion palette this.updateFusionPalette(); - if (this.summonData?.speciesForm) { + if (this.summonData.speciesForm) { this.updateFusionPalette(true); } } @@ -1014,11 +1037,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getSpriteId(ignoreOverride?: boolean): string { - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex! : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getSpriteId( - this.getGender(ignoreOverride, true) === Gender.FEMALE, - formIndex, - this.shiny, + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, this.variant ); } @@ -1028,13 +1051,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { back = this.isPlayer(); } - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex! : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getSpriteId( - this.getGender(ignoreOverride, true) === Gender.FEMALE, - formIndex, - this.shiny, - this.variant, + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, + this.variant, back ); } @@ -1043,8 +1066,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.getSpeciesForm(ignoreOverride, false).getSpriteKey( this.getGender(ignoreOverride) === Gender.FEMALE, this.formIndex, - this.summonData?.illusion?.basePokemon.shiny ?? this.shiny, - this.summonData?.illusion?.basePokemon.variant ?? this.variant + this.summonData.illusion?.basePokemon.shiny ?? this.shiny, + this.summonData.illusion?.basePokemon.variant ?? this.variant ); } @@ -1053,11 +1076,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getFusionSpriteId(ignoreOverride?: boolean): string { - const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionFormIndex = this.summonData.illusion?.fusionFormIndex ?? this.fusionFormIndex; return this.getFusionSpeciesForm(ignoreOverride, true).getSpriteId( - this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, - fusionFormIndex, - this.fusionShiny, + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, this.fusionVariant ); } @@ -1067,13 +1090,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { back = this.isPlayer(); } - const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionFormIndex = this.summonData.illusion?.fusionFormIndex ?? this.fusionFormIndex; return this.getFusionSpeciesForm(ignoreOverride, true).getSpriteId( - this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, - fusionFormIndex, - this.fusionShiny, - this.fusionVariant, + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, + this.fusionVariant, back ); } @@ -1093,52 +1116,56 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getIconAtlasKey(ignoreOverride?: boolean): string { - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getIconAtlasKey( - formIndex, - this.shiny, + formIndex, + this.shiny, this.variant ); } getFusionIconAtlasKey(ignoreOverride?: boolean): string { return this.getFusionSpeciesForm(ignoreOverride, true).getIconAtlasKey( - this.fusionFormIndex, - this.fusionShiny, + this.fusionFormIndex, + this.fusionShiny, this.fusionVariant ); } getIconId(ignoreOverride?: boolean): string { - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getIconId( - this.getGender(ignoreOverride, true) === Gender.FEMALE, - formIndex, - this.shiny, + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, this.variant ); } getFusionIconId(ignoreOverride?: boolean): string { - const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionFormIndex = this.summonData.illusion?.fusionFormIndex ?? this.fusionFormIndex; return this.getFusionSpeciesForm(ignoreOverride, true).getIconId( - this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, - fusionFormIndex, - this.fusionShiny, + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, this.fusionVariant ); } /** - * @param {boolean} useIllusion - Whether we want the speciesForm of the illusion or not. + * Get this {@linkcode Pokemon}'s {@linkcode PokemonSpeciesForm}. + * @param ignoreOverride - Whether to ignore overridden species from {@linkcode Moves.TRANSFORM}, default `false`. + * This overrides `useIllusion` if `true`. + * @param useIllusion - `true` to use the speciesForm of the illusion; default `false`. */ - getSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { - const species: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? getPokemonSpecies(this.summonData?.illusion.species) : this.species; - const formIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; - - if (!ignoreOverride && this.summonData?.speciesForm) { + getSpeciesForm(ignoreOverride: boolean = false, useIllusion: boolean = false): PokemonSpeciesForm { + if (!ignoreOverride && this.summonData.speciesForm) { return this.summonData.speciesForm; } + + const species: PokemonSpecies = useIllusion && this.summonData.illusion ? getPokemonSpecies(this.summonData.illusion.species) : this.species; + const formIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.formIndex : this.formIndex; + if (species.forms && species.forms.length > 0) { return species.forms[formIndex]; } @@ -1150,14 +1177,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fusionSpeciesForm of the illusion or not. */ getFusionSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { - const fusionSpecies: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.fusionSpecies! : this.fusionSpecies!; - const fusionFormIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionSpecies: PokemonSpecies = useIllusion && this.summonData.illusion ? this.summonData.illusion.fusionSpecies! : this.fusionSpecies!; + const fusionFormIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.fusionFormIndex! : this.fusionFormIndex; - if (!ignoreOverride && this.summonData?.speciesForm) { + if (!ignoreOverride && this.summonData.fusionSpeciesForm) { return this.summonData.fusionSpeciesForm; } if ( - !fusionSpecies?.forms?.length || + !fusionSpecies?.forms?.length || fusionFormIndex >= fusionSpecies?.forms.length ) { return fusionSpecies; @@ -1185,12 +1212,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { formKey === "ruchbah-starmobile" || formKey === "caph-starmobile" ) { + // G-Max and starmobiles have flat 1.5x scale return 1.5; } - if (this.customPokemonData.spriteScale > 0) { - return this.customPokemonData.spriteScale; + + // TODO: Rather than using -1 as a default... why don't we just change it to 1???????? + if (this.customPokemonData.spriteScale <= 0) { + return 1; } - return 1; + return this.customPokemonData.spriteScale; } /** Resets the pokemon's field sprite properties, including position, alpha, and scale */ @@ -1384,12 +1414,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Retrieves the entire set of stats of the {@linkcode Pokemon}. - * @param bypassSummonData prefer actual stats (`true` by default) or in-battle overriden stats (`false`) - * @returns the numeric values of the {@linkcode Pokemon}'s stats + * Retrieves the entire set of stats of this {@linkcode Pokemon}. + * @param bypassSummonData - whether to use actual stats or in-battle overriden stats from Transform; default `true` + * @returns the numeric values of this {@linkcode Pokemon}'s stats */ getStats(bypassSummonData = true): number[] { - if (!bypassSummonData && this.summonData?.stats) { + if (!bypassSummonData && this.summonData.stats) { return this.summonData.stats; } return this.stats; @@ -1404,7 +1434,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getStat(stat: PermanentStat, bypassSummonData = true): number { if ( !bypassSummonData && - this.summonData && this.summonData.stats[stat] !== 0 ) { return this.summonData.stats[stat]; @@ -1421,12 +1450,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param bypassSummonData write to actual stats (`true` by default) or in-battle overridden stats (`false`) */ setStat(stat: PermanentStat, value: number, bypassSummonData = true): void { - if (value >= 0) { - if (!bypassSummonData && this.summonData) { - this.summonData.stats[stat] = value; - } else { - this.stats[stat] = value; - } + if (value < 0) { + return; + } + + if (!bypassSummonData) { + this.summonData.stats[stat] = value; + } else { + this.stats[stat] = value; } } @@ -1455,20 +1486,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param value the desired numeric value */ setStatStage(stat: BattleStat, value: number): void { - if (this.summonData) { - if (value >= -6) { - this.summonData.statStages[stat - 1] = Math.min(value, 6); - } else { - this.summonData.statStages[stat - 1] = Math.max(value, -6); - } + if (value >= -6) { + this.summonData.statStages[stat - 1] = Math.min(value, 6); + } else { + this.summonData.statStages[stat - 1] = Math.max(value, -6); } } /** * Calculate the critical-hit stage of a move used against this pokemon by * the given source - * - * @param source - The {@linkcode Pokemon} who using the move + * @param source - The {@linkcode Pokemon} using the move * @param move - The {@linkcode Move} being used * @returns The final critical-hit stage value */ @@ -1826,9 +1854,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real gender (illusion ability). */ getGender(ignoreOverride?: boolean, useIllusion: boolean = false): Gender { - if (useIllusion && !!this.summonData?.illusion) { - return this.summonData?.illusion.gender!; - } else if (!ignoreOverride && this.summonData?.gender !== undefined) { + if (useIllusion && this.summonData.illusion) { + return this.summonData.illusion.gender; + } else if (!ignoreOverride && !isNullOrUndefined(this.summonData.gender)) { return this.summonData.gender; } return this.gender; @@ -1838,9 +1866,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real gender (illusion ability). */ getFusionGender(ignoreOverride?: boolean, useIllusion: boolean = false): Gender { - if (useIllusion && !!this.summonData?.illusion) { - return this.summonData?.illusion.fusionGender!; - } else if (!ignoreOverride && this.summonData?.fusionGender !== undefined) { + if (useIllusion && this.summonData.illusion?.fusionGender) { + return this.summonData.illusion.fusionGender; + } else if (!ignoreOverride && !isNullOrUndefined(this.summonData.fusionGender)) { return this.summonData.fusionGender; } return this.fusionGender; @@ -1850,21 +1878,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real shininess (illusion ability). */ isShiny(useIllusion: boolean = false): boolean { - if (!useIllusion && !!this.summonData?.illusion) { - return this.summonData?.illusion.basePokemon?.shiny || (!!this.summonData?.illusion.fusionSpecies && this.summonData?.illusion.basePokemon?.fusionShiny) || false; + if (!useIllusion && this.summonData.illusion) { + return this.summonData.illusion.basePokemon?.shiny || (this.summonData.illusion.fusionSpecies && this.summonData.illusion.basePokemon?.fusionShiny) || false; } else { return this.shiny || (this.isFusion(useIllusion) && this.fusionShiny); } } /** - * + * * @param useIllusion - Whether we want the fake or real shininess (illusion ability). * @returns `true` if the {@linkcode Pokemon} is shiny and the fusion is shiny as well, `false` otherwise */ isDoubleShiny(useIllusion: boolean = false): boolean { - if (!useIllusion && !!this.summonData?.illusion) { - return this.isFusion(false) && this.summonData?.illusion.basePokemon.shiny && this.summonData?.illusion.basePokemon.fusionShiny; + if (!useIllusion && this.summonData.illusion?.basePokemon) { + return this.isFusion(false) && this.summonData.illusion.basePokemon.shiny && this.summonData.illusion.basePokemon.fusionShiny; } else { return this.isFusion(useIllusion) && this.shiny && this.fusionShiny; } @@ -1874,25 +1902,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real variant (illusion ability). */ getVariant(useIllusion: boolean = false): Variant { - if (!useIllusion && !!this.summonData?.illusion) { - return !this.isFusion(false) - ? this.summonData?.illusion.basePokemon!.variant + if (!useIllusion && this.summonData.illusion) { + return !this.isFusion(false) + ? this.summonData.illusion.basePokemon!.variant : Math.max(this.variant, this.fusionVariant) as Variant; } else { - return !this.isFusion(true) - ? this.variant + return !this.isFusion(true) + ? this.variant : Math.max(this.variant, this.fusionVariant) as Variant; } } getBaseVariant(doubleShiny: boolean): Variant { if (doubleShiny) { - return !!this.summonData?.illusion - ? this.summonData?.illusion.basePokemon!.variant - : this.variant; - } else { - return this.getVariant(); + return this.summonData.illusion?.basePokemon?.variant ?? this.variant; } + + return this.getVariant(); } getLuck(): number { @@ -1900,19 +1926,18 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } isFusion(useIllusion: boolean = false): boolean { - if (useIllusion && !!this.summonData?.illusion) { - return !!this.summonData?.illusion.fusionSpecies; - } else { - return !!this.fusionSpecies; + if (useIllusion && this.summonData.illusion) { + return !!this.summonData.illusion.fusionSpecies; } + return !!this.fusionSpecies; } /** * @param {boolean} useIllusion - Whether we want the fake name or the real name of the Pokemon (for Illusion ability). */ getName(useIllusion: boolean = false): string { - return (!useIllusion && !!this.summonData?.illusion && this.summonData?.illusion.basePokemon) - ? this.summonData?.illusion.basePokemon.name + return (!useIllusion && this.summonData.illusion?.basePokemon) + ? this.summonData.illusion.basePokemon.name : this.name; } @@ -1946,7 +1971,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getMoveset(ignoreOverride?: boolean): PokemonMove[] { const ret = - !ignoreOverride && this.summonData?.moveset + !ignoreOverride && this.summonData.moveset ? this.summonData.moveset : this.moveset; @@ -2032,9 +2057,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns array of {@linkcode PokemonType} */ public getTypes( - includeTeraType = false, - forDefend: boolean = false, - ignoreOverride?: boolean, + includeTeraType = false, + forDefend: boolean = false, + ignoreOverride?: boolean, useIllusion: boolean | "AUTO" = "AUTO" ): PokemonType[] { const types: PokemonType[] = []; @@ -2053,10 +2078,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const doIllusion: boolean = (useIllusion === "AUTO") ? !forDefend : useIllusion; if ( - !ignoreOverride && - this.summonData?.types && - this.summonData.types.length > 0 && - (!this.summonData?.illusion || !doIllusion) + !ignoreOverride && + this.summonData.types && + this.summonData.types.length > 0 && + (!this.summonData.illusion || !doIllusion) ) { this.summonData.types.forEach(t => types.push(t)); } else { @@ -2137,10 +2162,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } - // the type added to Pokemon from moves like Forest's Curse or Trick Or Treat + // check type added to Pokemon from moves like Forest's Curse or Trick Or Treat if ( !ignoreOverride && - this.summonData && this.summonData.addedType && !types.includes(this.summonData.addedType) ) { @@ -2183,7 +2207,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns The non-passive {@linkcode Ability} of the pokemon */ public getAbility(ignoreOverride = false): Ability { - if (!ignoreOverride && this.summonData?.ability) { + if (!ignoreOverride && this.summonData.ability) { return allAbilities[this.summonData.ability]; } if (Overrides.ABILITY_OVERRIDE && this.isPlayer()) { @@ -2249,8 +2273,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Accounts for all the various effects which can affect whether an ability will be present or * in effect, and both passive and non-passive. * @param attrType - {@linkcode AbAttr} The ability attribute to check for. - * @param canApply - If `false`, it doesn't check whether the ability is currently active; Default `true` - * @param ignoreOverride - If `true`, it ignores ability changing effects; Default `false` + * @param canApply - Whether to check if the ability is currently active; Default `true` + * @param ignoreOverride - Whether to ignore ability changing effects; Default `false` * @returns An array of all the ability attributes on this ability. */ public getAbilityAttrs( @@ -2362,7 +2386,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } if ( - this.summonData?.abilitySuppressed && + this.summonData.abilitySuppressed && ability.isSuppressable ) { return false; @@ -2403,15 +2427,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Checks whether a pokemon has the specified ability and it's in effect. Accounts for all the various * effects which can affect whether an ability will be present or in effect, and both passive and * non-passive. This is the primary way to check whether a pokemon has a particular ability. - * @param {Abilities} ability The ability to check for - * @param {boolean} canApply If false, it doesn't check whether the ability is currently active - * @param {boolean} ignoreOverride If true, it ignores ability changing effects - * @returns {boolean} Whether the ability is present and active + * @param ability The ability to check for + * @param canApply - Whether to check if the ability is currently active; default `true` + * @param ignoreOverride Whether to ignore ability changing effects; default `false` + * @returns `true` if the ability is present and active */ public hasAbility( ability: Abilities, canApply = true, - ignoreOverride?: boolean, + ignoreOverride = false, ): boolean { if ( this.getAbility(ignoreOverride).id === ability && @@ -2434,15 +2458,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Accounts for all the various effects which can affect whether an ability will be present or * in effect, and both passive and non-passive. This is one of the two primary ways to check * whether a pokemon has a particular ability. - * @param {AbAttr} attrType The ability attribute to check for - * @param {boolean} canApply If false, it doesn't check whether the ability is currently active - * @param {boolean} ignoreOverride If true, it ignores ability changing effects - * @returns {boolean} Whether an ability with that attribute is present and active + * @param attrType The {@link AbAttr | ability attribute} to check for + * @param canApply - Whether to check if the ability is currently active; default `true` + * @param ignoreOverride Whether to ignore ability changing effects; default `false` + * @returns `true` if an ability with the given {@linkcode AbAttr} is present and active */ public hasAbilityWithAttr( attrType: Constructor, canApply = true, - ignoreOverride?: boolean, + ignoreOverride = false, ): boolean { if ( (!canApply || this.canApplyAbility()) && @@ -2641,14 +2665,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const moveType = source.getMoveType(move); const typeMultiplier = new NumberHolder( - move.category !== MoveCategory.STATUS || + move.category !== MoveCategory.STATUS || move.hasAttr(RespectAttackTypeImmunityAttr) ? this.getAttackTypeEffectiveness( - moveType, - source, - false, - simulated, - move, + moveType, + source, + false, + simulated, + move, useIllusion ) : 1); @@ -2759,11 +2783,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns a multiplier for the type effectiveness */ getAttackTypeEffectiveness( - moveType: PokemonType, - source?: Pokemon, - ignoreStrongWinds: boolean = false, - simulated: boolean = true, - move?: Move, + moveType: PokemonType, + source?: Pokemon, + ignoreStrongWinds: boolean = false, + simulated: boolean = true, + move?: Move, useIllusion: boolean = false ): TypeDamageMultiplier { if (moveType === PokemonType.STELLAR) { @@ -3143,7 +3167,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const move = new PokemonMove(moveId); this.moveset[moveIndex] = move; - if (this.summonData?.moveset) { + if (this.summonData.moveset) { this.summonData.moveset[moveIndex] = move; } } @@ -3884,7 +3908,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getOpponent(targetIndex: number): Pokemon | null { const ret = this.getOpponents()[targetIndex]; - if (ret.summonData) { + if (ret.summonData) { // TODO: why does this check for summonData and can we remove it? return ret; } return null; @@ -3892,7 +3916,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Returns the pokemon that oppose this one and are active - * + * * @param onField - whether to also check if the pokemon is currently on the field (defaults to true) */ getOpponents(onField = true): Pokemon[] { @@ -4202,12 +4226,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** Determine the STAB multiplier for a move used against this pokemon. - * + * * @param source - The attacking {@linkcode Pokemon} * @param move - The {@linkcode Move} used in the attack * @param ignoreSourceAbility - If `true`, ignores the attacking Pokemon's ability effects * @param simulated - If `true`, suppresses changes to game state during the calculation - * + * * @returns The STAB multiplier for the move used against this Pokemon */ calculateStabMultiplier(source: Pokemon, move: Move, ignoreSourceAbility: boolean, simulated: boolean): number { @@ -4602,7 +4626,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }; } - /** Calculate whether the given move critically hits this pokemon + /** Calculate whether the given move critically hits this pokemon * @param source - The {@linkcode Pokemon} using the move * @param move - The {@linkcode Move} being used * @param simulated - If `true`, suppresses changes to game state during calculation (defaults to `true`) @@ -4631,16 +4655,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { applyAbAttrs(BlockCritAbAttr, this, null, simulated, isCritical); return isCritical.value; - + } /** * Called by damageAndUpdate() * @param damage integer * @param ignoreSegments boolean, not currently used - * @param preventEndure used to update damage if endure or sturdy - * @param ignoreFaintPhase flag on wheter to add FaintPhase if pokemon after applying damage faints - * @returns integer representing damage + * @param preventEndure used to update damage if endure or sturdy + * @param ignoreFaintPhas flag on whether to add FaintPhase if pokemon after applying damage faints + * @returns integer representing damage dealt */ damage( damage: number, @@ -4653,6 +4677,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const surviveDamage = new BooleanHolder(false); + // check for endure and other abilities that would prevent us from death if (!preventEndure && this.hp - damage <= 0) { if (this.hp >= 1 && this.getTag(BattlerTagType.ENDURING)) { surviveDamage.value = this.lapseTag(BattlerTagType.ENDURING); @@ -4696,7 +4721,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Given the damage, adds a new DamagePhase and update HP values, etc. - * + * * Checks for 'Indirect' HitResults to account for Endure/Reviver Seed applying correctly * @param damage integer - passed to damage() * @param result an enum if it's super effective, not very, etc. @@ -4708,25 +4733,25 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { */ damageAndUpdate(damage: number, { - result = HitResult.EFFECTIVE, - isCritical = false, - ignoreSegments = false, - ignoreFaintPhase = false, + result = HitResult.EFFECTIVE, + isCritical = false, + ignoreSegments = false, + ignoreFaintPhase = false, source = undefined, }: { - result?: DamageResult, - isCritical?: boolean, - ignoreSegments?: boolean, - ignoreFaintPhase?: boolean, + result?: DamageResult, + isCritical?: boolean, + ignoreSegments?: boolean, + ignoreFaintPhase?: boolean, source?: Pokemon, } = {} ): number { const isIndirectDamage = [ HitResult.INDIRECT, HitResult.INDIRECT_KO ].includes(result); const damagePhase = new DamageAnimPhase( - this.getBattlerIndex(), - damage, - result as DamageResult, + this.getBattlerIndex(), + damage, + result as DamageResult, isCritical ); globalScene.unshiftPhase(damagePhase); @@ -4862,51 +4887,51 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getTag(tagType: BattlerTagType.GRUDGE): GrudgeTag | nil; /** @overload */ - getTag(tagType: BattlerTagType): BattlerTag | nil; + getTag(tagType: BattlerTagType): BattlerTag | undefined; /** @overload */ - getTag(tagType: Constructor): T | nil; + getTag(tagType: Constructor): T | undefined; - getTag(tagType: BattlerTagType | Constructor): BattlerTag | nil { - if (!this.summonData) { - return null; - } + getTag(tagType: BattlerTagType | Constructor): BattlerTag | undefined { return tagType instanceof Function ? this.summonData.tags.find(t => t instanceof tagType) : this.summonData.tags.find(t => t.tagType === tagType); } findTag(tagFilter: (tag: BattlerTag) => boolean) { - if (!this.summonData) { - return null; - } return this.summonData.tags.find(t => tagFilter(t)); } findTags(tagFilter: (tag: BattlerTag) => boolean): BattlerTag[] { - if (!this.summonData) { - return []; - } return this.summonData.tags.filter(t => tagFilter(t)); } + /** + * Tick down the first {@linkcode BattlerTag} found matching the given {@linkcode BattlerTagType}, + * removing it if its duration goes below 0. + * @param tagType the {@linkcode BattlerTagType} to check against + * @returns `true` if the tag was present + */ lapseTag(tagType: BattlerTagType): boolean { - if (!this.summonData) { - return false; - } const tags = this.summonData.tags; const tag = tags.find(t => t.tagType === tagType); - if (tag && !tag.lapse(this, BattlerTagLapseType.CUSTOM)) { + if (!tag) { + return false + } + + if (!tag.lapse(this, BattlerTagLapseType.CUSTOM)) { tag.onRemove(this); tags.splice(tags.indexOf(tag), 1); } - return !!tag; + return true } + /** + * Tick down all {@linkcode BattlerTags} matching the given {@linkcode BattlerTagLapseType}, + * removing any whose durations fall below 0. + * @param tagType the {@linkcode BattlerTagLapseType} to tick down + */ lapseTags(lapseType: BattlerTagLapseType): void { - if (!this.summonData) { - return; - } const tags = this.summonData.tags; tags .filter( @@ -4921,23 +4946,24 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); } - removeTag(tagType: BattlerTagType): boolean { - if (!this.summonData) { - return false; - } + /** + * Remove the first tag matching the given {@linkcode BattlerTagType}. + * @param tagType the {@linkcode BattlerTagType} to search for and remove + */ + removeTag(tagType: BattlerTagType): void { const tags = this.summonData.tags; const tag = tags.find(t => t.tagType === tagType); if (tag) { tag.onRemove(this); tags.splice(tags.indexOf(tag), 1); } - return !!tag; } - findAndRemoveTags(tagFilter: (tag: BattlerTag) => boolean): boolean { - if (!this.summonData) { - return false; - } + /** + * Find and remove all {@linkcode BattlerTag}s matching the given function. + * @param tagFilter a function dictating which tags to remove + */ + findAndRemoveTags(tagFilter: (tag: BattlerTag) => boolean): void { const tags = this.summonData.tags; const tagsToRemove = tags.filter(t => tagFilter(t)); for (const tag of tagsToRemove) { @@ -4945,7 +4971,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { tag.onRemove(this); tags.splice(tags.indexOf(tag), 1); } - return true; } removeTagsBySourceId(sourceId: number): void { @@ -4953,13 +4978,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } transferTagsBySourceId(sourceId: number, newSourceId: number): void { - if (!this.summonData) { - return; - } - const tags = this.summonData.tags; - tags - .filter(t => t.sourceId === sourceId) - .forEach(t => (t.sourceId = newSourceId)); + this.summonData.tags.forEach(t => { + if (t.sourceId === sourceId) { + t.sourceId = newSourceId; + } + }) } /** @@ -5075,7 +5098,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } public getMoveHistory(): TurnMove[] { - return this.battleSummonData.moveHistory; + return this.summonData.moveHistory; } public pushMoveHistory(turnMove: TurnMove): void { @@ -5373,7 +5396,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const message = effect && this.status?.effect === effect ? getStatusEffectOverlapText(effect ?? StatusEffect.NONE, getPokemonNameWithAffix(this)) - : i18next.t("abilityTriggers:moveImmunity", { + : i18next.t("abilityTriggers:moveImmunity", { pokemonNameWithAffix: getPokemonNameWithAffix(this), }); globalScene.queueMessage(message); @@ -5518,9 +5541,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sourcePokemon !== this && this.isSafeguarded(sourcePokemon) ) { - if(!quiet){ + if(!quiet){ globalScene.queueMessage( - i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(this) + i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(this) })); } return false; @@ -5667,65 +5690,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } - primeSummonData(summonDataPrimer: PokemonSummonData): void { - this.summonDataPrimer = summonDataPrimer; - } - - // For PreSummonAbAttr to get access to summonData - initSummondata(): void { - this.summonData = this.summonData ?? this.summonDataPrimer ?? new PokemonSummonData() - } - + /** + * Reset this Pokemon's {@linkcode PokemonSummonData | SummonData} and {@linkcode PokemonTempSummonData | TempSummonData} + * in preparation for switching pokemon, as well as removing any relevant on-switch tags. + */ resetSummonData(): void { - const illusion: IllusionData | null = this.summonData?.illusion; - if (this.summonData?.speciesForm) { + const illusion: IllusionData | null = this.summonData.illusion; + if (this.summonData.speciesForm) { this.summonData.speciesForm = null; this.updateFusionPalette(); } this.summonData = new PokemonSummonData(); + this.tempSummonData = new PokemonTempSummonData(); this.setSwitchOutStatus(false); - if (!this.battleData) { - this.resetBattleData(); - } - this.resetBattleSummonData(); - if (this.summonDataPrimer) { - for (const k of Object.keys(this.summonDataPrimer)) { - if (this.summonDataPrimer[k]) { - this.summonData[k] = this.summonDataPrimer[k]; - } - } - // If this Pokemon has a Substitute when loading in, play an animation to add its sprite - if (this.getTag(SubstituteTag)) { - globalScene.triggerPokemonBattleAnim( - this, - PokemonAnimType.SUBSTITUTE_ADD, - ); - this.getTag(SubstituteTag)!.sourceInFocus = false; - } - - // If this Pokemon has Commander and Dondozo as an active ally, hide this Pokemon's sprite. - if ( - this.hasAbilityWithAttr(CommanderAbAttr) && - globalScene.currentBattle.double && - this.getAlly()?.species.speciesId === Species.DONDOZO - ) { - this.setVisible(false); - } - this.summonDataPrimer = null; - } - this.summonData.illusion = illusion - this.updateInfo(); - } - - resetBattleData(): void { - this.battleData = new PokemonBattleData(); - } - - resetBattleSummonData(): void { - this.battleSummonData = new PokemonBattleSummonData(); - if (this.getTag(BattlerTagType.SEEDED)) { - this.lapseTag(BattlerTagType.SEEDED); - } if (globalScene) { globalScene.triggerPokemonFormChange( this, @@ -5733,6 +5710,45 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { true, ); } + + // If this Pokemon has a Substitute when loading in, play an animation to add its sprite + if (this.getTag(SubstituteTag)) { + globalScene.triggerPokemonBattleAnim( + this, + PokemonAnimType.SUBSTITUTE_ADD, + ); + this.getTag(SubstituteTag)!.sourceInFocus = false; + } + + // If this Pokemon has Commander and Dondozo as an active ally, hide this Pokemon's sprite. + if ( + this.hasAbilityWithAttr(CommanderAbAttr) && + globalScene.currentBattle.double && + this.getAlly()?.species.speciesId === Species.DONDOZO + ) { + this.setVisible(false); + } + this.summonData.illusion = illusion + this.updateInfo(); + } + + /** + * Reset a {@linkcode Pokemon}'s per-battle {@linkcode PokemonBattleData | battleData}, + * as well as any transient {@linkcode PokemonWaveData | waveData} for the current wave. + * Should be called once per arena transition (new biome/trainer battle/Mystery Encounter). + */ + resetBattleAndWaveData(): void { + this.battleData = new PokemonBattleData(); + this.resetWaveData(); + } + + /** + * Reset a {@linkcode Pokemon}'s {@linkcode PokemonWaveData | waveData}. + * Should be called upon starting a new wave in addition to whenever an arena transition occurs. + * @see {@linkcode resetBattleAndWaveData()} + */ + resetWaveData(): void { + this.waveData = new PokemonWaveData(); } resetTera(): void { @@ -5853,10 +5869,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { .filter(s => !!s) .map(s => { s.pipelineData[ - `spriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `spriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = []; s.pipelineData[ - `fusionSpriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `fusionSpriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = []; }); return; @@ -6213,10 +6229,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { .filter(s => !!s) .map(s => { s.pipelineData[ - `spriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `spriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = spriteColors; s.pipelineData[ - `fusionSpriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `fusionSpriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = fusionSpriteColors; }); @@ -6269,7 +6285,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (clearEffects) { this.destroySubstitute(); - this.resetSummonData(); // this also calls `resetBattleSummonData` + this.resetSummonData(); } if (hideInfo) { this.hideInfo(); @@ -6339,7 +6355,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { heldItem: PokemonHeldItemModifier, forBattle = true, ): boolean { - if (heldItem.pokemonId === -1 || heldItem.pokemonId === this.id) { + if (heldItem.pokemonId !== -1 && heldItem.pokemonId !== this.id) { + return false; + } + heldItem.stackCount--; if (heldItem.stackCount <= 0) { globalScene.removeModifier(heldItem, !this.isPlayer()); @@ -6347,10 +6366,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (forBattle) { applyPostItemLostAbAttrs(PostItemLostAbAttr, this, false); } + return true; - } else { - return false; + } + + /** + * Record a berry being eaten for ability and move triggers. + * Only tracks things that proc _every_ time a berry is eaten. + * @param berryType The type of berry being eaten. + * @param updateHarvest Whether to track the berry for harvest; default `true`. + */ + public recordEatenBerry(berryType: BerryType, updateHarvest: boolean = true) { + this.battleData.hasEatenBerry = true; + if (updateHarvest) { + // Only track for harvest if we actually consumed the berry + this.battleData.berriesEaten.push(berryType) } + this.turnData.berriesEaten.push(berryType); } } @@ -6919,6 +6951,8 @@ export class PlayerPokemon extends Pokemon { if (partyMemberIndex > fusedPartyMemberIndex) { partyMemberIndex--; } + + // combine the two mons' held items const fusedPartyMemberHeldModifiers = globalScene.findModifiers( m => m instanceof PokemonHeldItemModifier && m.pokemonId === pokemon.id, true, @@ -7232,9 +7266,9 @@ export class EnemyPokemon extends Pokemon { p.getAttackDamage({ source: this, move, - ignoreAbility: !p.battleData.abilityRevealed, + ignoreAbility: !p.waveData.abilityRevealed, ignoreSourceAbility: false, - ignoreAllyAbility: !p.getAlly()?.battleData.abilityRevealed, + ignoreAllyAbility: !p.getAlly()?.waveData.abilityRevealed, ignoreSourceAllyAbility: false, isCritical, } @@ -7296,11 +7330,18 @@ export class EnemyPokemon extends Pokemon { ) { targetScore = -20; } else if (move instanceof AttackMove) { - /** - * Attack moves are given extra multipliers to their base benefit score based on - * the move's type effectiveness against the target and whether the move is a STAB move. - */ - const effectiveness = target.getMoveEffectiveness(this, move, !target.battleData?.abilityRevealed, undefined, undefined, true); + /** + * Attack moves are given extra multipliers to their base benefit score based on + * the move's type effectiveness against the target and whether the move is a STAB move. + */ + const effectiveness = target.getMoveEffectiveness( + this, + move, + !target.waveData.abilityRevealed, + undefined, + undefined, + true); + if (target.isPlayer() !== this.isPlayer()) { targetScore *= effectiveness; if (this.isOfType(move.type)) { @@ -7743,53 +7784,131 @@ export interface AttackMoveResult { sourceBattlerIndex: BattlerIndex; } +/** + * Persistent in-battle data for a {@linkcode Pokemon}. + * Resets on switch or new battle. + */ export class PokemonSummonData { /** [Atk, Def, SpAtk, SpDef, Spd, Acc, Eva] */ public statStages: number[] = [0, 0, 0, 0, 0, 0, 0]; public moveQueue: TurnMove[] = []; public tags: BattlerTag[] = []; public abilitySuppressed = false; - public abilitiesApplied: Abilities[] = []; - public speciesForm: PokemonSpeciesForm | null; - public fusionSpeciesForm: PokemonSpeciesForm; - public ability: Abilities = Abilities.NONE; - public passiveAbility: Abilities = Abilities.NONE; - public gender: Gender; - public fusionGender: Gender; + + // Overrides for transform. + // TODO: Move these into a separate class & add rage fist hit count + public speciesForm: PokemonSpeciesForm | null = null; + public fusionSpeciesForm: PokemonSpeciesForm | null = null; + public ability: Abilities | undefined; + public passiveAbility: Abilities | undefined; + public gender: Gender | undefined; + public fusionGender: Gender | undefined; public stats: number[] = [0, 0, 0, 0, 0, 0]; - public moveset: PokemonMove[]; - public illusionBroken: boolean = false; + public moveset: PokemonMove[] | null; // If not initialized this value will not be populated from save data. public types: PokemonType[] = []; public addedType: PokemonType | null = null; + + /** Data pertaining to this pokemon's illusion. */ public illusion: IllusionData | null = null; -} + public illusionBroken: boolean = false; -export class PokemonBattleData { - /** counts the hits the pokemon received */ - public hitCount = 0; - /** used for {@linkcode Moves.RAGE_FIST} in order to save hit Counts received before Rage Fist is applied */ - public prevHitCount = 0; - public endured = false; - public berriesEaten: BerryType[] = []; - public abilitiesApplied: Abilities[] = []; - public abilityRevealed: boolean = false; -} + /** Array containing all berries eaten in the last turn; used by {@linkcode Abilities.CUD_CHEW} */ + public berriesEatenLast: BerryType[] = []; -export class PokemonBattleSummonData { - /** The number of turns the pokemon has passed since entering the battle */ - public turnCount = 1; - /** The number of turns the pokemon has passed since the start of the wave */ - public waveTurnCount = 1; - /** The list of moves the pokemon has used since entering the battle */ + /** + * An array of all moves this pokemon has used since entering the battle. + * Used for most moves and abilities that check prior move usage or copy already-used moves. + */ public moveHistory: TurnMove[] = []; + + constructor(source?: PokemonSummonData | Partial) { + if (isNullOrUndefined(source)) { + return; + } + + // TODO: Rework this into an actual generic function for use elsewhere + for (const [key, value] of Object.entries(source)) { + if (isNullOrUndefined(value) && this.hasOwnProperty(key)) { + continue; + } + + if (key === "tags") { + // load battler tags + this.tags = value.map((t: BattlerTag) => loadBattlerTag(t)); + continue; + } + this[key] = value; + } + } } + // TODO: Merge this inside `summmonData` but exclude from save if/when a save data serializer is added +export class PokemonTempSummonData { + /** + * The number of turns this pokemon has spent without switching out. + * Only currently used for positioning the battle cursor. + */ + turnCount: number = 1; + + /** + * The number of turns this pokemon has spent in the active position since the start of the wave + * without switching out. + * Reset on switch and new wave, but not stored in `SummonData` to avoid being written to the save file. + + * Used to evaluate "first turn only" conditions such as + * {@linkcode Moves.FAKE_OUT | Fake Out} and {@linkcode Moves.FIRST_IMPRESSION | First Impression}). + */ + waveTurnCount = 1; + +} + +/** + * Persistent data for a {@linkcode Pokemon}. + * Resets at the start of a new battle (but not on switch). + */ +export class PokemonBattleData { + /** Counter tracking direct hits this Pokemon has received during this battle; used for {@linkcode Moves.RAGE_FIST} */ + public hitCount = 0; + /** Whether this Pokemon has eaten a berry this battle; used for {@linkcode Moves.BELCH} */ + public hasEatenBerry: boolean = false; + /** Array containing all berries eaten and not yet recovered during this current battle; used by {@linkcode Abilities.HARVEST} */ + public berriesEaten: BerryType[] = []; + + constructor(source?: PokemonBattleData | Partial) { + if (!isNullOrUndefined(source)) { + this.hitCount = source.hitCount ?? 0; + this.hasEatenBerry = source.hasEatenBerry ?? false; + this.berriesEaten = source.berriesEaten ?? []; + } + } +} + +/** + * Temporary data for a {@linkcode Pokemon}. + * Resets on new wave/battle start (but not on switch). + */ +export class PokemonWaveData { + /** Whether the pokemon has endured due to a {@linkcode BattlerTagType.ENDURE_TOKEN} */ + public endured = false; + /** + * A set of all the abilities this {@linkcode Pokemon} has used in this wave. + * Used to track once per battle conditions, as well as (hopefully) by the updated AI for move effectiveness. + */ + public abilitiesApplied: Set = new Set; + /** Whether the pokemon's ability has been revealed or not */ + public abilityRevealed = false; +} + +/** + * Temporary data for a {@linkcode Pokemon}. + * Resets at the start of a new turn, as well as on switch. + */ export class PokemonTurnData { public flinched = false; public acted = false; - /** How many times the move should hit the target(s) */ + /** How many times the current move should hit the target(s) */ public hitCount = 0; /** * - `-1` = Calculate how many hits are left @@ -7813,6 +7932,12 @@ export class PokemonTurnData { * forced to act again in the same turn */ public extraTurns = 0; + /** + * All berries eaten by this pokemon in this turn. + * Saved into {@linkcode PokemonSummonData | SummonData} by {@linkcode Abilities.CUD_CHEW} on turn end. + * @see {@linkcode PokemonSummonData.berriesEatenLast} + */ + public berriesEaten: BerryType[] = [] } export enum AiType { @@ -7850,8 +7975,8 @@ export type DamageResult = | HitResult.SUPER_EFFECTIVE | HitResult.NOT_VERY_EFFECTIVE | HitResult.ONE_HIT_KO - | HitResult.CONFUSION - | HitResult.INDIRECT_KO + | HitResult.CONFUSION + | HitResult.INDIRECT_KO | HitResult.INDIRECT; /** Interface containing the results of a damage calculation for a given move */ @@ -7868,8 +7993,8 @@ export interface DamageCalculationResult { * Wrapper class for the {@linkcode Move} class for Pokemon to interact with. * These are the moves assigned to a {@linkcode Pokemon} object. * It links to {@linkcode Move} class via the move ID. - * Compared to {@linkcode Move}, this class also tracks if a move has received. - * PP Ups, amount of PP used, and things like that. + * Compared to {@linkcode Move}, this class also tracks things like + * PP Ups recieved, PP used, etc. * @see {@linkcode isUsable} - checks if move is restricted, out of PP, or not implemented. * @see {@linkcode getMove} - returns {@linkcode Move} object by looking it up via ID. * @see {@linkcode usePp} - removes a point of PP from the move. @@ -7940,9 +8065,9 @@ export class PokemonMove { /** * Sets {@link ppUsed} for this move and ensures the value does not exceed {@link getMovePp} - * @param {number} count Amount of PP to use + * @param count Amount of PP to use */ - usePp(count = 1) { + usePp(count: number = 1) { this.ppUsed = Math.min(this.ppUsed + count, this.getMovePp()); } @@ -7962,9 +8087,9 @@ export class PokemonMove { } /** - * Copies an existing move or creates a valid PokemonMove object from json representing one - * @param {PokemonMove | any} source The data for the move to copy - * @return {PokemonMove} A valid pokemonmove object + * Copies an existing move or creates a valid {@linkcode PokemonMove} object from json representing one + * @param source The data for the move to copy; can be a {@linkcode PokemonMove} or JSON object representing one + * @returns A valid {@linkcode PokemonMove} object */ static loadMove(source: PokemonMove | any): PokemonMove { return new PokemonMove( diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts index 7fde0f2aca8..02a95f71ac4 100644 --- a/src/inputs-controller.ts +++ b/src/inputs-controller.ts @@ -1,5 +1,6 @@ import Phaser from "phaser"; -import { deepCopy, getEnumValues } from "#app/utils/common"; +import { getEnumValues } from "#app/utils/common"; +import { deepCopy } from "#app/utils/data"; import pad_generic from "./configs/inputs/pad_generic"; import pad_unlicensedSNES from "./configs/inputs/pad_unlicensedSNES"; import pad_xbox360 from "./configs/inputs/pad_xbox360"; diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 110c19dfec0..8bd2dc8948a 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -790,6 +790,7 @@ export class BerryModifierType extends PokemonHeldItemModifierType implements Ge ); this.berryType = berryType; + this.id = "BERRY"; // needed to prevent harvest item deletion; remove after modifier rework } get name(): string { diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 549ce462c11..2823e74fffe 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -47,7 +47,12 @@ import { } from "./modifier-type"; import { Color, ShadowColor } from "#enums/color"; import { FRIENDSHIP_GAIN_FROM_RARE_CANDY } from "#app/data/balance/starters"; -import { applyAbAttrs, CommanderAbAttr } from "#app/data/abilities/ability"; +import { + applyAbAttrs, + applyPostItemLostAbAttrs, + CommanderAbAttr, + PostItemLostAbAttr, +} from "#app/data/abilities/ability"; import { globalScene } from "#app/global-scene"; export type ModifierPredicate = (modifier: Modifier) => boolean; @@ -232,6 +237,10 @@ export abstract class PersistentModifier extends Modifier { abstract getMaxStackCount(forThreshold?: boolean): number; + getCountUnderMax(): number { + return this.getMaxStackCount() - this.getStackCount(); + } + isIconVisible(): boolean { return true; } @@ -653,7 +662,9 @@ export class TerastallizeAccessModifier extends PersistentModifier { } export abstract class PokemonHeldItemModifier extends PersistentModifier { + /** The ID of the {@linkcode Pokemon} that this item belongs to. */ public pokemonId: number; + /** Whether this item can be transfered to or stolen by another Pokemon. */ public isTransferable = true; constructor(type: ModifierType, pokemonId: number, stackCount?: number) { @@ -1639,14 +1650,15 @@ export class FlinchChanceModifier extends PokemonHeldItemModifier { } /** - * Applies {@linkcode FlinchChanceModifier} - * @param pokemon the {@linkcode Pokemon} that holds the item - * @param flinched {@linkcode BooleanHolder} that is `true` if the pokemon flinched - * @returns `true` if {@linkcode FlinchChanceModifier} has been applied + * Applies {@linkcode FlinchChanceModifier} to randomly flinch targets hit. + * @param pokemon - The {@linkcode Pokemon} that holds the item + * @param flinched - A {@linkcode BooleanHolder} holding whether the pokemon has flinched + * @returns `true` if {@linkcode FlinchChanceModifier} was applied successfully */ override apply(pokemon: Pokemon, flinched: BooleanHolder): boolean { - // The check for pokemon.battleSummonData is to ensure that a crash doesn't occur when a Pokemon with King's Rock procs a flinch - if (pokemon.battleSummonData && !flinched.value && pokemon.randSeedInt(100) < this.getStackCount() * this.chance) { + // The check for pokemon.summonData is to ensure that a crash doesn't occur when a Pokemon with King's Rock procs a flinch + // TODO: Since summonData is always defined now, we can probably remove this + if (pokemon.summonData && !flinched.value && pokemon.randSeedInt(100) < this.getStackCount() * this.chance) { flinched.value = true; return true; } @@ -1772,6 +1784,7 @@ export class HitHealModifier extends PokemonHeldItemModifier { */ override apply(pokemon: Pokemon): boolean { if (pokemon.turnData.totalDamageDealt && !pokemon.isFullHp()) { + // TODO: this shouldn't be undefined AFAIK globalScene.unshiftPhase( new PokemonHealPhase( pokemon.getBattlerIndex(), @@ -1867,11 +1880,15 @@ export class BerryModifier extends PokemonHeldItemModifier { override apply(pokemon: Pokemon): boolean { const preserve = new BooleanHolder(false); globalScene.applyModifiers(PreserveBerryModifier, pokemon.isPlayer(), pokemon, preserve); + this.consumed = !preserve.value; + // munch the berry and trigger unburden-like effects getBerryEffectFunc(this.berryType)(pokemon); - if (!preserve.value) { - this.consumed = true; - } + applyPostItemLostAbAttrs(PostItemLostAbAttr, pokemon, false); + + // Update berry eaten trackers for Belch, Harvest, Cud Chew, etc. + // Don't recover it if we proc berry pouch (no item duplication) + pokemon.recordEatenBerry(this.berryType, this.consumed); return true; } @@ -1910,9 +1927,7 @@ export class PreserveBerryModifier extends PersistentModifier { * @returns always `true` */ override apply(pokemon: Pokemon, doPreserve: BooleanHolder): boolean { - if (!doPreserve.value) { - doPreserve.value = pokemon.randSeedInt(10) < this.getStackCount() * 3; - } + doPreserve.value ||= pokemon.randSeedInt(10) < this.getStackCount() * 3; return true; } @@ -3609,7 +3624,7 @@ export class EnemyAttackStatusEffectChanceModifier extends EnemyPersistentModifi super(type, stackCount); this.effect = effect; - //Hardcode temporarily + // Hardcode temporarily this.chance = 0.025 * (this.effect === StatusEffect.BURN || this.effect === StatusEffect.POISON ? 2 : 1); } @@ -3716,13 +3731,13 @@ export class EnemyEndureChanceModifier extends EnemyPersistentModifier { * @returns `true` if {@linkcode Pokemon} endured */ override apply(target: Pokemon): boolean { - if (target.battleData.endured || target.randSeedInt(100) >= this.chance * this.getStackCount()) { + if (target.waveData.endured || target.randSeedInt(100) >= this.chance * this.getStackCount()) { return false; } target.addTag(BattlerTagType.ENDURE_TOKEN, 1); - target.battleData.endured = true; + target.waveData.endured = true; return true; } diff --git a/src/overrides.ts b/src/overrides.ts index 7e6a46f2f85..5bbd29b355f 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -104,8 +104,16 @@ class DefaultOverrides { readonly BYPASS_TUTORIAL_SKIP_OVERRIDE: boolean = false; /** Set to `true` to be able to re-earn already unlocked achievements */ readonly ACHIEVEMENTS_REUNLOCK_OVERRIDE: boolean = false; - /** Set to `true` to force Paralysis and Freeze to always activate, or `false` to force them to not activate */ + /** + * Set to `true` to force Paralysis and Freeze to always activate, + * or `false` to force them to not activate (or clear for freeze). + */ readonly STATUS_ACTIVATION_OVERRIDE: boolean | null = null; + /** + * Set to `true` to force confusion to always trigger, + * or `false` to force it to never trigger. + */ + readonly CONFUSION_ACTIVATION_OVERRIDE: boolean | null = null; // ---------------- // PLAYER OVERRIDES diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index 275a9017dfa..b4bb28fe55e 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -59,8 +59,8 @@ export class BattleEndPhase extends BattlePhase { } for (const pokemon of globalScene.getField()) { - if (pokemon?.battleSummonData) { - pokemon.battleSummonData.waveTurnCount = 1; + if (pokemon) { + pokemon.tempSummonData.waveTurnCount = 1; } } diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index b20b1736d4f..b027469ea5e 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -1,4 +1,9 @@ -import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/abilities/ability"; +import { + applyAbAttrs, + PreventBerryUseAbAttr, + HealFromBerryUseAbAttr, + RepeatBerryNextTurnAbAttr, +} from "#app/data/abilities/ability"; import { CommonAnim } from "#app/data/battle-anims"; import { BerryUsedEvent } from "#app/events/battle-scene"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -8,47 +13,65 @@ import { BooleanHolder } from "#app/utils/common"; import { FieldPhase } from "./field-phase"; import { CommonAnimPhase } from "./common-anim-phase"; import { globalScene } from "#app/global-scene"; +import type Pokemon from "#app/field/pokemon"; -/** The phase after attacks where the pokemon eat berries */ +/** + * The phase after attacks where the pokemon eat berries. + * Also triggers Cud Chew's "repeat berry use" effects + */ export class BerryPhase extends FieldPhase { start() { super.start(); this.executeForAll(pokemon => { - const hasUsableBerry = !!globalScene.findModifier(m => { - return m instanceof BerryModifier && m.shouldApply(pokemon); - }, pokemon.isPlayer()); - - if (hasUsableBerry) { - const cancelled = new BooleanHolder(false); - pokemon.getOpponents().map(opp => applyAbAttrs(PreventBerryUseAbAttr, opp, cancelled)); - - if (cancelled.value) { - globalScene.queueMessage( - i18next.t("abilityTriggers:preventBerryUse", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - } else { - globalScene.unshiftPhase( - new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.USE_ITEM), - ); - - for (const berryModifier of globalScene.applyModifiers(BerryModifier, pokemon.isPlayer(), pokemon)) { - if (berryModifier.consumed) { - berryModifier.consumed = false; - pokemon.loseHeldItem(berryModifier); - } - globalScene.eventTarget.dispatchEvent(new BerryUsedEvent(berryModifier)); // Announce a berry was used - } - - globalScene.updateModifiers(pokemon.isPlayer()); - - applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); - } - } + this.eatBerries(pokemon); + applyAbAttrs(RepeatBerryNextTurnAbAttr, pokemon, null); }); this.end(); } + + /** + * Attempt to eat all of a given {@linkcode Pokemon}'s berries once. + * @param pokemon - The {@linkcode Pokemon} to check + */ + eatBerries(pokemon: Pokemon): void { + const hasUsableBerry = !!globalScene.findModifier( + m => m instanceof BerryModifier && m.shouldApply(pokemon), + pokemon.isPlayer(), + ); + + if (!hasUsableBerry) { + return; + } + + // TODO: If both opponents on field have unnerve, which one displays its message? + const cancelled = new BooleanHolder(false); + pokemon.getOpponents().forEach(opp => applyAbAttrs(PreventBerryUseAbAttr, opp, cancelled)); + if (cancelled.value) { + globalScene.queueMessage( + i18next.t("abilityTriggers:preventBerryUse", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + return; + } + + globalScene.unshiftPhase( + new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.USE_ITEM), + ); + + for (const berryModifier of globalScene.applyModifiers(BerryModifier, pokemon.isPlayer(), pokemon)) { + // No need to track berries being eaten; already done inside applyModifiers + if (berryModifier.consumed) { + berryModifier.consumed = false; + pokemon.loseHeldItem(berryModifier); + } + globalScene.eventTarget.dispatchEvent(new BerryUsedEvent(berryModifier)); + } + globalScene.updateModifiers(pokemon.isPlayer()); + + // Abilities.CHEEK_POUCH only works once per round of nom noms + applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); + } } diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 20ed69119f9..5b799bd9316 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -113,12 +113,6 @@ export class EncounterPhase extends BattlePhase { } if (!this.loaded) { if (battle.battleType === BattleType.TRAINER) { - //resets hitRecCount during Trainer ecnounter - for (const pokemon of globalScene.getPlayerParty()) { - if (pokemon) { - pokemon.customPokemonData.resetHitReceivedCount(); - } - } battle.enemyParty[e] = battle.trainer?.genPartyMember(e)!; // TODO:: is the bang correct here? } else { let enemySpecies = globalScene.randomSpecies(battle.waveIndex, level, true); @@ -140,7 +134,6 @@ export class EncounterPhase extends BattlePhase { if (globalScene.currentBattle.battleSpec === BattleSpec.FINAL_BOSS) { battle.enemyParty[e].ivs = new Array(6).fill(31); } - // biome-ignore lint/complexity/noForEach: Improves readability globalScene .getPlayerParty() .slice(0, !battle.double ? 1 : 2) @@ -195,7 +188,7 @@ export class EncounterPhase extends BattlePhase { ]; const moveset: string[] = []; for (const move of enemyPokemon.getMoveset()) { - moveset.push(move!.getName()); // TODO: remove `!` after moveset-null removal PR + moveset.push(move.getName()); } console.log( @@ -288,6 +281,7 @@ export class EncounterPhase extends BattlePhase { }); if (!this.loaded && battle.battleType !== BattleType.MYSTERY_ENCOUNTER) { + // generate modifiers for MEs, overriding prior ones as applicable regenerateModifierPoolThresholds( globalScene.getEnemyField(), battle.battleType === BattleType.TRAINER ? ModifierPoolType.TRAINER : ModifierPoolType.WILD, @@ -300,8 +294,8 @@ export class EncounterPhase extends BattlePhase { } } - if (battle.battleType === BattleType.TRAINER) { - globalScene.currentBattle.trainer!.genAI(globalScene.getEnemyParty()); + if (battle.battleType === BattleType.TRAINER && globalScene.currentBattle.trainer) { + globalScene.currentBattle.trainer.genAI(globalScene.getEnemyParty()); } globalScene.ui.setMode(UiMode.MESSAGE).then(() => { @@ -342,8 +336,10 @@ export class EncounterPhase extends BattlePhase { } for (const pokemon of globalScene.getPlayerParty()) { + // Currently, a new wave is not considered a new battle if there is no arena reset + // Therefore, we only reset wave data here if (pokemon) { - pokemon.resetBattleData(); + pokemon.resetWaveData(); } } @@ -558,7 +554,7 @@ export class EncounterPhase extends BattlePhase { if (enemyPokemon.isShiny(true)) { globalScene.unshiftPhase(new ShinySparklePhase(BattlerIndex.ENEMY + e)); } - /** This sets Eternatus' held item to be untransferrable, preventing it from being stolen */ + /** This sets Eternatus' held item to be untransferrable, preventing it from being stolen */ if ( enemyPokemon.species.speciesId === Species.ETERNATUS && (globalScene.gameMode.isBattleClassicFinalBoss(globalScene.currentBattle.waveIndex) || diff --git a/src/phases/evolution-phase.ts b/src/phases/evolution-phase.ts index 7b013555f40..8fc8a8be031 100644 --- a/src/phases/evolution-phase.ts +++ b/src/phases/evolution-phase.ts @@ -146,7 +146,7 @@ export class EvolutionPhase extends Phase { sprite.setPipelineData("shiny", this.pokemon.shiny); sprite.setPipelineData("variant", this.pokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (this.pokemon.summonData?.speciesForm) { + if (this.pokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = this.pokemon.getSprite().pipelineData[k]; @@ -178,7 +178,7 @@ export class EvolutionPhase extends Phase { sprite.setPipelineData("shiny", evolvedPokemon.shiny); sprite.setPipelineData("variant", evolvedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (evolvedPokemon.summonData?.speciesForm) { + if (evolvedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = evolvedPokemon.getSprite().pipelineData[k]; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 4c99a609b11..1aa24d59fa0 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -118,7 +118,7 @@ export class FaintPhase extends PokemonPhase { pokemon.resetTera(); - if (pokemon.turnData?.attacksReceived?.length) { + if (pokemon.turnData.attacksReceived?.length) { const lastAttack = pokemon.turnData.attacksReceived[0]; applyPostFaintAbAttrs( PostFaintAbAttr, @@ -136,7 +136,7 @@ export class FaintPhase extends PokemonPhase { for (const p of alivePlayField) { applyPostKnockOutAbAttrs(PostKnockOutAbAttr, p, pokemon); } - if (pokemon.turnData?.attacksReceived?.length) { + if (pokemon.turnData.attacksReceived?.length) { const defeatSource = this.source; if (defeatSource?.isOnField()) { diff --git a/src/phases/field-phase.ts b/src/phases/field-phase.ts index 98c1ced510f..c37f0e960e7 100644 --- a/src/phases/field-phase.ts +++ b/src/phases/field-phase.ts @@ -6,8 +6,7 @@ type PokemonFunc = (pokemon: Pokemon) => void; export abstract class FieldPhase extends BattlePhase { executeForAll(func: PokemonFunc): void { - const field = globalScene.getField(true).filter(p => p.summonData); - for (const pokemon of field) { + for (const pokemon of globalScene.getField(true)) { func(pokemon); } } diff --git a/src/phases/form-change-phase.ts b/src/phases/form-change-phase.ts index ac7edadf244..5517fb0f402 100644 --- a/src/phases/form-change-phase.ts +++ b/src/phases/form-change-phase.ts @@ -51,7 +51,7 @@ export class FormChangePhase extends EvolutionPhase { sprite.setPipelineData("shiny", transformedPokemon.shiny); sprite.setPipelineData("variant", transformedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (transformedPokemon.summonData?.speciesForm) { + if (transformedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = transformedPokemon.getSprite().pipelineData[k]; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 4b4e62db71b..64cae923f07 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -277,9 +277,6 @@ export class MoveEffectPhase extends PokemonPhase { super.end(); return; } - if (isNullOrUndefined(user.turnData)) { - user.resetTurnData(); - } } /** diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index b24d7b61ebb..e704b040d20 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -618,7 +618,7 @@ export class MovePhase extends BattlePhase { globalScene.eventTarget.dispatchEvent(new MoveUsedEvent(this.pokemon?.id, this.move.getMove(), ppUsed)); } - if (this.cancelled && this.pokemon.summonData?.tags?.find(t => t.tagType === BattlerTagType.FRENZY)) { + if (this.cancelled && this.pokemon.summonData.tags?.find(t => t.tagType === BattlerTagType.FRENZY)) { frenzyMissFunc(this.pokemon, this.move.getMove()); } diff --git a/src/phases/mystery-encounter-phases.ts b/src/phases/mystery-encounter-phases.ts index 011dd26db92..fd0c4ef7949 100644 --- a/src/phases/mystery-encounter-phases.ts +++ b/src/phases/mystery-encounter-phases.ts @@ -229,8 +229,7 @@ export class MysteryEncounterBattleStartCleanupPhase extends Phase { // Lapse any residual flinches/endures but ignore all other turn-end battle tags const includedLapseTags = [BattlerTagType.FLINCHED, BattlerTagType.ENDURING]; - const field = globalScene.getField(true).filter(p => p.summonData); - field.forEach(pokemon => { + globalScene.getField(true).forEach(pokemon => { const tags = pokemon.summonData.tags; tags .filter( diff --git a/src/phases/new-biome-encounter-phase.ts b/src/phases/new-biome-encounter-phase.ts index 6a7afcb8da8..ef027bfd77a 100644 --- a/src/phases/new-biome-encounter-phase.ts +++ b/src/phases/new-biome-encounter-phase.ts @@ -7,17 +7,17 @@ export class NewBiomeEncounterPhase extends NextEncounterPhase { doEncounter(): void { globalScene.playBgm(undefined, true); + // Reset all battle and wave data, perform form changes, etc. + // We do this because new biomes are considered "arena transitions" akin to MEs and trainer battles for (const pokemon of globalScene.getPlayerParty()) { if (pokemon) { - pokemon.resetBattleData(); - pokemon.customPokemonData.resetHitReceivedCount(); + pokemon.resetBattleAndWaveData(); + if (pokemon.isOnField()) { + applyAbAttrs(PostBiomeChangeAbAttr, pokemon, null); + } } } - for (const pokemon of globalScene.getPlayerParty().filter(p => p.isOnField())) { - applyAbAttrs(PostBiomeChangeAbAttr, pokemon, null); - } - const enemyField = globalScene.getEnemyField(); const moveTargets: any[] = [globalScene.arenaEnemy, enemyField]; const mysteryEncounter = globalScene.currentBattle?.mysteryEncounter?.introVisuals; diff --git a/src/phases/next-encounter-phase.ts b/src/phases/next-encounter-phase.ts index e5e61312c3b..30b4004363c 100644 --- a/src/phases/next-encounter-phase.ts +++ b/src/phases/next-encounter-phase.ts @@ -1,6 +1,10 @@ import { globalScene } from "#app/global-scene"; import { EncounterPhase } from "./encounter-phase"; +/** + * The phase between defeating an encounter and starting another wild wave. + * Handles generating, loading and preparing for it. + */ export class NextEncounterPhase extends EncounterPhase { start() { super.start(); @@ -9,9 +13,12 @@ export class NextEncounterPhase extends EncounterPhase { doEncounter(): void { globalScene.playBgm(undefined, true); + // Reset all player transient wave data/intel before starting a new wild encounter. + // We exclusively reset wave data here as wild waves are considered one continuous "battle" + // for lack of an arena transition. for (const pokemon of globalScene.getPlayerParty()) { if (pokemon) { - pokemon.resetBattleData(); + pokemon.resetWaveData(); } } diff --git a/src/phases/quiet-form-change-phase.ts b/src/phases/quiet-form-change-phase.ts index f476919a628..76411f62f77 100644 --- a/src/phases/quiet-form-change-phase.ts +++ b/src/phases/quiet-form-change-phase.ts @@ -74,7 +74,7 @@ export class QuietFormChangePhase extends BattlePhase { isTerastallized: this.pokemon.isTerastallized, }); ["spriteColors", "fusionSpriteColors"].map(k => { - if (this.pokemon.summonData?.speciesForm) { + if (this.pokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = this.pokemon.getSprite().pipelineData[k]; diff --git a/src/phases/show-ability-phase.ts b/src/phases/show-ability-phase.ts index 8097af33fe0..d6193ac3946 100644 --- a/src/phases/show-ability-phase.ts +++ b/src/phases/show-ability-phase.ts @@ -50,9 +50,7 @@ export class ShowAbilityPhase extends PokemonPhase { } globalScene.abilityBar.showAbility(this.pokemonName, this.abilityName, this.passive, this.player).then(() => { - if (pokemon?.battleData) { - pokemon.battleData.abilityRevealed = true; - } + pokemon.waveData.abilityRevealed = true; this.end(); }); diff --git a/src/phases/stat-stage-change-phase.ts b/src/phases/stat-stage-change-phase.ts index 9d64a81bbb4..6731e45025c 100644 --- a/src/phases/stat-stage-change-phase.ts +++ b/src/phases/stat-stage-change-phase.ts @@ -217,16 +217,8 @@ export class StatStageChangePhase extends PokemonPhase { for (const s of filteredStats) { if (stages.value > 0 && pokemon.getStatStage(s) < 6) { - if (!pokemon.turnData) { - // Temporary fix for missing turn data struct on turn 1 - pokemon.resetTurnData(); - } pokemon.turnData.statStagesIncreased = true; } else if (stages.value < 0 && pokemon.getStatStage(s) > -6) { - if (!pokemon.turnData) { - // Temporary fix for missing turn data struct on turn 1 - pokemon.resetTurnData(); - } pokemon.turnData.statStagesDecreased = true; } diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index ee27fc28247..fef9b356348 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -177,11 +177,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { } globalScene.currentBattle.seenEnemyPartyMemberIds.add(pokemon.id); } - addPokeballOpenParticles( - pokemon.x, - pokemon.y - 16, - pokemon.getPokeball(true), - ); + addPokeballOpenParticles(pokemon.x, pokemon.y - 16, pokemon.getPokeball(true)); globalScene.updateModifiers(this.player); globalScene.updateFieldScale(); pokemon.showInfo(); @@ -200,9 +196,8 @@ export class SummonPhase extends PartyMemberPokemonPhase { onComplete: () => { pokemon.cry(pokemon.getHpRatio() > 0.25 ? undefined : { rate: 0.85 }); pokemon.getSprite().clearTint(); - pokemon.resetSummonData(); // necessary to stay transformed during wild waves - if (pokemon.summonData?.speciesForm) { + if (pokemon.summonData.speciesForm) { pokemon.loadAssets(false); } globalScene.time.delayedCall(1000, () => this.end()); @@ -266,7 +261,6 @@ export class SummonPhase extends PartyMemberPokemonPhase { onComplete: () => { pokemon.cry(pokemon.getHpRatio() > 0.25 ? undefined : { rate: 0.85 }); pokemon.getSprite().clearTint(); - pokemon.resetSummonData(); globalScene.updateFieldScale(); globalScene.time.delayedCall(1000, () => this.end()); }, diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index f8728f3f9b9..bb31f87cc3d 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -33,10 +33,10 @@ export class SwitchSummonPhase extends SummonPhase { * @param fieldIndex - Position on the battle field * @param slotIndex - The index of pokemon (in party of 6) to switch into * @param doReturn - Whether to render "comeback" dialogue - * @param player - (Optional) `true` if the switch is from the player + * @param player - Whether the switch came from the player or enemy; default `true` */ - constructor(switchType: SwitchType, fieldIndex: number, slotIndex: number, doReturn: boolean, player?: boolean) { - super(fieldIndex, player !== undefined ? player : true); + constructor(switchType: SwitchType, fieldIndex: number, slotIndex: number, doReturn: boolean, player = true) { + super(fieldIndex, player); this.switchType = switchType; this.slotIndex = slotIndex; @@ -67,7 +67,8 @@ export class SwitchSummonPhase extends SummonPhase { !(this.player ? globalScene.getPlayerParty() : globalScene.getEnemyParty())[this.slotIndex]) ) { if (this.player) { - return this.switchAndSummon(); + this.switchAndSummon(); + return; } globalScene.time.delayedCall(750, () => this.switchAndSummon()); return; @@ -120,14 +121,23 @@ export class SwitchSummonPhase extends SummonPhase { switchAndSummon() { const party = this.player ? this.getParty() : globalScene.getEnemyParty(); - const switchedInPokemon = party[this.slotIndex]; + const switchedInPokemon: Pokemon | undefined = party[this.slotIndex]; this.lastPokemon = this.getPokemon(); + applyPreSummonAbAttrs(PreSummonAbAttr, switchedInPokemon); applyPreSwitchOutAbAttrs(PreSwitchOutAbAttr, this.lastPokemon); - if (this.switchType === SwitchType.BATON_PASS && switchedInPokemon) { - (this.player ? globalScene.getEnemyField() : globalScene.getPlayerField()).forEach(enemyPokemon => + if (!switchedInPokemon) { + this.end(); + return; + } + + if (this.switchType === SwitchType.BATON_PASS) { + // If switching via baton pass, update opposing tags coming from the prior pokemon + (this.player ? globalScene.getEnemyField() : globalScene.getPlayerField()).forEach((enemyPokemon: Pokemon) => enemyPokemon.transferTagsBySourceId(this.lastPokemon.id, switchedInPokemon.id), ); + + // If the recipient pokemon lacks a baton, give our baton to it during the swap if ( !globalScene.findModifier( m => @@ -140,14 +150,8 @@ export class SwitchSummonPhase extends SummonPhase { m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === this.lastPokemon.id, ) as SwitchEffectTransferModifier; - if ( - batonPassModifier && - !globalScene.findModifier( - m => - m instanceof SwitchEffectTransferModifier && - (m as SwitchEffectTransferModifier).pokemonId === switchedInPokemon.id, - ) - ) { + + if (batonPassModifier) { globalScene.tryTransferHeldItemModifier( batonPassModifier, switchedInPokemon, @@ -160,49 +164,48 @@ export class SwitchSummonPhase extends SummonPhase { } } } - if (switchedInPokemon) { - party[this.slotIndex] = this.lastPokemon; - party[this.fieldIndex] = switchedInPokemon; - const showTextAndSummon = () => { - globalScene.ui.showText( - this.player - ? i18next.t("battle:playerGo", { - pokemonName: getPokemonNameWithAffix(switchedInPokemon), - }) - : i18next.t("battle:trainerGo", { - trainerName: globalScene.currentBattle.trainer?.getName( - !(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER, - ), - pokemonName: this.getPokemon().getNameToRender(), - }), - ); - /** - * If this switch is passing a Substitute, make the switched Pokemon match the returned Pokemon's state as it left. - * Otherwise, clear any persisting tags on the returned Pokemon. - */ - if (this.switchType === SwitchType.BATON_PASS || this.switchType === SwitchType.SHED_TAIL) { - const substitute = this.lastPokemon.getTag(SubstituteTag); - if (substitute) { - switchedInPokemon.x += this.lastPokemon.getSubstituteOffset()[0]; - switchedInPokemon.y += this.lastPokemon.getSubstituteOffset()[1]; - switchedInPokemon.setAlpha(0.5); - } - } else { - switchedInPokemon.resetSummonData(); + + party[this.slotIndex] = this.lastPokemon; + party[this.fieldIndex] = switchedInPokemon; + const showTextAndSummon = () => { + globalScene.ui.showText( + this.player + ? i18next.t("battle:playerGo", { + pokemonName: getPokemonNameWithAffix(switchedInPokemon), + }) + : i18next.t("battle:trainerGo", { + trainerName: globalScene.currentBattle.trainer?.getName( + !(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER, + ), + pokemonName: this.getPokemon().getNameToRender(), + }), + ); + + /** + * If this switch is passing a Substitute, make the switched Pokemon matches the returned Pokemon's state as it left. + * Otherwise, clear any persisting tags on the returned Pokemon. + */ + if (this.switchType === SwitchType.BATON_PASS || this.switchType === SwitchType.SHED_TAIL) { + const substitute = this.lastPokemon.getTag(SubstituteTag); + if (substitute) { + switchedInPokemon.x += this.lastPokemon.getSubstituteOffset()[0]; + switchedInPokemon.y += this.lastPokemon.getSubstituteOffset()[1]; + switchedInPokemon.setAlpha(0.5); } - this.summon(); - }; - if (this.player) { - showTextAndSummon(); } else { - globalScene.time.delayedCall(1500, () => { - this.hideEnemyTrainer(); - globalScene.pbTrayEnemy.hide(); - showTextAndSummon(); - }); + switchedInPokemon.resetSummonData(); } + this.summon(); + }; + + if (this.player) { + showTextAndSummon(); } else { - this.end(); + globalScene.time.delayedCall(1500, () => { + this.hideEnemyTrainer(); + globalScene.pbTrayEnemy.hide(); + showTextAndSummon(); + }); } } @@ -220,15 +223,15 @@ export class SwitchSummonPhase extends SummonPhase { const lastPokemonHasForceSwitchAbAttr = this.lastPokemon.hasAbilityWithAttr(PostDamageForceSwitchAbAttr) && !this.lastPokemon.isFainted(); - // Compensate for turn spent summoning - // Or compensate for force switch move if switched out pokemon is not fainted + // Compensate for turn spent summoning/forced switch if switched out pokemon is not fainted. + // Needed as we increment turn counters in `TurnEndPhase`. if ( currentCommand === Command.POKEMON || lastPokemonIsForceSwitchedAndNotFainted || lastPokemonHasForceSwitchAbAttr ) { - pokemon.battleSummonData.turnCount--; - pokemon.battleSummonData.waveTurnCount--; + pokemon.tempSummonData.turnCount--; + pokemon.tempSummonData.waveTurnCount--; } if (this.switchType === SwitchType.BATON_PASS && pokemon) { @@ -240,12 +243,13 @@ export class SwitchSummonPhase extends SummonPhase { } } + // Reset turn data if not initial switch (since it gets initialized to an empty object on turn start) if (this.switchType !== SwitchType.INITIAL_SWITCH) { pokemon.resetTurnData(); pokemon.turnData.switchedInThisTurn = true; } - this.lastPokemon?.resetSummonData(); + this.lastPokemon.resetSummonData(); globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeActiveTrigger, true); // Reverts to weather-based forms when weather suppressors (Cloud Nine/Air Lock) are switched out diff --git a/src/phases/turn-end-phase.ts b/src/phases/turn-end-phase.ts index fe16a4a864e..756c497802b 100644 --- a/src/phases/turn-end-phase.ts +++ b/src/phases/turn-end-phase.ts @@ -54,11 +54,10 @@ export class TurnEndPhase extends FieldPhase { } globalScene.applyModifiers(TurnStatusEffectModifier, pokemon.isPlayer(), pokemon); - globalScene.applyModifiers(TurnHeldItemTransferModifier, pokemon.isPlayer(), pokemon); - pokemon.battleSummonData.turnCount++; - pokemon.battleSummonData.waveTurnCount++; + pokemon.tempSummonData.turnCount++; + pokemon.tempSummonData.waveTurnCount++; }; this.executeForAll(handlePokemon); diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index 622b9cdcbd1..b802780bbb8 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -72,19 +72,16 @@ export class TurnStartPhase extends FieldPhase { // This occurs before the main loop because of battles with more than two Pokemon const battlerBypassSpeed = {}; - globalScene - .getField(true) - .filter(p => p.summonData) - .map(p => { - const bypassSpeed = new BooleanHolder(false); - const canCheckHeldItems = new BooleanHolder(true); - applyAbAttrs(BypassSpeedChanceAbAttr, p, null, false, bypassSpeed); - applyAbAttrs(PreventBypassSpeedChanceAbAttr, p, null, false, bypassSpeed, canCheckHeldItems); - if (canCheckHeldItems.value) { - globalScene.applyModifiers(BypassSpeedChanceModifier, p.isPlayer(), p, bypassSpeed); - } - battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed; - }); + globalScene.getField(true).map(p => { + const bypassSpeed = new BooleanHolder(false); + const canCheckHeldItems = new BooleanHolder(true); + applyAbAttrs(BypassSpeedChanceAbAttr, p, null, false, bypassSpeed); + applyAbAttrs(PreventBypassSpeedChanceAbAttr, p, null, false, bypassSpeed, canCheckHeldItems); + if (canCheckHeldItems.value) { + globalScene.applyModifiers(BypassSpeedChanceModifier, p.isPlayer(), p, bypassSpeed); + } + battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed; + }); // The function begins sorting orderedTargets based on command priority, move priority, and possible speed bypasses. // Non-FIGHT commands (SWITCH, BALL, RUN) have a higher command priority and will always occur before any FIGHT commands. diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 8573c774054..e200fa6b3c7 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -1145,7 +1145,7 @@ export class GameData { ? trainerConfig?.doubleOnly || sessionData.trainer?.variant === TrainerVariant.DOUBLE : sessionData.enemyParty.length > 1, mysteryEncounterType, - )!; // TODO: is this bang correct? + ); battle.enemyLevels = sessionData.enemyParty.map(p => p.level); globalScene.arena.init(); @@ -1198,13 +1198,16 @@ export class GameData { } } + if (globalScene.modifiers.length) { + console.warn("Existing modifiers not cleared on session load, deleting..."); + globalScene.modifiers = []; + } for (const modifierData of sessionData.modifiers) { const modifier = modifierData.toModifier(Modifier[modifierData.className]); if (modifier) { globalScene.addModifier(modifier, true); } } - globalScene.updateModifiers(true); for (const enemyModifierData of sessionData.enemyModifiers) { @@ -1342,68 +1345,67 @@ export class GameData { } parseSessionData(dataStr: string): SessionSaveData { + // TODO: Add `null`/`undefined` to the corresponding type signatures for this + // (or prevent them from being null) + // If the value is able to *not exist*, it should say so in the code const sessionData = JSON.parse(dataStr, (k: string, v: any) => { - if (k === "party" || k === "enemyParty") { - const ret: PokemonData[] = []; - if (v === null) { - v = []; - } - for (const pd of v) { - ret.push(new PokemonData(pd)); - } - return ret; - } - - if (k === "trainer") { - return v ? new TrainerData(v) : null; - } - - if (k === "modifiers" || k === "enemyModifiers") { - const player = k === "modifiers"; - const ret: PersistentModifierData[] = []; - if (v === null) { - v = []; - } - for (const md of v) { - if (md?.className === "ExpBalanceModifier") { - // Temporarily limit EXP Balance until it gets reworked - md.stackCount = Math.min(md.stackCount, 4); + // TODO: Add pre-parse migrate scripts + switch (k) { + case "party": + case "enemyParty": { + const ret: PokemonData[] = []; + for (const pd of v ?? []) { + ret.push(new PokemonData(pd)); } - if ( - (md instanceof Modifier.EnemyAttackStatusEffectChanceModifier && md.effect === StatusEffect.FREEZE) || - md.effect === StatusEffect.SLEEP - ) { - continue; + return ret; + } + + case "trainer": + return v ? new TrainerData(v) : null; + + case "modifiers": + case "enemyModifiers": { + const ret: PersistentModifierData[] = []; + for (const md of v ?? []) { + if (md?.className === "ExpBalanceModifier") { + // Temporarily limit EXP Balance until it gets reworked + md.stackCount = Math.min(md.stackCount, 4); + } + + if ( + md instanceof Modifier.EnemyAttackStatusEffectChanceModifier && + (md.effect === StatusEffect.FREEZE || md.effect === StatusEffect.SLEEP) + ) { + // Discard any old "sleep/freeze chance tokens". + // TODO: make this migrate script + continue; + } + + ret.push(new PersistentModifierData(md, k === "modifiers")); } - ret.push(new PersistentModifierData(md, player)); + return ret; } - return ret; - } - if (k === "arena") { - return new ArenaData(v); - } + case "arena": + return new ArenaData(v); - if (k === "challenges") { - const ret: ChallengeData[] = []; - if (v === null) { - v = []; + case "challenges": { + const ret: ChallengeData[] = []; + for (const c of v ?? []) { + ret.push(new ChallengeData(c)); + } + return ret; } - for (const c of v) { - ret.push(new ChallengeData(c)); - } - return ret; - } - if (k === "mysteryEncounterType") { - return v as MysteryEncounterType; - } + case "mysteryEncounterType": + return v as MysteryEncounterType; - if (k === "mysteryEncounterSaveData") { - return new MysteryEncounterSaveData(v); - } + case "mysteryEncounterSaveData": + return new MysteryEncounterSaveData(v); - return v; + default: + return v; + } }) as SessionSaveData; applySessionVersionMigration(sessionData); @@ -1456,7 +1458,7 @@ export class GameData { encrypt(JSON.stringify(sessionData), bypassLogin), ); - console.debug("Session data saved"); + console.debug("Session data saved!"); if (!bypassLogin && sync) { pokerogueApi.savedata.updateAll(request).then(error => { diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 00baad8cf12..7e71dffde5e 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -1,16 +1,15 @@ import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import type { Gender } from "../data/gender"; -import type { Nature } from "#enums/nature"; -import type { PokeballType } from "#enums/pokeball"; +import { Nature } from "#enums/nature"; +import { PokeballType } from "#enums/pokeball"; import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; -import { Status } from "../data/status-effect"; -import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon"; +import type { Status } from "../data/status-effect"; +import Pokemon, { EnemyPokemon, PokemonBattleData, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; -import { loadBattlerTag } from "../data/battler-tags"; import type { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; +import type { Moves } from "#enums/moves"; import type { Species } from "#enums/species"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import type { PokemonType } from "#enums/pokemon-type"; @@ -60,79 +59,66 @@ export default class PokemonData { public fusionTeraType: PokemonType; public boss: boolean; - public bossSegments?: number; + public bossSegments: number; + // Effects that need to be preserved between waves public summonData: PokemonSummonData; + public battleData: PokemonBattleData; public summonDataSpeciesFormIndex: number; - /** Data that can customize a Pokemon in non-standard ways from its Species */ public customPokemonData: CustomPokemonData; public fusionCustomPokemonData: CustomPokemonData; // Deprecated attributes, needed for now to allow SessionData migration (see PR#4619 comments) + // TODO: Remove these once pre-session migration is implemented public natureOverride: Nature | -1; public mysteryEncounterPokemonData: CustomPokemonData | null; public fusionMysteryEncounterPokemonData: CustomPokemonData | null; - constructor(source: Pokemon | any, forHistory = false) { - const sourcePokemon = source instanceof Pokemon ? source : null; + /** + * Construct a new {@linkcode PokemonData} instance out of a {@linkcode Pokemon} + * or JSON representation thereof. + * @param source The {@linkcode Pokemon} to convert into data (or a JSON object representing one) + */ + // TODO: Remove any from type signature in favor of 2 separate method funcs + constructor(source: Pokemon | any) { + const sourcePokemon = source instanceof Pokemon ? source : undefined; + this.id = source.id; - this.player = sourcePokemon ? sourcePokemon.isPlayer() : source.player; - this.species = sourcePokemon ? sourcePokemon.species.speciesId : source.species; - this.nickname = sourcePokemon - ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.nickname : sourcePokemon.nickname) - : source.nickname; + this.player = sourcePokemon?.isPlayer() ?? source.player; + this.species = sourcePokemon?.species.speciesId ?? source.species; + this.nickname = sourcePokemon?.summonData.illusion?.basePokemon.nickname ?? source.nickname; this.formIndex = Math.max(Math.min(source.formIndex, getPokemonSpecies(this.species).forms.length - 1), 0); this.abilityIndex = source.abilityIndex; this.passive = source.passive; - this.shiny = sourcePokemon ? sourcePokemon.isShiny() : source.shiny; - this.variant = sourcePokemon ? sourcePokemon.getVariant() : source.variant; - this.pokeball = source.pokeball; + this.shiny = sourcePokemon?.isShiny() ?? source.shiny; + this.variant = sourcePokemon?.getVariant() ?? source.variant; + this.pokeball = source.pokeball ?? PokeballType.POKEBALL; this.level = source.level; this.exp = source.exp; - if (!forHistory) { - this.levelExp = source.levelExp; - } + this.levelExp = source.levelExp; this.gender = source.gender; - if (!forHistory) { - this.hp = source.hp; - } + this.hp = source.hp; this.stats = source.stats; this.ivs = source.ivs; - this.nature = source.nature !== undefined ? source.nature : (0 as Nature); - this.friendship = - source.friendship !== undefined ? source.friendship : getPokemonSpecies(this.species).baseFriendship; + + // TODO: Can't we move some of this verification stuff to an upgrade script? + this.nature = source.nature ?? Nature.HARDY; + this.moveset = source.moveset.map((m: any) => PokemonMove.loadMove(m)); + this.status = source.status ?? null; + this.friendship = source.friendship ?? getPokemonSpecies(this.species).baseFriendship; this.metLevel = source.metLevel || 5; - this.metBiome = source.metBiome !== undefined ? source.metBiome : -1; + this.metBiome = source.metBiome ?? -1; this.metSpecies = source.metSpecies; this.metWave = source.metWave ?? (this.metBiome === -1 ? -1 : 0); - this.luck = source.luck !== undefined ? source.luck : source.shiny ? source.variant + 1 : 0; - if (!forHistory) { - this.pauseEvolutions = !!source.pauseEvolutions; - this.evoCounter = source.evoCounter ?? 0; - } + this.luck = source.luck ?? (source.shiny ? source.variant + 1 : 0); + this.pauseEvolutions = !!source.pauseEvolutions; this.pokerus = !!source.pokerus; - this.teraType = source.teraType as PokemonType; - this.isTerastallized = source.isTerastallized || false; - this.stellarTypesBoosted = source.stellarTypesBoosted || []; - - this.fusionSpecies = sourcePokemon ? sourcePokemon.fusionSpecies?.speciesId : source.fusionSpecies; - this.fusionFormIndex = source.fusionFormIndex; - this.fusionAbilityIndex = source.fusionAbilityIndex; - this.fusionShiny = sourcePokemon - ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.fusionShiny : sourcePokemon.fusionShiny) - : source.fusionShiny; - this.fusionVariant = sourcePokemon - ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.fusionVariant : sourcePokemon.fusionVariant) - : source.fusionVariant; - this.fusionGender = source.fusionGender; - this.fusionLuck = - source.fusionLuck !== undefined ? source.fusionLuck : source.fusionShiny ? source.fusionVariant + 1 : 0; - this.fusionCustomPokemonData = new CustomPokemonData(source.fusionCustomPokemonData); - this.fusionTeraType = (source.fusionTeraType ?? 0) as PokemonType; this.usedTMs = source.usedTMs ?? []; - - this.customPokemonData = new CustomPokemonData(source.customPokemonData); + this.evoCounter = source.evoCounter ?? 0; + this.teraType = source.teraType as PokemonType; + this.isTerastallized = !!source.isTerastallized; + this.stellarTypesBoosted = source.stellarTypesBoosted ?? []; // Deprecated, but needed for session data migration this.natureOverride = source.natureOverride; @@ -143,52 +129,25 @@ export default class PokemonData { ? new CustomPokemonData(source.fusionMysteryEncounterPokemonData) : null; - if (!forHistory) { - this.boss = (source instanceof EnemyPokemon && !!source.bossSegments) || (!this.player && !!source.boss); - this.bossSegments = source.bossSegments; - } + this.fusionSpecies = sourcePokemon?.fusionSpecies?.speciesId ?? source.fusionSpecies; + this.fusionFormIndex = source.fusionFormIndex; + this.fusionAbilityIndex = source.fusionAbilityIndex; + this.fusionShiny = sourcePokemon?.summonData.illusion?.basePokemon.fusionShiny ?? source.fusionShiny; + this.fusionVariant = sourcePokemon?.summonData.illusion?.basePokemon.fusionVariant ?? source.fusionVariant; + this.fusionGender = source.fusionGender; + this.fusionLuck = source.fusionLuck ?? (source.fusionShiny ? source.fusionVariant + 1 : 0); + this.fusionTeraType = (source.fusionTeraType ?? 0) as PokemonType; - if (sourcePokemon) { - this.moveset = sourcePokemon.moveset; - if (!forHistory) { - this.status = sourcePokemon.status; - if (this.player && sourcePokemon.summonData) { - this.summonData = sourcePokemon.summonData; - this.summonDataSpeciesFormIndex = this.getSummonDataSpeciesFormIndex(); - } - } - } else { - this.moveset = (source.moveset || [new PokemonMove(Moves.TACKLE), new PokemonMove(Moves.GROWL)]) - .filter(m => m) - .map((m: any) => new PokemonMove(m.moveId, m.ppUsed, m.ppUp, m.virtual, m.maxPpOverride)); - if (!forHistory) { - this.status = source.status - ? new Status(source.status.effect, source.status.toxicTurnCount, source.status.sleepTurnsRemaining) - : null; - } + this.boss = (source instanceof EnemyPokemon && !!source.bossSegments) || (!this.player && !!source.boss); + this.bossSegments = source.bossSegments ?? 0; - this.summonData = new PokemonSummonData(); - if (!forHistory && source.summonData) { - this.summonData.stats = source.summonData.stats; - this.summonData.statStages = source.summonData.statStages; - this.summonData.moveQueue = source.summonData.moveQueue; - this.summonData.abilitySuppressed = source.summonData.abilitySuppressed; - this.summonData.abilitiesApplied = source.summonData.abilitiesApplied; + this.summonData = new PokemonSummonData(source.summonData); + this.battleData = new PokemonBattleData(source.battleData); + this.summonDataSpeciesFormIndex = + sourcePokemon?.summonData.speciesForm?.formIndex ?? source.summonDataSpeciesFormIndex; - this.summonData.ability = source.summonData.ability; - this.summonData.moveset = source.summonData.moveset?.map(m => PokemonMove.loadMove(m)); - this.summonData.types = source.summonData.types; - this.summonData.speciesForm = source.summonData.speciesForm; - this.summonDataSpeciesFormIndex = source.summonDataSpeciesFormIndex; - this.summonData.illusionBroken = source.summonData.illusionBroken; - - if (source.summonData.tags) { - this.summonData.tags = source.summonData.tags?.map(t => loadBattlerTag(t)); - } else { - this.summonData.tags = []; - } - } - } + this.customPokemonData = new CustomPokemonData(source.customPokemonData); + this.fusionCustomPokemonData = new CustomPokemonData(source.fusionCustomPokemonData); } toPokemon(battleType?: BattleType, partyMemberIndex = 0, double = false): Pokemon { @@ -223,30 +182,15 @@ export default class PokemonData { false, this, ); - if (this.summonData) { - // when loading from saved session, recover summonData.speciesFrom and form index species object - // used to stay transformed on reload session - if (this.summonData.speciesForm) { - this.summonData.speciesForm = getPokemonSpeciesForm( - this.summonData.speciesForm.speciesId, - this.summonDataSpeciesFormIndex, - ); - } - ret.primeSummonData(this.summonData); + // when loading from saved session, recover summonData.speciesFrom and form index species object + // used to stay transformed on reload session + if (this.summonData.speciesForm) { + this.summonData.speciesForm = getPokemonSpeciesForm( + this.summonData.speciesForm.speciesId, + this.summonDataSpeciesFormIndex, + ); } return ret; } - - /** - * Method to save summon data species form index - * Necessary in case the pokemon is transformed - * to reload the correct form - */ - getSummonDataSpeciesFormIndex(): number { - if (this.summonData.speciesForm) { - return this.summonData.speciesForm.formIndex; - } - return 0; - } } diff --git a/src/system/version_migration/version_converter.ts b/src/system/version_migration/version_converter.ts index 1fdb9e93f88..798115e0395 100644 --- a/src/system/version_migration/version_converter.ts +++ b/src/system/version_migration/version_converter.ts @@ -59,6 +59,10 @@ import * as v1_7_0 from "./versions/v1_7_0"; // biome-ignore lint/style/noNamespaceImport: Convenience import * as v1_8_3 from "./versions/v1_8_3"; +// --- v1.9.0 PATCHES --- // +// biome-ignore lint/style/noNamespaceImport: Convenience +import * as v1_9_0 from "./versions/v1_9_0"; + /** Current game version */ const LATEST_VERSION = version; @@ -80,6 +84,7 @@ systemMigrators.push(...v1_8_3.systemMigrators); const sessionMigrators: SessionSaveMigrator[] = []; sessionMigrators.push(...v1_0_4.sessionMigrators); sessionMigrators.push(...v1_7_0.sessionMigrators); +sessionMigrators.push(...v1_9_0.sessionMigrators); /** All settings migrators */ const settingsMigrators: SettingsSaveMigrator[] = []; diff --git a/src/system/version_migration/versions/v1_9_0.ts b/src/system/version_migration/versions/v1_9_0.ts new file mode 100644 index 00000000000..9505a7138f8 --- /dev/null +++ b/src/system/version_migration/versions/v1_9_0.ts @@ -0,0 +1,47 @@ +import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; +import { Status } from "#app/data/status-effect"; +import { PokemonMove } from "#app/field/pokemon"; +import type { SessionSaveData } from "#app/system/game-data"; +import type PokemonData from "#app/system/pokemon-data"; +import { Moves } from "#enums/moves"; + +/** + * Migrate all lingering rage fist data inside `CustomPokemonData`, + * as well as enforcing default values across the board. + * @param data - {@linkcode SystemSaveData} + */ +const migratePartyData: SessionSaveMigrator = { + version: "1.9.0", + migrate: (data: SessionSaveData): void => { + // this stuff is copied straight from the constructor fwiw + const mapParty = (pkmnData: PokemonData) => { + pkmnData.status &&= new Status( + pkmnData.status.effect, + pkmnData.status.toxicTurnCount, + pkmnData.status.sleepTurnsRemaining, + ); + // remove empty moves from moveset + pkmnData.moveset = (pkmnData.moveset ?? [new PokemonMove(Moves.TACKLE), new PokemonMove(Moves.GROWL)]) + .filter(m => !!m) + .map(m => PokemonMove.loadMove(m)); + // only edit summondata moveset if exists + pkmnData.summonData.moveset &&= pkmnData.summonData.moveset.filter(m => !!m).map(m => PokemonMove.loadMove(m)); + + if ( + pkmnData.customPokemonData && + "hitsRecCount" in pkmnData.customPokemonData && + typeof pkmnData.customPokemonData["hitsRecCount"] === "number" + ) { + // transfer old hit count stat to battleData. + pkmnData.battleData.hitCount = pkmnData.customPokemonData["hitsRecCount"]; + pkmnData.customPokemonData["hitsRecCount"] = null; + } + return pkmnData; + }; + + data.party = data.party.map(mapParty); + data.enemyParty = data.enemyParty.map(mapParty); + }, +}; + +export const sessionMigrators: Readonly = [migratePartyData] as const; diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 99a91a9330e..cabe897d7b6 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -617,7 +617,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { return resolve(); } - const gender: Gender = pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + const gender = pokemon.summonData.illusion?.gender ?? pokemon.gender; this.genderText.setText(getGenderSymbol(gender)); this.genderText.setColor(getGenderColor(gender)); @@ -794,7 +794,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { const nameSizeTest = addTextObject(0, 0, displayName, TextStyle.BATTLE_INFO); nameTextWidth = nameSizeTest.displayWidth; - const gender: Gender = pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + const gender = pokemon.summonData.illusion?.gender ?? pokemon.gender; while ( nameTextWidth > (this.player || !this.boss ? 60 : 98) - diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index e0a73d62934..5a0978a934d 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -127,7 +127,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { messageHandler.commandWindow.setVisible(false); messageHandler.movesWindowContainer.setVisible(true); const pokemon = (globalScene.getCurrentPhase() as CommandPhase).getPokemon(); - if (pokemon.battleSummonData.turnCount <= 1) { + if (pokemon.tempSummonData.turnCount <= 1) { this.setCursor(0); } else { this.setCursor(this.getCursor()); @@ -305,7 +305,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { const effectiveness = opponent.getMoveEffectiveness( pokemon, pokemonMove.getMove(), - !opponent.battleData?.abilityRevealed, + !opponent.waveData.abilityRevealed, undefined, undefined, true, @@ -356,7 +356,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { opponent.getMoveEffectiveness( pokemon, pokemonMove.getMove(), - !opponent.battleData.abilityRevealed, + !opponent.waveData.abilityRevealed, undefined, undefined, true, diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 7c3689e757c..6e947796d63 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -1581,7 +1581,7 @@ class PartySlot extends Phaser.GameObjects.Container { fusionShinyStar.setOrigin(0, 0); fusionShinyStar.setPosition(shinyStar.x, shinyStar.y); fusionShinyStar.setTint( - getVariantTint(this.pokemon.summonData?.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), + getVariantTint(this.pokemon.summonData.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), ); slotInfoContainer.add(fusionShinyStar); diff --git a/src/ui/registration-form-ui-handler.ts b/src/ui/registration-form-ui-handler.ts index 3d4613c21d6..a60a53a8e7a 100644 --- a/src/ui/registration-form-ui-handler.ts +++ b/src/ui/registration-form-ui-handler.ts @@ -102,9 +102,9 @@ export default class RegistrationFormUiHandler extends FormModalUiHandler { // Prevent overlapping overrides on action modification this.submitAction = originalRegistrationAction; this.sanitizeInputs(); - globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); const onFail = error => { - globalScene.ui.setMode(UiMode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); + globalScene.ui.setMode(UiMode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); globalScene.ui.playError(); const errorMessageFontSize = languageSettings[i18next.resolvedLanguage!]?.errorMessageFontSize; if (errorMessageFontSize) { diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 877c342651f..f93a1826b3e 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -359,15 +359,15 @@ export default class SummaryUiHandler extends UiHandler { this.pokemonSprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey()); this.pokemonSprite.setPipelineData( "shiny", - this.pokemon.summonData?.illusion?.basePokemon.shiny ?? this.pokemon.shiny, + this.pokemon.summonData.illusion?.basePokemon.shiny ?? this.pokemon.shiny, ); this.pokemonSprite.setPipelineData( "variant", - this.pokemon.summonData?.illusion?.basePokemon.variant ?? this.pokemon.variant, + this.pokemon.summonData.illusion?.basePokemon.variant ?? this.pokemon.variant, ); ["spriteColors", "fusionSpriteColors"].map(k => { delete this.pokemonSprite.pipelineData[`${k}Base`]; - if (this.pokemon?.summonData?.speciesForm) { + if (this.pokemon?.summonData.speciesForm) { k += "Base"; } this.pokemonSprite.pipelineData[k] = this.pokemon?.getSprite().pipelineData[k]; @@ -462,7 +462,7 @@ export default class SummaryUiHandler extends UiHandler { this.fusionShinyIcon.setVisible(doubleShiny); if (isFusion) { this.fusionShinyIcon.setTint( - getVariantTint(this.pokemon.summonData?.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), + getVariantTint(this.pokemon.summonData.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), ); } diff --git a/src/ui/target-select-ui-handler.ts b/src/ui/target-select-ui-handler.ts index 0db2020c25a..5e14e5f7771 100644 --- a/src/ui/target-select-ui-handler.ts +++ b/src/ui/target-select-ui-handler.ts @@ -71,7 +71,7 @@ export default class TargetSelectUiHandler extends UiHandler { */ resetCursor(cursorN: number, user: Pokemon): void { if (!isNullOrUndefined(cursorN)) { - if ([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2].includes(cursorN) || user.battleSummonData.waveTurnCount === 1) { + if ([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2].includes(cursorN) || user.tempSummonData.waveTurnCount === 1) { // Reset cursor on the first turn of a fight or if an ally was targeted last turn cursorN = -1; } diff --git a/src/utils/common.ts b/src/utils/common.ts index 6984840fb5c..4cf7ceccff2 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -467,35 +467,22 @@ export function truncateString(str: string, maxLength = 10) { return str; } -/** - * Perform a deep copy of an object. - * - * @param values - The object to be deep copied. - * @returns A new object that is a deep copy of the input. - */ -export function deepCopy(values: object): object { - // Convert the object to a JSON string and parse it back to an object to perform a deep copy - return JSON.parse(JSON.stringify(values)); -} - /** * Convert a space-separated string into a capitalized and underscored string. - * * @param input - The string to be converted. * @returns The converted string with words capitalized and separated by underscores. */ -export function reverseValueToKeySetting(input) { +export function reverseValueToKeySetting(input: string) { // Split the input string into an array of words const words = input.split(" "); // Capitalize the first letter of each word and convert the rest to lowercase - const capitalizedWords = words.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()); + const capitalizedWords = words.map((word: string) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()); // Join the capitalized words with underscores and return the result return capitalizedWords.join("_"); } /** * Capitalize a string. - * * @param str - The string to be capitalized. * @param sep - The separator between the words of the string. * @param lowerFirstChar - Whether the first character of the string should be lowercase or not. @@ -579,25 +566,3 @@ export function animationFileName(move: Moves): string { export function camelCaseToKebabCase(str: string): string { return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (s, o) => (o ? "-" : "") + s.toLowerCase()); } - -/** - * Merges the two objects, such that for each property in `b` that matches a property in `a`, - * the value in `a` is replaced by the value in `b`. This is done recursively if the property is a non-array object - * - * If the property does not exist in `a` or its `typeof` evaluates differently, the property is skipped. - * If the value of the property is an array, the array is replaced. If it is any other object, the object is merged recursively. - */ -// biome-ignore lint/complexity/noBannedTypes: This function is designed to merge json objects -export function deepMergeObjects(a: Object, b: Object) { - for (const key in b) { - // !(key in a) is redundant here, yet makes it clear that we're explicitly interested in properties that exist in `a` - if (!(key in a) || typeof a[key] !== typeof b[key]) { - continue; - } - if (typeof b[key] === "object" && !Array.isArray(b[key])) { - deepMergeObjects(a[key], b[key]); - } else { - a[key] = b[key]; - } - } -} diff --git a/src/utils/data.ts b/src/utils/data.ts new file mode 100644 index 00000000000..33623dc5e40 --- /dev/null +++ b/src/utils/data.ts @@ -0,0 +1,40 @@ +/** + * Perform a deep copy of an object. + * @param values - The object to be deep copied. + * @returns A new object that is a deep copy of the input. + */ +export function deepCopy(values: object): object { + // Convert the object to a JSON string and parse it back to an object to perform a deep copy + return JSON.parse(JSON.stringify(values)); +} + +/** + * Deeply merge two JSON objects' common properties together. + * This copies all values from `source` that match properties inside `dest`, + * checking recursively for non-null nested objects. + + * If a property in `source` does not exist in `dest` or its `typeof` evaluates differently, it is skipped. + * If it is a non-array object, its properties are recursed into and checked in turn. + * All other values are copied verbatim. + * @param dest - The object to merge values into + * @param source - The object to source merged values from + * @remarks Do not use for regular objects; this is specifically made for JSON copying. + */ +export function deepMergeSpriteData(dest: object, source: object) { + for (const key of Object.keys(source)) { + if ( + !(key in dest) || + typeof source[key] !== typeof dest[key] || + Array.isArray(source[key]) !== Array.isArray(dest[key]) + ) { + continue; + } + + // Pure objects get recursed into; everything else gets overwritten + if (typeof source[key] !== "object" || source[key] === null || Array.isArray(source[key])) { + dest[key] = source[key]; + } else { + deepMergeSpriteData(dest[key], source[key]); + } + } +} diff --git a/test/abilities/cud_chew.test.ts b/test/abilities/cud_chew.test.ts new file mode 100644 index 00000000000..f99060cb744 --- /dev/null +++ b/test/abilities/cud_chew.test.ts @@ -0,0 +1,322 @@ +import { RepeatBerryNextTurnAbAttr } from "#app/data/abilities/ability"; +import Pokemon from "#app/field/pokemon"; +import { globalScene } from "#app/global-scene"; +import { getPokemonNameWithAffix } from "#app/messages"; +import { Abilities } from "#enums/abilities"; +import { BerryType } from "#enums/berry-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { Stat } from "#enums/stat"; +import GameManager from "#test/testUtils/gameManager"; +import i18next from "i18next"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Cud Chew", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.BUG_BITE, Moves.SPLASH, Moves.HYPER_VOICE, Moves.STUFF_CHEEKS]) + .startingHeldItems([{ name: "BERRY", type: BerryType.SITRUS, count: 1 }]) + .ability(Abilities.CUD_CHEW) + .battleStyle("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + describe("tracks berries eaten", () => { + it("stores inside summonData at end of turn", async () => { + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; // needed to allow sitrus procs + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + // berries tracked in turnData; not moved to battleData yet + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.phaseInterceptor.to("TurnEndPhase"); + + // berries stored in battleData; not yet cleared from turnData + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.turnData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.toNextTurn(); + + // turnData cleared on turn start + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + }); + + it("shows ability popup for eating berry, even if berry is useless", async () => { + const abDisplaySpy = vi.spyOn(globalScene, "queueAbilityDisplay"); + game.override.enemyMoveset([Moves.SPLASH, Moves.HEAL_PULSE]); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + // Dip below half to eat berry + farigiraf.hp = farigiraf.getMaxHp() / 2 - 1; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + // doesn't trigger since cud chew hasn't eaten berry yet + expect(farigiraf.summonData.berriesEatenLast).toContain(BerryType.SITRUS); + expect(abDisplaySpy).not.toHaveBeenCalledWith(farigiraf); + await game.toNextTurn(); + + // get heal pulsed back to full before the cud chew proc + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.HEAL_PULSE); + await game.phaseInterceptor.to("TurnEndPhase"); + + // globalScene.queueAbilityDisplay should be called twice: + // once to show cud chew text before regurgitating berries, + // once to hide ability text after finishing. + expect(abDisplaySpy).toBeCalledTimes(2); + expect(abDisplaySpy.mock.calls[0][0]).toBe(farigiraf); + expect(abDisplaySpy.mock.calls[0][2]).toBe(true); + expect(abDisplaySpy.mock.calls[1][0]).toBe(farigiraf); + expect(abDisplaySpy.mock.calls[1][2]).toBe(false); + + // should display messgae + expect(game.textInterceptor.getLatestMessage()).toBe( + i18next.t("battle:hpIsFull", { + pokemonName: getPokemonNameWithAffix(farigiraf), + }), + ); + + // not called again at turn end + expect(abDisplaySpy).toBeCalledTimes(2); + }); + + it("can store multiple berries across 2 turns with teatime", async () => { + // always eat first berry for stuff cheeks & company + vi.spyOn(Pokemon.prototype, "randSeedInt").mockReturnValue(0); + game.override + .startingHeldItems([ + { name: "BERRY", type: BerryType.PETAYA, count: 3 }, + { name: "BERRY", type: BerryType.LIECHI, count: 3 }, + ]) + .enemyMoveset(Moves.TEATIME); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; // needed to allow berry procs + + game.move.select(Moves.STUFF_CHEEKS); + await game.toNextTurn(); + + // Ate 2 petayas from moves + 1 of each at turn end; all 4 get tallied on turn end + expect(farigiraf.summonData.berriesEatenLast).toEqual([ + BerryType.PETAYA, + BerryType.PETAYA, + BerryType.PETAYA, + BerryType.LIECHI, + ]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // previous berries eaten and deleted from summon data as remaining eaten berries move to replace them + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.LIECHI, BerryType.LIECHI]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.getStatStage(Stat.SPATK)).toBe(6); // 3+0+3 + expect(farigiraf.getStatStage(Stat.ATK)).toBe(4); // 1+2+1 + }); + + it("should reset both arrays on switch", async () => { + await game.classicMode.startBattle([Species.FARIGIRAF, Species.GIRAFARIG]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + // eat berry turn 1, switch out turn 2 + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + const turn1Hp = farigiraf.hp; + game.doSwitchPokemon(1); + await game.toNextTurn(); + + // summonData got cleared due to switch, turnData got cleared due to turn end + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toEqual(turn1Hp); + + game.doSwitchPokemon(1); + await game.toNextTurn(); + + // TurnData gets cleared while switching in + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toEqual(turn1Hp); + }); + + it("clears array if disabled", async () => { + game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.toNextTurn(); + + // both arrays empty since neut gas disabled both the mid-turn and post-turn effects + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + }); + }); + + describe("regurgiates berries", () => { + it("re-triggers effects on eater without pushing to array", async () => { + const apply = vi.spyOn(RepeatBerryNextTurnAbAttr.prototype, "apply"); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // ate 1 sitrus the turn prior, spitball pending + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(apply.mock.lastCall).toBeUndefined(); + + const turn1Hp = farigiraf.hp; + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + // healed back up to half without adding any more to array + expect(farigiraf.hp).toBeGreaterThan(turn1Hp); + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + }); + + it("bypasses unnerve", async () => { + game.override.enemyAbility(Abilities.UNNERVE); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + // Turn end proc set the berriesEatenLast array back to being empty + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toBeGreaterThanOrEqual(farigiraf.hp / 2); + }); + + it("doesn't trigger on non-eating removal", async () => { + game.override.enemyMoveset(Moves.INCINERATE); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = farigiraf.getMaxHp() / 4; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // no berries eaten due to getting cooked + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toBeLessThan(farigiraf.getMaxHp() / 4); + }); + + it("works with pluck", async () => { + game.override + .enemySpecies(Species.BLAZIKEN) + .enemyHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]) + .startingHeldItems([]); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + + game.move.select(Moves.BUG_BITE); + await game.toNextTurn(); + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // berry effect triggered twice - once for bug bite, once for cud chew + expect(farigiraf.getStatStage(Stat.SPATK)).toBe(2); + }); + + it("works with Ripen", async () => { + game.override.passiveAbility(Abilities.RIPEN); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // Rounding errors only ever cost a maximum of 4 hp + expect(farigiraf.getInverseHp()).toBeLessThanOrEqual(3); + }); + + it("is preserved on reload/wave clear", async () => { + game.override.enemyLevel(1); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.HYPER_VOICE); + await game.toNextWave(); + + // berry went yummy yummy in big fat giraffe tummy + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.hp).toBeGreaterThan(1); + + // reload and the berry should still be there + await game.reload.reloadSession(); + + const farigirafReloaded = game.scene.getPlayerPokemon()!; + expect(farigirafReloaded.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + + const wave1Hp = farigirafReloaded.hp; + + // blow up next wave and we should proc the repeat eating + game.move.select(Moves.HYPER_VOICE); + await game.toNextWave(); + + expect(farigirafReloaded.hp).toBeGreaterThan(wave1Hp); + }); + }); +}); diff --git a/test/abilities/good_as_gold.test.ts b/test/abilities/good_as_gold.test.ts index 944c1d1bca1..09bdaafb11f 100644 --- a/test/abilities/good_as_gold.test.ts +++ b/test/abilities/good_as_gold.test.ts @@ -49,7 +49,7 @@ describe("Abilities - Good As Gold", () => { await game.phaseInterceptor.to("BerryPhase"); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.GOOD_AS_GOLD); + expect(player.waveData.abilitiesApplied).toContain(Abilities.GOOD_AS_GOLD); expect(player.getStatStage(Stat.ATK)).toBe(0); }); diff --git a/test/abilities/harvest.test.ts b/test/abilities/harvest.test.ts new file mode 100644 index 00000000000..23c0ed9088c --- /dev/null +++ b/test/abilities/harvest.test.ts @@ -0,0 +1,346 @@ +import { BattlerIndex } from "#app/battle"; +import { PostTurnRestoreBerryAbAttr } from "#app/data/abilities/ability"; +import type Pokemon from "#app/field/pokemon"; +import { BerryModifier, PreserveBerryModifier } from "#app/modifier/modifier"; +import type { ModifierOverride } from "#app/modifier/modifier-type"; +import type { BooleanHolder } from "#app/utils/common"; +import { Abilities } from "#enums/abilities"; +import { BerryType } from "#enums/berry-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { Stat } from "#enums/stat"; +import { WeatherType } from "#enums/weather-type"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Harvest", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + const getPlayerBerries = () => + game.scene.getModifiers(BerryModifier, true).filter(b => b.pokemonId === game.scene.getPlayerPokemon()?.id); + + /** Check whether the player's Modifiers contains the specified berries and nothing else. */ + function expectBerriesContaining(...berries: ModifierOverride[]): void { + const actualBerries: ModifierOverride[] = getPlayerBerries().map( + // only grab berry type and quantity since that's literally all we care about + b => ({ name: "BERRY", type: b.berryType, count: b.getStackCount() }), + ); + expect(actualBerries).toEqual(berries); + } + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.SPLASH, Moves.NATURAL_GIFT, Moves.FALSE_SWIPE, Moves.GASTRO_ACID]) + .ability(Abilities.HARVEST) + .startingLevel(100) + .battleStyle("single") + .disableCrits() + .statusActivation(false) // Since we're using nuzzle to proc both enigma and sitrus berries + .weather(WeatherType.SUNNY) // guaranteed recovery + .enemyLevel(1) + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset([Moves.SPLASH, Moves.NUZZLE, Moves.KNOCK_OFF, Moves.INCINERATE]); + }); + + it("replenishes eaten berries", async () => { + game.override.startingHeldItems([{ name: "BERRY", type: BerryType.LUM, count: 1 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.NUZZLE); + await game.phaseInterceptor.to("BerryPhase"); + expect(getPlayerBerries()).toHaveLength(0); + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toHaveLength(1); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectBerriesContaining({ name: "BERRY", type: BerryType.LUM, count: 1 }); + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + }); + + it("tracks berries eaten while disabled/not present", async () => { + // Note: this also checks for harvest not being present as neutralizing gas works by making + // the game consider all other pokemon to *not* have their respective abilities. + game.override + .startingHeldItems([ + { name: "BERRY", type: BerryType.ENIGMA, count: 2 }, + { name: "BERRY", type: BerryType.LUM, count: 2 }, + ]) + .enemyAbility(Abilities.NEUTRALIZING_GAS); + await game.classicMode.startBattle([Species.MILOTIC]); + + const milotic = game.scene.getPlayerPokemon()!; + expect(milotic).toBeDefined(); + + // Chug a few berries without harvest (should get tracked) + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.NUZZLE); + await game.toNextTurn(); + + expect(milotic.battleData.berriesEaten).toEqual(expect.arrayContaining([BerryType.ENIGMA, BerryType.LUM])); + expect(getPlayerBerries()).toHaveLength(2); + + // Give ourselves harvest and disable enemy neut gas, + // but force our roll to fail so we don't accidentally recover anything + vi.spyOn(PostTurnRestoreBerryAbAttr.prototype, "canApplyPostTurn").mockReturnValueOnce(false); + game.override.ability(Abilities.HARVEST); + game.move.select(Moves.GASTRO_ACID); + await game.forceEnemyMove(Moves.NUZZLE); + + await game.toNextTurn(); + + expect(milotic.battleData.berriesEaten).toEqual( + expect.arrayContaining([BerryType.ENIGMA, BerryType.LUM, BerryType.ENIGMA, BerryType.LUM]), + ); + expect(getPlayerBerries()).toHaveLength(0); + + // proc a high roll and we _should_ get a berry back! + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.toNextTurn(); + + expect(milotic.battleData.berriesEaten).toHaveLength(3); + expect(getPlayerBerries()).toHaveLength(1); + }); + + it("remembers berries eaten array across waves", async () => { + game.override + .startingHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 2 }]) + .ability(Abilities.BALL_FETCH); // don't actually need harvest for this test + await game.classicMode.startBattle([Species.REGIELEKI]); + + const regieleki = game.scene.getPlayerPokemon()!; + regieleki.hp = 1; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.doKillOpponents(); + await game.phaseInterceptor.to("TurnEndPhase"); + + // ate 1 berry without recovering (no harvest) + expect(regieleki.battleData.berriesEaten).toEqual([BerryType.PETAYA]); + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(regieleki.getStatStage(Stat.SPATK)).toBe(1); + + await game.toNextWave(); + + expect(regieleki.battleData.berriesEaten).toEqual([BerryType.PETAYA]); + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(regieleki.getStatStage(Stat.SPATK)).toBe(1); + }); + + it("keeps harvested berries across reloads", async () => { + game.override + .startingHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]) + .moveset([Moves.SPLASH, Moves.EARTHQUAKE]) + .enemyMoveset([Moves.SUPER_FANG, Moves.HEAL_PULSE]) + .enemyAbility(Abilities.COMPOUND_EYES); + await game.classicMode.startBattle([Species.REGIELEKI]); + + const regieleki = game.scene.getPlayerPokemon()!; + regieleki.hp = regieleki.getMaxHp() / 4 + 1; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SUPER_FANG); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.toNextTurn(); + + // ate 1 berry and recovered it + expect(regieleki.battleData.berriesEaten).toEqual([]); + expect(getPlayerBerries()).toEqual([expect.objectContaining({ berryType: BerryType.PETAYA, stackCount: 1 })]); + expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); + + // heal up so harvest doesn't proc and kill enemy + game.move.select(Moves.EARTHQUAKE); + await game.forceEnemyMove(Moves.HEAL_PULSE); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.toNextWave(); + + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); + + await game.reload.reloadSession(); + + expect(regieleki.battleData.berriesEaten).toEqual([]); + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); + }); + + it("cannot restore capped berries", async () => { + const initBerries: ModifierOverride[] = [ + { name: "BERRY", type: BerryType.LUM, count: 2 }, + { name: "BERRY", type: BerryType.STARF, count: 2 }, + ]; + game.override.startingHeldItems(initBerries); + await game.classicMode.startBattle([Species.FEEBAS]); + + const feebas = game.scene.getPlayerPokemon()!; + feebas.battleData.berriesEaten = [BerryType.LUM, BerryType.STARF]; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + // Force RNG roll to hit the first berry we find that matches. + // This does nothing on a success (since there'd only be a starf left to grab), + // but ensures we don't accidentally let any false positives through. + vi.spyOn(Phaser.Math.RND, "integerInRange").mockReturnValue(0); + await game.phaseInterceptor.to("TurnEndPhase"); + + // recovered a starf + expectBerriesContaining( + { name: "BERRY", type: BerryType.LUM, count: 2 }, + { name: "BERRY", type: BerryType.STARF, count: 3 }, + ); + }); + + it("does nothing if all berries are capped", async () => { + const initBerries: ModifierOverride[] = [ + { name: "BERRY", type: BerryType.LUM, count: 2 }, + { name: "BERRY", type: BerryType.STARF, count: 3 }, + ]; + game.override.startingHeldItems(initBerries); + await game.classicMode.startBattle([Species.FEEBAS]); + + const player = game.scene.getPlayerPokemon()!; + player.battleData.berriesEaten = [BerryType.LUM, BerryType.STARF]; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectBerriesContaining(...initBerries); + }); + + describe("move/ability interactions", () => { + it("cannot restore incinerated berries", async () => { + game.override.startingHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 3 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.INCINERATE); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + }); + + it("cannot restore knocked off berries", async () => { + game.override.startingHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 3 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.KNOCK_OFF); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + }); + + it("can restore berries eaten by Teatime", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.STARF, count: 1 }]; + game.override.startingHeldItems(initBerries).enemyMoveset(Moves.TEATIME); + await game.classicMode.startBattle([Species.FEEBAS]); + + // nom nom the berr berr yay yay + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + expectBerriesContaining(...initBerries); + }); + + it("cannot restore Plucked berries for either side", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]; + game.override.startingHeldItems(initBerries).enemyAbility(Abilities.HARVEST).enemyMoveset(Moves.PLUCK); + await game.classicMode.startBattle([Species.FEEBAS]); + + // gobble gobble gobble + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + // pluck triggers harvest for neither side + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + expect(game.scene.getEnemyPokemon()?.battleData.berriesEaten).toEqual([]); + expect(getPlayerBerries()).toEqual([]); + }); + + it("cannot restore berries preserved via Berry Pouch", async () => { + // mock berry pouch to have a 100% success rate + vi.spyOn(PreserveBerryModifier.prototype, "apply").mockImplementation( + (_pokemon: Pokemon, doPreserve: BooleanHolder): boolean => { + doPreserve.value = false; + return true; + }, + ); + + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]; + game.override.startingHeldItems(initBerries).startingModifier([{ name: "BERRY_POUCH", count: 1 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase", false); + + // won't trigger harvest since we didn't lose the berry (it just doesn't ever add it to the array) + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + expectBerriesContaining(...initBerries); + }); + + it("can restore stolen berries", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.SITRUS, count: 1 }]; + game.override.enemyHeldItems(initBerries).passiveAbility(Abilities.MAGICIAN).hasPassiveAbility(true); + await game.classicMode.startBattle([Species.MEOWSCARADA]); + + // pre damage + const player = game.scene.getPlayerPokemon()!; + player.hp = 1; + + // steal a sitrus and immediately consume it + game.move.select(Moves.FALSE_SWIPE); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + expect(player.battleData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(player.battleData.berriesEaten).toEqual([]); + expectBerriesContaining(...initBerries); + }); + + // TODO: Enable once fling actually works...??? + it.todo("can restore berries flung at user", async () => { + game.override.enemyHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 1 }]).enemyMoveset(Moves.FLING); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toBe([]); + expect(getPlayerBerries()).toEqual([]); + }); + + // TODO: Enable once Nat Gift gets implemented...??? + it.todo("can restore berries consumed via Natural Gift", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.STARF, count: 1 }]; + game.override.startingHeldItems(initBerries); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.NATURAL_GIFT); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toHaveLength(0); + expectBerriesContaining(...initBerries); + }); + }); +}); diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index 1d8ce58ab38..998d29f169c 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -38,8 +38,8 @@ describe("Abilities - Illusion", () => { const zoroark = game.scene.getPlayerPokemon()!; const zorua = game.scene.getEnemyPokemon()!; - expect(!!zoroark.summonData?.illusion).equals(true); - expect(!!zorua.summonData?.illusion).equals(true); + expect(!!zoroark.summonData.illusion).equals(true); + expect(!!zorua.summonData.illusion).equals(true); }); it("break after receiving damaging move", async () => { @@ -50,7 +50,7 @@ describe("Abilities - Illusion", () => { const zorua = game.scene.getEnemyPokemon()!; - expect(!!zorua.summonData?.illusion).equals(false); + expect(!!zorua.summonData.illusion).equals(false); expect(zorua.name).equals("Zorua"); }); @@ -62,7 +62,7 @@ describe("Abilities - Illusion", () => { const zorua = game.scene.getEnemyPokemon()!; - expect(!!zorua.summonData?.illusion).equals(false); + expect(!!zorua.summonData.illusion).equals(false); }); it("break with neutralizing gas", async () => { @@ -71,7 +71,7 @@ describe("Abilities - Illusion", () => { const zorua = game.scene.getEnemyPokemon()!; - expect(!!zorua.summonData?.illusion).equals(false); + expect(!!zorua.summonData.illusion).equals(false); }); it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => { @@ -116,7 +116,7 @@ describe("Abilities - Illusion", () => { const zoroark = game.scene.getPlayerPokemon()!; - expect(!!zoroark.summonData?.illusion).equals(true); + expect(!!zoroark.summonData.illusion).equals(true); }); it("copies the the name, nickname, gender, shininess, and pokeball from the illusion source", async () => { diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index 48671e54020..1a9f802dd9c 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -68,7 +68,7 @@ describe("Abilities - Infiltrator", () => { const postScreenDmg = enemy.getAttackDamage({ source: player, move: allMoves[move] }).damage; expect(postScreenDmg).toBe(preScreenDmg); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); it("should bypass the target's Safeguard", async () => { @@ -83,7 +83,7 @@ describe("Abilities - Infiltrator", () => { await game.phaseInterceptor.to("BerryPhase", false); expect(enemy.status?.effect).toBe(StatusEffect.SLEEP); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); // TODO: fix this interaction to pass this test @@ -99,7 +99,7 @@ describe("Abilities - Infiltrator", () => { await game.phaseInterceptor.to("MoveEndPhase"); expect(enemy.getStatStage(Stat.ATK)).toBe(-1); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); it("should bypass the target's Substitute", async () => { @@ -114,6 +114,6 @@ describe("Abilities - Infiltrator", () => { await game.phaseInterceptor.to("MoveEndPhase"); expect(enemy.getStatStage(Stat.ATK)).toBe(-1); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); }); diff --git a/test/abilities/libero.test.ts b/test/abilities/libero.test.ts index 2e3668813c5..4adb828180e 100644 --- a/test/abilities/libero.test.ts +++ b/test/abilities/libero.test.ts @@ -67,7 +67,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.AGILITY); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied.filter(a => a === Abilities.LIBERO)).toHaveLength(1); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]]; const moveType = PokemonType[allMoves[Moves.AGILITY].type]; expect(leadPokemonType).not.toBe(moveType); @@ -99,7 +99,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.WEATHER_BALL); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.FIRE]; @@ -118,7 +118,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.ICE]; @@ -214,7 +214,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability is not applied if pokemon is terastallized", async () => { @@ -230,7 +230,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability is not applied if pokemon uses struggle", async () => { @@ -244,7 +244,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability is not applied if the pokemon's move fails", async () => { @@ -258,7 +258,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.BURN_UP); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability applies correctly even if the pokemon's Trick-or-Treat fails", async () => { @@ -293,7 +293,7 @@ describe("Abilities - Libero", () => { }); function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) { - expect(pokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(pokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); expect(pokemon.getTypes()).toHaveLength(1); const pokemonType = PokemonType[pokemon.getTypes()[0]], moveType = PokemonType[allMoves[move].type]; diff --git a/test/abilities/protean.test.ts b/test/abilities/protean.test.ts index efa6f33fe00..8f7633e1327 100644 --- a/test/abilities/protean.test.ts +++ b/test/abilities/protean.test.ts @@ -67,7 +67,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.AGILITY); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied.filter(a => a === Abilities.PROTEAN)).toHaveLength(1); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]]; const moveType = PokemonType[allMoves[Moves.AGILITY].type]; expect(leadPokemonType).not.toBe(moveType); @@ -99,7 +99,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.WEATHER_BALL); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.FIRE]; @@ -118,7 +118,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.ICE]; @@ -214,7 +214,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability is not applied if pokemon is terastallized", async () => { @@ -230,7 +230,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability is not applied if pokemon uses struggle", async () => { @@ -244,7 +244,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability is not applied if the pokemon's move fails", async () => { @@ -258,7 +258,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.BURN_UP); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability applies correctly even if the pokemon's Trick-or-Treat fails", async () => { @@ -293,7 +293,7 @@ describe("Abilities - Protean", () => { }); function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) { - expect(pokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(pokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); expect(pokemon.getTypes()).toHaveLength(1); const pokemonType = PokemonType[pokemon.getTypes()[0]], moveType = PokemonType[allMoves[move].type]; diff --git a/test/abilities/quick_draw.test.ts b/test/abilities/quick_draw.test.ts index 0d3171e947e..79a29b0ce77 100644 --- a/test/abilities/quick_draw.test.ts +++ b/test/abilities/quick_draw.test.ts @@ -54,7 +54,7 @@ describe("Abilities - Quick Draw", () => { expect(pokemon.isFainted()).toBe(false); expect(enemy.isFainted()).toBe(true); - expect(pokemon.battleData.abilitiesApplied).contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).contain(Abilities.QUICK_DRAW); }, 20000); test( @@ -76,7 +76,7 @@ describe("Abilities - Quick Draw", () => { expect(pokemon.isFainted()).toBe(true); expect(enemy.isFainted()).toBe(false); - expect(pokemon.battleData.abilitiesApplied).not.contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).not.contain(Abilities.QUICK_DRAW); }, ); @@ -96,6 +96,6 @@ describe("Abilities - Quick Draw", () => { expect(pokemon.isFainted()).toBe(true); expect(enemy.isFainted()).toBe(false); - expect(pokemon.battleData.abilitiesApplied).contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).contain(Abilities.QUICK_DRAW); }, 20000); }); diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index 463ec7587dc..f558efdb103 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -155,7 +155,7 @@ describe("Abilities - Wimp Out", () => { game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("SwitchSummonPhase", false); - expect(wimpod.summonData.abilitiesApplied).not.toContain(Abilities.WIMP_OUT); + expect(wimpod.waveData.abilitiesApplied).not.toContain(Abilities.WIMP_OUT); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/battle/inverse_battle.test.ts b/test/battle/inverse_battle.test.ts index f8afa3518a9..799442bb603 100644 --- a/test/battle/inverse_battle.test.ts +++ b/test/battle/inverse_battle.test.ts @@ -179,12 +179,12 @@ describe("Inverse Battle", () => { expect(enemy.status?.effect).toBe(StatusEffect.PARALYSIS); }); - it("Anticipation should trigger on 2x effective moves - Anticipation against Thunderbolt", async () => { + it("Anticipation should trigger on 2x effective moves", async () => { game.override.moveset([Moves.THUNDERBOLT]).enemySpecies(Species.SANDSHREW).enemyAbility(Abilities.ANTICIPATION); await game.challengeMode.startBattle(); - expect(game.scene.getEnemyPokemon()?.summonData.abilitiesApplied[0]).toBe(Abilities.ANTICIPATION); + expect(game.scene.getEnemyPokemon()?.waveData.abilitiesApplied).toContain(Abilities.ANTICIPATION); }); it("Conversion 2 should change the type to the resistive type - Conversion 2 against Dragonite", async () => { diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index d2df5511c0a..c2a99299716 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -42,7 +42,6 @@ describe("BattlerTag - SubstituteTag", () => { // simulate a Trapped tag set by another Pokemon, then expect the filter to catch it. const trapTag = new BindTag(5, 0); expect(tagFilter(trapTag)).toBeTruthy(); - return true; }) as Pokemon["findAndRemoveTags"], } as unknown as Pokemon; diff --git a/test/moves/dive.test.ts b/test/moves/dive.test.ts index f33dc69b55f..95c3349c8a6 100644 --- a/test/moves/dive.test.ts +++ b/test/moves/dive.test.ts @@ -105,7 +105,7 @@ describe("Moves - Dive", () => { await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); - expect(enemyPokemon.battleData.abilitiesApplied[0]).toBe(Abilities.ROUGH_SKIN); + expect(enemyPokemon.waveData.abilitiesApplied).toContain(Abilities.ROUGH_SKIN); }); it("should cancel attack after Harsh Sunlight is set", async () => { diff --git a/test/moves/fake_out.test.ts b/test/moves/fake_out.test.ts index cbce16270e0..404473c8fa0 100644 --- a/test/moves/fake_out.test.ts +++ b/test/moves/fake_out.test.ts @@ -26,64 +26,71 @@ describe("Moves - Fake Out", () => { .moveset([Moves.FAKE_OUT, Moves.SPLASH]) .enemyMoveset(Moves.SPLASH) .enemyLevel(10) - .startingLevel(10) // prevent LevelUpPhase from happening + .startingLevel(1) // prevent LevelUpPhase from happening .disableCrits(); }); - it("can only be used on the first turn a pokemon is sent out in a battle", async () => { + it("should only work the first turn a pokemon is sent out in a battle", async () => { await game.classicMode.startBattle([Species.FEEBAS]); - const enemy = game.scene.getEnemyPokemon()!; + const corv = game.scene.getEnemyPokemon()!; game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); - const postTurnOneHp = enemy.hp; + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + const postTurnOneHp = corv.hp; game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(enemy.hp).toBe(postTurnOneHp); - }, 20000); + expect(corv.hp).toBe(postTurnOneHp); + }); // This is a PokeRogue buff to Fake Out - it("can be used at the start of every wave even if the pokemon wasn't recalled", async () => { + it("should succeed at the start of each new wave, even if user wasn't recalled", async () => { await game.classicMode.startBattle([Species.FEEBAS]); - const enemy = game.scene.getEnemyPokemon()!; - enemy.damageAndUpdate(enemy.getMaxHp() - 1); - + // set hp to 1 for easy knockout + game.scene.getEnemyPokemon()!.hp = 1; game.move.select(Moves.FAKE_OUT); await game.toNextWave(); game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(game.scene.getEnemyPokemon()!.isFullHp()).toBe(false); - }, 20000); + const corv = game.scene.getEnemyPokemon()!; + expect(corv).toBeDefined(); + expect(corv?.hp).toBeLessThan(corv?.getMaxHp()); + }); - it("can be used again if recalled and sent back out", async () => { - game.override.startingWave(4); + // This is a PokeRogue buff to Fake Out + it("should succeed at the start of each new wave, even if user wasn't recalled", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); + + // set hp to 1 for easy knockout + game.scene.getEnemyPokemon()!.hp = 1; + game.move.select(Moves.FAKE_OUT); + await game.toNextWave(); + + game.move.select(Moves.FAKE_OUT); + await game.toNextTurn(); + + const corv = game.scene.getEnemyPokemon()!; + expect(corv).toBeDefined(); + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + }); + + it("should succeed if recalled and sent back out", async () => { await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); - const enemy1 = game.scene.getEnemyPokemon()!; - - game.move.select(Moves.FAKE_OUT); - await game.phaseInterceptor.to("MoveEndPhase"); - - expect(enemy1.hp).toBeLessThan(enemy1.getMaxHp()); - - await game.doKillOpponents(); - await game.toNextWave(); - game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - const enemy2 = game.scene.getEnemyPokemon()!; + const corv = game.scene.getEnemyPokemon()!; - expect(enemy2.hp).toBeLessThan(enemy2.getMaxHp()); - enemy2.hp = enemy2.getMaxHp(); + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + corv.hp = corv.getMaxHp(); game.doSwitchPokemon(1); await game.toNextTurn(); @@ -94,6 +101,6 @@ describe("Moves - Fake Out", () => { game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(enemy2.hp).toBeLessThan(enemy2.getMaxHp()); - }, 20000); + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + }); }); diff --git a/test/moves/instruct.test.ts b/test/moves/instruct.test.ts index c5650d7bbd5..dd25db4ec90 100644 --- a/test/moves/instruct.test.ts +++ b/test/moves/instruct.test.ts @@ -228,7 +228,7 @@ describe("Moves - Instruct", () => { const amoonguss = game.scene.getPlayerPokemon()!; game.move.changeMoveset(amoonguss, Moves.SEED_BOMB); - amoonguss.battleSummonData.moveHistory = [ + amoonguss.summonData.moveHistory = [ { move: Moves.SEED_BOMB, targets: [BattlerIndex.ENEMY], @@ -301,7 +301,7 @@ describe("Moves - Instruct", () => { const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - enemy.battleSummonData.moveHistory = [ + enemy.summonData.moveHistory = [ { move: Moves.SONIC_BOOM, targets: [BattlerIndex.PLAYER], @@ -350,7 +350,7 @@ describe("Moves - Instruct", () => { await game.classicMode.startBattle([Species.LUCARIO, Species.BANETTE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.battleSummonData.moveHistory = [ + enemyPokemon.summonData.moveHistory = [ { move: Moves.WHIRLWIND, targets: [BattlerIndex.PLAYER], diff --git a/test/moves/last-resort.test.ts b/test/moves/last-resort.test.ts new file mode 100644 index 00000000000..a7b462f3ca4 --- /dev/null +++ b/test/moves/last-resort.test.ts @@ -0,0 +1,166 @@ +import { BattlerIndex } from "#app/battle"; +import { MoveResult } from "#app/field/pokemon"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Moves - Last Resort", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + function expectLastResortFail() { + expect(game.scene.getPlayerPokemon()?.getLastXMoves()[0]).toEqual( + expect.objectContaining({ + move: Moves.LAST_RESORT, + result: MoveResult.FAIL, + }), + ); + } + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .ability(Abilities.BALL_FETCH) + .battleStyle("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should fail unless all other moves (excluding itself) has been used at least once", async () => { + game.override.moveset([Moves.LAST_RESORT, Moves.SPLASH, Moves.GROWL, Moves.GROWTH]); + await game.classicMode.startBattle([Species.BLISSEY]); + + const blissey = game.scene.getPlayerPokemon()!; + expect(blissey).toBeDefined(); + + // Last resort by itself + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); + + // Splash (1/3) + blissey.pushMoveHistory({ move: Moves.SPLASH, targets: [BattlerIndex.PLAYER] }); + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); + + // Growl (2/3) + blissey.pushMoveHistory({ move: Moves.GROWL, targets: [BattlerIndex.ENEMY] }); + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); // Were last resort itself counted, it would error here + + // Growth (3/3) + blissey.pushMoveHistory({ move: Moves.GROWTH, targets: [BattlerIndex.PLAYER] }); + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expect(game.scene.getPlayerPokemon()?.getLastXMoves()[0]).toEqual( + expect.objectContaining({ + move: Moves.LAST_RESORT, + result: MoveResult.SUCCESS, + }), + ); + }); + + it("should disregard virtually invoked moves", async () => { + game.override + .moveset([Moves.LAST_RESORT, Moves.SWORDS_DANCE, Moves.ABSORB, Moves.MIRROR_MOVE]) + .enemyMoveset([Moves.SWORDS_DANCE, Moves.ABSORB]) + .ability(Abilities.DANCER) + .enemySpecies(Species.ABOMASNOW); // magikarp has 50% chance to be okho'd on absorb crit + await game.classicMode.startBattle([Species.BLISSEY]); + + // use mirror move normally to trigger absorb virtually + game.move.select(Moves.MIRROR_MOVE); + await game.forceEnemyMove(Moves.ABSORB); + await game.toNextTurn(); + + game.move.select(Moves.LAST_RESORT); + await game.forceEnemyMove(Moves.SWORDS_DANCE); // goes first to proc dancer ahead of time + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); + }); + + it("should fail if no other moves in moveset", async () => { + game.override.moveset(Moves.LAST_RESORT); + await game.classicMode.startBattle([Species.BLISSEY]); + + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectLastResortFail(); + }); + + it("should work if invoked virtually when all other moves have been used", async () => { + game.override.moveset([Moves.LAST_RESORT, Moves.SLEEP_TALK]).ability(Abilities.COMATOSE); + await game.classicMode.startBattle([Species.KOMALA]); + + game.move.select(Moves.SLEEP_TALK); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.getLastXMoves(-1)).toEqual([ + expect.objectContaining({ + move: Moves.LAST_RESORT, + result: MoveResult.SUCCESS, + virtual: true, + }), + expect.objectContaining({ + move: Moves.SLEEP_TALK, + result: MoveResult.SUCCESS, + }), + ]); + }); + + it("should preserve usability status on reload", async () => { + game.override.moveset([Moves.LAST_RESORT, Moves.SPLASH]).ability(Abilities.COMATOSE); + await game.classicMode.startBattle([Species.BLISSEY]); + + game.move.select(Moves.SPLASH); + await game.doKillOpponents(); + await game.toNextWave(); + + const oldMoveHistory = game.scene.getPlayerPokemon()?.summonData.moveHistory; + await game.reload.reloadSession(); + + const newMoveHistory = game.scene.getPlayerPokemon()?.summonData.moveHistory; + expect(oldMoveHistory).toEqual(newMoveHistory); + + // use last resort and it should kill the karp just fine + game.move.select(Moves.LAST_RESORT); + game.scene.getEnemyPokemon()!.hp = 1; + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.isVictory()).toBe(true); + }); + + it("should fail if used while not in moveset", async () => { + game.override.moveset(Moves.MIRROR_MOVE).enemyMoveset([Moves.ABSORB, Moves.LAST_RESORT]); + await game.classicMode.startBattle([Species.BLISSEY]); + + // ensure enemy last resort succeeds + game.move.select(Moves.MIRROR_MOVE); + await game.forceEnemyMove(Moves.ABSORB); + await game.phaseInterceptor.to("TurnEndPhase"); + game.move.select(Moves.MIRROR_MOVE); + await game.forceEnemyMove(Moves.LAST_RESORT); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectLastResortFail(); + }); +}); diff --git a/test/moves/powder.test.ts b/test/moves/powder.test.ts index 6f7a6add054..457beb60f91 100644 --- a/test/moves/powder.test.ts +++ b/test/moves/powder.test.ts @@ -146,7 +146,7 @@ describe("Moves - Powder", () => { await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); - expect(enemyPokemon.summonData?.types).not.toBe(PokemonType.FIRE); + expect(enemyPokemon.summonData.types).not.toBe(PokemonType.FIRE); }); it("should cancel Fire-type moves generated by the target's Dancer ability", async () => { diff --git a/test/moves/rage_fist.test.ts b/test/moves/rage_fist.test.ts index 687d805da78..f215c5955c6 100644 --- a/test/moves/rage_fist.test.ts +++ b/test/moves/rage_fist.test.ts @@ -7,6 +7,7 @@ import type Move from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { BattleType } from "#enums/battle-type"; describe("Moves - Rage Fist", () => { let phaserGame: Phaser.Game; @@ -28,19 +29,18 @@ describe("Moves - Rage Fist", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.RAGE_FIST, Moves.SPLASH, Moves.SUBSTITUTE]) + .moveset([Moves.RAGE_FIST, Moves.SPLASH, Moves.SUBSTITUTE, Moves.TIDY_UP]) .startingLevel(100) .enemyLevel(1) + .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.DOUBLE_KICK); vi.spyOn(move, "calculateBattlePower"); }); - it("should have 100 more power if hit twice before calling Rage Fist", async () => { - game.override.enemySpecies(Species.MAGIKARP); - - await game.classicMode.startBattle([Species.MAGIKARP]); + it("should gain power per hit taken", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); game.move.select(Moves.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); @@ -49,51 +49,95 @@ describe("Moves - Rage Fist", () => { expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); - it("should maintain its power during next battle if it is within the same arena encounter", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(1); + it("caps at 6 hits taken", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); - await game.classicMode.startBattle([Species.MAGIKARP]); + // spam splash against magikarp hitting us 2 times per turn + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + game.move.select(Moves.RAGE_FIST); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + + // hit 8 times, but nothing else + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(8); + expect(move.calculateBattlePower).toHaveLastReturnedWith(350); + }); + + it("should not count substitute hits or confusion damage", async () => { + game.override.enemySpecies(Species.SHUCKLE).enemyMoveset([Moves.CONFUSE_RAY, Moves.DOUBLE_KICK]); + + await game.classicMode.startBattle([Species.REGIROCK]); + + game.move.select(Moves.SUBSTITUTE); + await game.forceEnemyMove(Moves.DOUBLE_KICK); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.toNextTurn(); + + // no increase due to substitute + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(0); + + // remove substitute and get confused + game.move.select(Moves.TIDY_UP); + await game.forceEnemyMove(Moves.CONFUSE_RAY); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.toNextTurn(); + + game.move.select(Moves.RAGE_FIST); + await game.forceEnemyMove(Moves.CONFUSE_RAY); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.move.forceConfusionActivation(true); + await game.toNextTurn(); + + // didn't go up from hitting ourself + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(0); + }); + + it("should maintain hits recieved between wild waves", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); game.move.select(Moves.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(2); + game.move.select(Moves.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); - await game.phaseInterceptor.to("BerryPhase", false); + await game.phaseInterceptor.to("TurnEndPhase"); + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(4); expect(move.calculateBattlePower).toHaveLastReturnedWith(250); }); - it("should reset the hitRecCounter if we enter new trainer battle", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(4); + it("should reset hits recieved before trainer battles", async () => { + await game.classicMode.startBattle([Species.IRON_HANDS]); - await game.classicMode.startBattle([Species.MAGIKARP]); + const ironHands = game.scene.getPlayerPokemon()!; + expect(ironHands).toBeDefined(); + // beat up a magikarp game.move.select(Moves.RAGE_FIST); + await game.forceEnemyMove(Moves.DOUBLE_KICK); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.isVictory()).toBe(true); + expect(ironHands.battleData.hitCount).toBe(2); + expect(move.calculateBattlePower).toHaveLastReturnedWith(150); + + game.override.battleType(BattleType.TRAINER); await game.toNextWave(); - game.move.select(Moves.RAGE_FIST); - await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); - await game.phaseInterceptor.to("BerryPhase", false); - - expect(move.calculateBattlePower).toHaveLastReturnedWith(150); + expect(ironHands.battleData.hitCount).toBe(0); }); - it("should not increase the hitCounter if Substitute is hit", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(4); - - await game.classicMode.startBattle([Species.MAGIKARP]); - - game.move.select(Moves.SUBSTITUTE); - await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); - await game.phaseInterceptor.to("MoveEffectPhase"); - - expect(game.scene.getPlayerPokemon()?.customPokemonData.hitsRecCount).toBe(0); - }); - - it("should reset the hitRecCounter if we enter new biome", async () => { + it("should reset hits recieved before new biome", async () => { game.override.enemySpecies(Species.MAGIKARP).startingWave(10); await game.classicMode.startBattle([Species.MAGIKARP]); @@ -109,25 +153,50 @@ describe("Moves - Rage Fist", () => { expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); - it("should not reset the hitRecCounter if switched out", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(1).enemyMoveset(Moves.TACKLE); + it("should not reset if switched out or on reload", async () => { + game.override.enemyMoveset(Moves.TACKLE); + + const getPartyHitCount = () => + game.scene + .getPlayerParty() + .filter(p => !!p) + .map(m => m.battleData.hitCount); await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + // Charizard hit game.move.select(Moves.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); + expect(getPartyHitCount()).toEqual([1, 0]); + // blastoise switched in & hit game.doSwitchPokemon(1); await game.toNextTurn(); + expect(getPartyHitCount()).toEqual([1, 1]); + // charizard switched in & hit game.doSwitchPokemon(1); await game.toNextTurn(); + expect(getPartyHitCount()).toEqual([2, 1]); + // Charizard rage fist game.move.select(Moves.RAGE_FIST); await game.phaseInterceptor.to("MoveEndPhase"); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.CHARIZARD); + const charizard = game.scene.getPlayerPokemon()!; + expect(charizard).toBeDefined(); + expect(charizard.species.speciesId).toBe(Species.CHARIZARD); + expect(move.calculateBattlePower).toHaveLastReturnedWith(150); + + // go to new wave, reload game and beat up another poor sap + await game.toNextWave(); + + await game.reload.reloadSession(); + + // outsped and oneshot means power rmains same as prior + game.move.select(Moves.RAGE_FIST); + await game.phaseInterceptor.to("MoveEndPhase"); expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); }); diff --git a/test/moves/toxic_spikes.test.ts b/test/moves/toxic_spikes.test.ts index 624db27bb92..b1fdc7f39c2 100644 --- a/test/moves/toxic_spikes.test.ts +++ b/test/moves/toxic_spikes.test.ts @@ -129,7 +129,7 @@ describe("Moves - Toxic Spikes", () => { await game.phaseInterceptor.to("BattleEndPhase"); await game.toNextWave(); - const sessionData: SessionSaveData = gameData["getSessionSaveData"](); + const sessionData: SessionSaveData = gameData.getSessionSaveData(); localStorage.setItem("sessionTestData", encrypt(JSON.stringify(sessionData), true)); const recoveredData: SessionSaveData = gameData.parseSessionData( decrypt(localStorage.getItem("sessionTestData")!, true), diff --git a/test/moves/transform.test.ts b/test/moves/transform.test.ts index 5bcb7c7ed4c..8bfe7df688b 100644 --- a/test/moves/transform.test.ts +++ b/test/moves/transform.test.ts @@ -4,7 +4,7 @@ import GameManager from "#test/testUtils/gameManager"; import { Species } from "#enums/species"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { Moves } from "#enums/moves"; -import { Stat, BATTLE_STATS, EFFECTIVE_STATS } from "#enums/stat"; +import { Stat, EFFECTIVE_STATS } from "#enums/stat"; import { Abilities } from "#enums/abilities"; import { BattlerIndex } from "#app/battle"; @@ -49,30 +49,18 @@ describe("Moves - Transform", () => { expect(player.getAbility()).toBe(enemy.getAbility()); expect(player.getGender()).toBe(enemy.getGender()); + // copies all stats except hp expect(player.getStat(Stat.HP, false)).not.toBe(enemy.getStat(Stat.HP)); for (const s of EFFECTIVE_STATS) { expect(player.getStat(s, false)).toBe(enemy.getStat(s, false)); } - for (const s of BATTLE_STATS) { - expect(player.getStatStage(s)).toBe(enemy.getStatStage(s)); - } + expect(player.getStatStages()).toEqual(enemy.getStatStages()); - const playerMoveset = player.getMoveset(); - const enemyMoveset = enemy.getMoveset(); + // move IDs are equal + expect(player.getMoveset().map(m => m.moveId)).toEqual(enemy.getMoveset().map(m => m.moveId)); - expect(playerMoveset.length).toBe(enemyMoveset.length); - for (let i = 0; i < playerMoveset.length && i < enemyMoveset.length; i++) { - expect(playerMoveset[i]?.moveId).toBe(enemyMoveset[i]?.moveId); - } - - const playerTypes = player.getTypes(); - const enemyTypes = enemy.getTypes(); - - expect(playerTypes.length).toBe(enemyTypes.length); - for (let i = 0; i < playerTypes.length && i < enemyTypes.length; i++) { - expect(playerTypes[i]).toBe(enemyTypes[i]); - } + expect(player.getTypes()).toEqual(enemy.getTypes()); }); it("should copy in-battle overridden stats", async () => { diff --git a/test/moves/u_turn.test.ts b/test/moves/u_turn.test.ts index 68bb7fe05c1..4ceb6865be0 100644 --- a/test/moves/u_turn.test.ts +++ b/test/moves/u_turn.test.ts @@ -65,7 +65,7 @@ describe("Moves - U-turn", () => { // assert const playerPkm = game.scene.getPlayerPokemon()!; expect(playerPkm.hp).not.toEqual(playerPkm.getMaxHp()); - expect(game.scene.getEnemyPokemon()!.battleData.abilityRevealed).toBe(true); // proxy for asserting ability activated + expect(game.scene.getEnemyPokemon()!.waveData.abilityRevealed).toBe(true); // proxy for asserting ability activated expect(playerPkm.species.speciesId).toEqual(Species.RAICHU); expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); }, 20000); @@ -84,7 +84,7 @@ describe("Moves - U-turn", () => { const playerPkm = game.scene.getPlayerPokemon()!; expect(playerPkm.status?.effect).toEqual(StatusEffect.POISON); expect(playerPkm.species.speciesId).toEqual(Species.RAICHU); - expect(game.scene.getEnemyPokemon()!.battleData.abilityRevealed).toBe(true); // proxy for asserting ability activated + expect(game.scene.getEnemyPokemon()!.waveData.abilityRevealed).toBe(true); // proxy for asserting ability activated expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); }, 20000); diff --git a/test/settingMenu/rebinding_setting.test.ts b/test/settingMenu/rebinding_setting.test.ts index 45c647248c4..20a1fe51484 100644 --- a/test/settingMenu/rebinding_setting.test.ts +++ b/test/settingMenu/rebinding_setting.test.ts @@ -2,7 +2,7 @@ import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty"; import { getKeyWithKeycode, getKeyWithSettingName } from "#app/configs/inputs/configHandler"; import type { InterfaceConfig } from "#app/inputs-controller"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; -import { deepCopy } from "#app/utils/common"; +import { deepCopy } from "#app/utils/data"; import { Button } from "#enums/buttons"; import { Device } from "#enums/devices"; import { InGameManip } from "#test/settingMenu/helpers/inGameManip"; diff --git a/test/testUtils/gameManager.ts b/test/testUtils/gameManager.ts index 39e65fba0e5..8dd90decf1a 100644 --- a/test/testUtils/gameManager.ts +++ b/test/testUtils/gameManager.ts @@ -579,9 +579,8 @@ export default class GameManager { /** * Intercepts `TurnStartPhase` and mocks {@linkcode TurnStartPhase.getSpeedOrder}'s return value. * Used to manually modify Pokemon turn order. - * Note: This *DOES NOT* account for priority. - * @param order - The turn order to set + * @param order - The turn order to set as an array of {@linkcode BattlerIndex}es. * @example * ```ts * await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2]); diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index 0f3d75c6268..269cf65ea56 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -103,6 +103,17 @@ export class MoveHelper extends GameManagerHelper { vi.spyOn(Overrides, "STATUS_ACTIVATION_OVERRIDE", "get").mockReturnValue(null); } + /** + * Forces the Confusion status to activate on the next move by temporarily mocking {@linkcode Overrides.CONFUSION_ACTIVATION_OVERRIDE}, + * advancing to the next `MovePhase`, and then resetting the override to `null` + * @param activated - `true` to force the Pokemon to hit themself, `false` to forcibly disable it + */ + public async forceConfusionActivation(activated: boolean): Promise { + vi.spyOn(Overrides, "CONFUSION_ACTIVATION_OVERRIDE", "get").mockReturnValue(activated); + await this.game.phaseInterceptor.to("MovePhase"); + vi.spyOn(Overrides, "CONFUSION_ACTIVATION_OVERRIDE", "get").mockReturnValue(null); + } + /** * Changes a pokemon's moveset to the given move(s). * Used when the normal moveset override can't be used (such as when it's necessary to check or update properties of the moveset). diff --git a/test/testUtils/helpers/overridesHelper.ts b/test/testUtils/helpers/overridesHelper.ts index 6aa382ef59a..acc2e4d5cd0 100644 --- a/test/testUtils/helpers/overridesHelper.ts +++ b/test/testUtils/helpers/overridesHelper.ts @@ -522,6 +522,21 @@ export class OverridesHelper extends GameManagerHelper { return this; } + /** + * Override confusion to always or never activate + * @param activate - `true` to force activation, `false` to force no activation, `null` to disable the override + * @returns `this` + */ + public confusionActivation(activate: boolean | null): this { + vi.spyOn(Overrides, "CONFUSION_ACTIVATION_OVERRIDE", "get").mockReturnValue(activate); + if (activate !== null) { + this.log(`Confusion forced to ${activate ? "always" : "never"} activate!`); + } else { + this.log("Confusion activation override disabled!"); + } + return this; + } + /** * Override the encounter chance for a mystery encounter. * @param percentage - The encounter chance in % diff --git a/test/testUtils/helpers/reloadHelper.ts b/test/testUtils/helpers/reloadHelper.ts index 4867a146aaf..4a9e5356968 100644 --- a/test/testUtils/helpers/reloadHelper.ts +++ b/test/testUtils/helpers/reloadHelper.ts @@ -46,6 +46,16 @@ export class ReloadHelper extends GameManagerHelper { scene.unshiftPhase(titlePhase); this.game.endPhase(); // End the currently ongoing battle + // remove all persistent mods before loading + // TODO: Look into why these aren't removed before load + if (this.game.scene.modifiers.length) { + console.log( + "Removing %d modifiers from scene on load...", + this.game.scene.modifiers.length, + this.game.scene.modifiers, + ); + this.game.scene.modifiers = []; + } titlePhase.loadSaveSlot(-1); // Load the desired session data this.game.phaseInterceptor.shift(); // Loading the save slot also ended TitlePhase, clean it up @@ -73,6 +83,6 @@ export class ReloadHelper extends GameManagerHelper { } await this.game.phaseInterceptor.to(CommandPhase); - console.log("==================[New Turn]=================="); + console.log("==================[New Turn (Reloaded)]=================="); } } diff --git a/test/utils.test.ts b/test/utils.test.ts index 33f7906738c..fe93bdd6970 100644 --- a/test/utils.test.ts +++ b/test/utils.test.ts @@ -1,5 +1,6 @@ import { expect, describe, it, beforeAll } from "vitest"; import { randomString, padInt } from "#app/utils/common"; +import { deepMergeSpriteData } from "#app/utils/data"; import Phaser from "phaser"; @@ -9,6 +10,7 @@ describe("utils", () => { type: Phaser.HEADLESS, }); }); + describe("randomString", () => { it("should return a string of the specified length", () => { const str = randomString(10); @@ -46,4 +48,33 @@ describe("utils", () => { expect(result).toBe("1"); }); }); + describe("deepMergeSpriteData", () => { + it("should merge two objects' common properties", () => { + const dest = { a: 1, b: 2 }; + const source = { a: 3, b: 3, e: 4 }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 3, b: 3 }); + }); + + it("does nothing for identical objects", () => { + const dest = { a: 1, b: 2 }; + const source = { a: 1, b: 2 }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 1, b: 2 }); + }); + + it("should preserve missing and mistyped properties", () => { + const dest = { a: 1, c: 56, d: "test" }; + const source = { a: "apple", b: 3, d: "no hablo español" }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 1, c: 56, d: "no hablo español" }); + }); + + it("should copy arrays verbatim even with mismatches", () => { + const dest = { a: 1, b: [{ d: 1 }, { d: 2 }, { d: 3 }] }; + const source = { a: 3, b: [{ c: [4, 5] }, { p: [7, 8] }], e: 4 }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 3, b: [{ c: [4, 5] }, { p: [7, 8] }] }); + }); + }); }); From 8f0eee9c4c70f3b1ef561febffa15bb19b562530 Mon Sep 17 00:00:00 2001 From: damocleas Date: Fri, 2 May 2025 01:11:02 -0400 Subject: [PATCH 090/102] [Balance] [Mystery Encounter] Many Minor Mystery Encounter Adjustments (#5726) * Update slumbering-snorlax-encounter.ts * Add Slumbering Snorlax to Tall Grass, remove Absolute Avarice from Plains * Update absolute-avarice-encounter.ts * Update absolute-avarice-encounter.ts * Update slumbering-snorlax-encounter.ts * Update slumbering-snorlax-encounter.ts * Update the-expert-pokemon-breeder-encounter.ts * Update slumbering-snorlax-encounter.ts nature * Update bug-type-superfan-encounter.ts move reward * Update bug-type-superfan-encounter.ts moves again * fix encounter waves * Update absolute-avarice-encounter.test.ts * add Nature import * Update bug-type-superfan-encounter.test.ts * greedent moves * test moves * Updated mysterious-chest-encounter.ts trap/reward chance * swapped Macho Brace stats, +2 / 10% for HP stats and +1 / 5% for all else * Update bug-type-superfan-encounter.ts moves * Update the-expert-pokemon-breeder-encounter.ts tera * Update bug-type-superfan-encounter.test.ts fix test --- .../encounters/absolute-avarice-encounter.ts | 11 ++++--- .../encounters/bug-type-superfan-encounter.ts | 28 +++++++++++------ .../encounters/mysterious-chest-encounter.ts | 4 +-- .../slumbering-snorlax-encounter.ts | 30 +++++++++++-------- .../the-expert-pokemon-breeder-encounter.ts | 7 ++--- .../mystery-encounters/mystery-encounters.ts | 4 +-- src/modifier/modifier.ts | 14 ++++----- .../absolute-avarice-encounter.test.ts | 8 +++-- .../bug-type-superfan-encounter.test.ts | 28 +++++++++++------ 9 files changed, 80 insertions(+), 54 deletions(-) diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index e0486c83e77..acfc8cb16a1 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -37,7 +37,6 @@ import type HeldModifierConfig from "#app/interfaces/held-modifier-config"; import type { BerryType } from "#enums/berry-type"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import i18next from "i18next"; /** the i18n namespace for this encounter */ @@ -52,8 +51,8 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde MysteryEncounterType.ABSOLUTE_AVARICE, ) .withEncounterTier(MysteryEncounterTier.GREAT) - .withSceneWaveRangeRequirement(...CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES) - .withSceneRequirement(new PersistentModifierRequirement("BerryModifier", 4)) // Must have at least 4 berries to spawn + .withSceneWaveRangeRequirement(20, 180) + .withSceneRequirement(new PersistentModifierRequirement("BerryModifier", 6)) // Must have at least 6 berries to spawn .withFleeAllowed(false) .withIntroSpriteConfigs([ { @@ -220,9 +219,9 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde // Do NOT remove the real berries yet or else it will be persisted in the session data - // SpDef buff below wave 50, +1 to all stats otherwise + // +1 SpDef below wave 50, SpDef and Speed otherwise const statChangesForBattle: (Stat.ATK | Stat.DEF | Stat.SPATK | Stat.SPDEF | Stat.SPD | Stat.ACC | Stat.EVA)[] = - globalScene.currentBattle.waveIndex < 50 ? [Stat.SPDEF] : [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD]; + globalScene.currentBattle.waveIndex < 50 ? [Stat.SPDEF] : [Stat.SPDEF, Stat.SPD]; // Calculate boss mon const config: EnemyPartyConfig = { @@ -233,7 +232,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde isBoss: true, bossSegments: 3, shiny: false, // Shiny lock because of consistency issues between the different options - moveSet: [Moves.THRASH, Moves.BODY_PRESS, Moves.STUFF_CHEEKS, Moves.CRUNCH], + moveSet: [Moves.THRASH, Moves.CRUNCH, Moves.BODY_PRESS, Moves.SLACK_OFF], modifierConfigs: bossModifierConfigs, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index 001faf3a67f..87b223d5245 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -146,24 +146,34 @@ const POOL_4_POKEMON = [Species.GENESECT, Species.SLITHER_WING, Species.BUZZWOLE const PHYSICAL_TUTOR_MOVES = [ Moves.MEGAHORN, - Moves.X_SCISSOR, Moves.ATTACK_ORDER, - Moves.PIN_MISSILE, + Moves.BUG_BITE, Moves.FIRST_IMPRESSION, + Moves.LUNGE ]; -const SPECIAL_TUTOR_MOVES = [Moves.SILVER_WIND, Moves.BUG_BUZZ, Moves.SIGNAL_BEAM, Moves.POLLEN_PUFF]; +const SPECIAL_TUTOR_MOVES = [ + Moves.SILVER_WIND, + Moves.SIGNAL_BEAM, + Moves.BUG_BUZZ, + Moves.POLLEN_PUFF, + Moves.STRUGGLE_BUG +]; -const STATUS_TUTOR_MOVES = [Moves.STRING_SHOT, Moves.STICKY_WEB, Moves.SILK_TRAP, Moves.RAGE_POWDER, Moves.HEAL_ORDER]; +const STATUS_TUTOR_MOVES = [ + Moves.STRING_SHOT, + Moves.DEFEND_ORDER, + Moves.RAGE_POWDER, + Moves.STICKY_WEB, + Moves.SILK_TRAP +]; const MISC_TUTOR_MOVES = [ - Moves.BUG_BITE, Moves.LEECH_LIFE, - Moves.DEFEND_ORDER, - Moves.QUIVER_DANCE, - Moves.TAIL_GLOW, - Moves.INFESTATION, Moves.U_TURN, + Moves.HEAL_ORDER, + Moves.QUIVER_DANCE, + Moves.INFESTATION, ]; /** diff --git a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts index e9976ba04aa..e6c11378163 100644 --- a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts @@ -29,8 +29,8 @@ import { Species } from "#enums/species"; const namespace = "mysteryEncounters/mysteriousChest"; const RAND_LENGTH = 100; -const TRAP_PERCENT = 35; -const COMMON_REWARDS_PERCENT = 20; +const TRAP_PERCENT = 30; +const COMMON_REWARDS_PERCENT = 25; const ULTRA_REWARDS_PERCENT = 30; const ROGUE_REWARDS_PERCENT = 10; const MASTER_REWARDS_PERCENT = 5; diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index 41c20f35ba1..2654f6b18d8 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -19,6 +19,7 @@ import { setEncounterRewards, } from "../utils/encounter-phase-utils"; import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; +import { Nature } from "#enums/nature"; import { Moves } from "#enums/moves"; import { BattlerIndex } from "#app/battle"; import { AiType, PokemonMove } from "#app/field/pokemon"; @@ -26,9 +27,10 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { PartyHealPhase } from "#app/phases/party-heal-phase"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { BerryType } from "#enums/berry-type"; +import { Stat } from "#enums/stat"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; +import { randSeedInt } from "#app/utils/common"; /** i18n namespace for the encounter */ const namespace = "mysteryEncounters/slumberingSnorlax"; @@ -42,7 +44,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil MysteryEncounterType.SLUMBERING_SNORLAX, ) .withEncounterTier(MysteryEncounterTier.GREAT) - .withSceneWaveRangeRequirement(...CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES) + .withSceneWaveRangeRequirement(15, 150) .withCatchAllowed(true) .withHideWildIntroMessage(true) .withFleeAllowed(false) @@ -72,16 +74,26 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil species: bossSpecies, isBoss: true, shiny: false, // Shiny lock because shiny is rolled only if the battle option is picked - status: [StatusEffect.SLEEP, 5], // Extra turns on timer for Snorlax's start of fight moves - moveSet: [Moves.REST, Moves.SLEEP_TALK, Moves.CRUNCH, Moves.GIGA_IMPACT], + status: [StatusEffect.SLEEP, 6], // Extra turns on timer for Snorlax's start of fight moves + nature: Nature.DOCILE, + moveSet: [Moves.BODY_SLAM, Moves.CRUNCH, Moves.SLEEP_TALK, Moves.REST], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY, [BerryType.SITRUS]) as PokemonHeldItemModifierType, - stackCount: 2, }, { modifier: generateModifierType(modifierTypes.BERRY, [BerryType.ENIGMA]) as PokemonHeldItemModifierType, - stackCount: 2, + }, + { + modifier: generateModifierType(modifierTypes.BASE_STAT_BOOSTER, [Stat.HP]) as PokemonHeldItemModifierType, + }, + { + modifier: generateModifierType(modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType, + stackCount: randSeedInt(2, 0), + }, + { + modifier: generateModifierType(modifierTypes.LUCKY_EGG) as PokemonHeldItemModifierType, + stackCount: randSeedInt(2, 0), }, ], customPokemonData: new CustomPokemonData({ spriteScale: 1.25 }), @@ -128,12 +140,6 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil move: new PokemonMove(Moves.SNORE), ignorePp: true, }, - { - sourceBattlerIndex: BattlerIndex.ENEMY, - targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.SNORE), - ignorePp: true, - }, ); await initBattleWithEnemyConfig(encounter.enemyPartyConfigs[0]); }, diff --git a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts index 076171b3e5e..15063bc2763 100644 --- a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts @@ -11,7 +11,6 @@ import { randSeedShuffle } from "#app/utils/common"; import type MysteryEncounter from "../mystery-encounter"; import { MysteryEncounterBuilder } from "../mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { Biome } from "#enums/biome"; import { TrainerType } from "#enums/trainer-type"; import i18next from "i18next"; @@ -123,7 +122,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, ) .withEncounterTier(MysteryEncounterTier.ULTRA) - .withSceneWaveRangeRequirement(...CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES) + .withSceneWaveRangeRequirement(25, 180) .withScenePartySizeRequirement(4, 6, true) // Must have at least 4 legal pokemon in party .withIntroSpriteConfigs([]) // These are set in onInit() .withIntroDialogue([ @@ -483,9 +482,9 @@ function getPartyConfig(): EnemyPartyConfig { abilityIndex: 1, // Magic Guard shiny: false, nature: Nature.ADAMANT, - moveSet: [Moves.METEOR_MASH, Moves.FIRE_PUNCH, Moves.ICE_PUNCH, Moves.THUNDER_PUNCH], + moveSet: [Moves.FIRE_PUNCH, Moves.ICE_PUNCH, Moves.THUNDER_PUNCH, Moves.METEOR_MASH], ivs: [31, 31, 31, 31, 31, 31], - tera: PokemonType.STEEL, + tera: PokemonType.FAIRY, }, ], }; diff --git a/src/data/mystery-encounters/mystery-encounters.ts b/src/data/mystery-encounters/mystery-encounters.ts index 5dd952b2bce..1a36dc27df2 100644 --- a/src/data/mystery-encounters/mystery-encounters.ts +++ b/src/data/mystery-encounters/mystery-encounters.ts @@ -226,9 +226,9 @@ const anyBiomeEncounters: MysteryEncounterType[] = [ */ export const mysteryEncountersByBiome = new Map([ [Biome.TOWN, []], - [Biome.PLAINS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], + [Biome.PLAINS, [MysteryEncounterType.SLUMBERING_SNORLAX]], [Biome.GRASS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], - [Biome.TALL_GRASS, [MysteryEncounterType.ABSOLUTE_AVARICE]], + [Biome.TALL_GRASS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], [Biome.METROPOLIS, []], [Biome.FOREST, [MysteryEncounterType.SAFARI_ZONE, MysteryEncounterType.ABSOLUTE_AVARICE]], [Biome.SEA, [MysteryEncounterType.LOST_AT_SEA]], diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 2823e74fffe..9df7aa7813f 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1114,20 +1114,20 @@ export class PokemonIncrementingStatModifier extends PokemonHeldItemModifier { * @returns always `true` */ override apply(_pokemon: Pokemon, stat: Stat, statHolder: NumberHolder): boolean { - // Modifies the passed in stat number holder by +1 per stack for HP, +2 per stack for other stats - // If the Macho Brace is at max stacks (50), adds additional 5% to total HP and 10% to other stats + // Modifies the passed in stat number holder by +2 per stack for HP, +1 per stack for other stats + // If the Macho Brace is at max stacks (50), adds additional 10% to total HP and 5% to other stats const isHp = stat === Stat.HP; if (isHp) { - statHolder.value += this.stackCount; - if (this.stackCount === this.getMaxHeldItemCount()) { - statHolder.value = Math.floor(statHolder.value * 1.05); - } - } else { statHolder.value += 2 * this.stackCount; if (this.stackCount === this.getMaxHeldItemCount()) { statHolder.value = Math.floor(statHolder.value * 1.1); } + } else { + statHolder.value += this.stackCount; + if (this.stackCount === this.getMaxHeldItemCount()) { + statHolder.value = Math.floor(statHolder.value * 1.05); + } } return true; diff --git a/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts b/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts index e00ce03333c..36a284880c1 100644 --- a/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts +++ b/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts @@ -23,7 +23,7 @@ import i18next from "i18next"; const namespace = "mysteryEncounters/absoluteAvarice"; const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.PLAINS; +const defaultBiome = Biome.TALL_GRASS; const defaultWave = 45; describe("Absolute Avarice - Mystery Encounter", () => { @@ -45,7 +45,7 @@ describe("Absolute Avarice - Mystery Encounter", () => { vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( new Map([ - [Biome.PLAINS, [MysteryEncounterType.ABSOLUTE_AVARICE]], + [Biome.TALL_GRASS, [MysteryEncounterType.ABSOLUTE_AVARICE]], [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]), ); @@ -91,6 +91,7 @@ describe("Absolute Avarice - Mystery Encounter", () => { game.override.startingHeldItems([ { name: "BERRY", count: 2, type: BerryType.SITRUS }, { name: "BERRY", count: 3, type: BerryType.GANLON }, + { name: "BERRY", count: 2, type: BerryType.APICOT }, ]); await game.runToMysteryEncounter(); @@ -102,6 +103,7 @@ describe("Absolute Avarice - Mystery Encounter", () => { game.override.startingHeldItems([ { name: "BERRY", count: 2, type: BerryType.SITRUS }, { name: "BERRY", count: 3, type: BerryType.GANLON }, + { name: "BERRY", count: 2, type: BerryType.APICOT }, ]); await game.runToMysteryEncounter(MysteryEncounterType.ABSOLUTE_AVARICE, defaultParty); @@ -138,7 +140,7 @@ describe("Absolute Avarice - Mystery Encounter", () => { expect(enemyField[0].species.speciesId).toBe(Species.GREEDENT); const moveset = enemyField[0].moveset.map(m => m.moveId); expect(moveset?.length).toBe(4); - expect(moveset).toEqual([Moves.THRASH, Moves.BODY_PRESS, Moves.STUFF_CHEEKS, Moves.CRUNCH]); + expect(moveset).toEqual([Moves.THRASH, Moves.CRUNCH, Moves.BODY_PRESS, Moves.SLACK_OFF]); const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(1); diff --git a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts index fc208ed7180..455a5d28194 100644 --- a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts +++ b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts @@ -118,24 +118,34 @@ const POOL_4_POKEMON = [Species.GENESECT, Species.SLITHER_WING, Species.BUZZWOLE const PHYSICAL_TUTOR_MOVES = [ Moves.MEGAHORN, - Moves.X_SCISSOR, Moves.ATTACK_ORDER, - Moves.PIN_MISSILE, + Moves.BUG_BITE, Moves.FIRST_IMPRESSION, + Moves.LUNGE ]; -const SPECIAL_TUTOR_MOVES = [Moves.SILVER_WIND, Moves.BUG_BUZZ, Moves.SIGNAL_BEAM, Moves.POLLEN_PUFF]; +const SPECIAL_TUTOR_MOVES = [ + Moves.SILVER_WIND, + Moves.SIGNAL_BEAM, + Moves.BUG_BUZZ, + Moves.POLLEN_PUFF, + Moves.STRUGGLE_BUG +]; -const STATUS_TUTOR_MOVES = [Moves.STRING_SHOT, Moves.STICKY_WEB, Moves.SILK_TRAP, Moves.RAGE_POWDER, Moves.HEAL_ORDER]; +const STATUS_TUTOR_MOVES = [ + Moves.STRING_SHOT, + Moves.DEFEND_ORDER, + Moves.RAGE_POWDER, + Moves.STICKY_WEB, + Moves.SILK_TRAP +]; const MISC_TUTOR_MOVES = [ - Moves.BUG_BITE, Moves.LEECH_LIFE, - Moves.DEFEND_ORDER, - Moves.QUIVER_DANCE, - Moves.TAIL_GLOW, - Moves.INFESTATION, Moves.U_TURN, + Moves.HEAL_ORDER, + Moves.QUIVER_DANCE, + Moves.INFESTATION, ]; describe("Bug-Type Superfan - Mystery Encounter", () => { From 3a89b7bb752de892bad13d015f77dd9bd21089d2 Mon Sep 17 00:00:00 2001 From: damocleas Date: Fri, 2 May 2025 17:38:30 -0400 Subject: [PATCH 091/102] [Balance] [Beta] 1.9 Egg Move Followup (#5749) Update egg-moves.ts for Aerodactyl Amaura Diglett --- src/data/balance/egg-moves.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 47898e9e885..289ac60bcc5 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -66,7 +66,7 @@ export const speciesEggMoves = { [Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ], [Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.GIGA_DRAIN, Moves.POWER_GEM, Moves.STEAM_ERUPTION ], [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.CRABHAMMER, Moves.MIGHTY_CLEAVE ], - [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.CLOSE_COMBAT, Moves.STONE_AXE, Moves.SWORDS_DANCE ], + [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.HIGH_HORSEPOWER, Moves.STONE_AXE, Moves.SWORDS_DANCE ], [Species.ARTICUNO]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ], [Species.ZAPDOS]: [ Moves.BLEAKWIND_STORM, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ], [Species.MOLTRES]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ], @@ -360,7 +360,7 @@ export const speciesEggMoves = { [Species.CLAUNCHER]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.ENERGY_BALL, Moves.ORIGIN_PULSE ], [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.BOOMBURST ], [Species.TYRUNT]: [ Moves.DRAGON_HAMMER, Moves.FLARE_BLITZ, Moves.VOLT_TACKLE, Moves.SHIFT_GEAR ], - [Species.AMAURA]: [ Moves.RECOVER, Moves.WRING_OUT, Moves.POWER_GEM, Moves.GEOMANCY ], + [Species.AMAURA]: [ Moves.RECOVER, Moves.TERA_STARSTORM, Moves.POWER_GEM, Moves.GEOMANCY ], [Species.HAWLUCHA]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.FLOATY_FALL, Moves.WICKED_BLOW ], [Species.DEDENNE]: [ Moves.BOOMBURST, Moves.FAKE_OUT, Moves.NASTY_PLOT, Moves.REVIVAL_BLESSING ], [Species.CARBINK]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SPARKLY_SWIRL, Moves.DIAMOND_STORM ], @@ -436,7 +436,7 @@ export const speciesEggMoves = { [Species.ALOLA_RATTATA]: [ Moves.FALSE_SURRENDER, Moves.PSYCHIC_FANGS, Moves.COIL, Moves.EXTREME_SPEED ], [Species.ALOLA_SANDSHREW]: [ Moves.SPIKY_SHIELD, Moves.LIQUIDATION, Moves.SHIFT_GEAR, Moves.GLACIAL_LANCE ], [Species.ALOLA_VULPIX]: [ Moves.MOONBLAST, Moves.GLARE, Moves.MYSTICAL_FIRE, Moves.REVIVAL_BLESSING ], - [Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.MOUNTAIN_GALE ], + [Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.PYRO_BALL ], [Species.ALOLA_MEOWTH]: [ Moves.BADDY_BAD, Moves.BUZZY_BUZZ, Moves.PARTING_SHOT, Moves.MAKE_IT_RAIN ], [Species.ALOLA_GEODUDE]: [ Moves.THOUSAND_WAVES, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ], [Species.ALOLA_GRIMER]: [ Moves.SUCKER_PUNCH, Moves.BARB_BARRAGE, Moves.RECOVER, Moves.SURGING_STRIKES ], From 75d01adf9abb0385cdff1427987ad15e2eeb97da Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Fri, 2 May 2025 20:05:48 -0500 Subject: [PATCH 092/102] [Bug] Disable Illusion in Fusions (#5752) Update ability.ts --- src/data/abilities/ability.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 1cb19e57533..705de6f242d 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -6907,6 +6907,8 @@ export function initAbilities() { .attr(IllusionBreakAbAttr) // The Pokemon loses its illusion when damaged by a move .attr(PostDefendIllusionBreakAbAttr, true) + // Disable Illusion in fusions + .attr(NoFusionAbilityAbAttr) // Illusion is available again after a battle .conditionalAttr((pokemon) => pokemon.isAllowedInBattle(), IllusionPostBattleAbAttr, false) .uncopiable() From bf0abd3ddcc85d1273d2a7d766f59043a3e1dfdf Mon Sep 17 00:00:00 2001 From: damocleas Date: Fri, 2 May 2025 21:32:59 -0400 Subject: [PATCH 093/102] [Move] [Beta] Undo Order Up Sheer Force change (#5750) Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/data/moves/move.ts | 5 +++-- test/moves/order_up.test.ts | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 81ae499da10..d09613123bb 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -3482,7 +3482,8 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr { /** * Attribute implementing the stat boosting effect of {@link https://bulbapedia.bulbagarden.net/wiki/Order_Up_(move) | Order Up}. * If the user has a Pokemon with {@link https://bulbapedia.bulbagarden.net/wiki/Commander_(Ability) | Commander} in their mouth, - * one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. + * one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. This effect does not respect + * effect chance, but Order Up itself may be boosted by Sheer Force. */ export class OrderUpStatBoostAttr extends MoveEffectAttr { constructor() { @@ -11024,7 +11025,7 @@ export function initMoves() { .makesContact(false), new AttackMove(Moves.LUMINA_CRASH, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2), - new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 9) + new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) .attr(OrderUpStatBoostAttr) .makesContact(false), new AttackMove(Moves.JET_PUNCH, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9) diff --git a/test/moves/order_up.test.ts b/test/moves/order_up.test.ts index 701d0489c25..b5df5bfba41 100644 --- a/test/moves/order_up.test.ts +++ b/test/moves/order_up.test.ts @@ -65,4 +65,23 @@ describe("Moves - Order Up", () => { affectedStats.forEach(st => expect(dondozo.getStatStage(st)).toBe(st === stat ? 3 : 2)); }, ); + + it("should be boosted by Sheer Force while still applying a stat boost", async () => { + game.override.passiveAbility(Abilities.SHEER_FORCE).starterForms({ [Species.TATSUGIRI]: 0 }); + + await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + + const [tatsugiri, dondozo] = game.scene.getPlayerField(); + + expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); + expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); + + game.move.select(Moves.ORDER_UP, 1, BattlerIndex.ENEMY); + expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); + + await game.phaseInterceptor.to("BerryPhase", false); + + expect(dondozo.waveData.abilitiesApplied.has(Abilities.SHEER_FORCE)).toBeTruthy(); + expect(dondozo.getStatStage(Stat.ATK)).toBe(3); + }); }); From cdeb14364377fa140c6e3e397f760a885533423c Mon Sep 17 00:00:00 2001 From: damocleas Date: Fri, 2 May 2025 21:41:11 -0400 Subject: [PATCH 094/102] Version 1.8.5 -> 1.9.0 * Update package.json * Update package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07fed79969e..f9280ad594b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pokemon-rogue-battle", - "version": "1.8.4", + "version": "1.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pokemon-rogue-battle", - "version": "1.8.4", + "version": "1.9.0", "hasInstallScript": true, "dependencies": { "@material/material-color-utilities": "^0.2.7", diff --git a/package.json b/package.json index 938d362f263..b9ccb324969 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "pokemon-rogue-battle", "private": true, - "version": "1.8.5", + "version": "1.9.0", "type": "module", "scripts": { "start": "vite", From 5fc379c405279c8f77a8b5c14ca4501a9c1fad0d Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Fri, 2 May 2025 20:43:13 -0500 Subject: [PATCH 095/102] [i18n] Update locales --- public/locales | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales b/public/locales index 833dc40ec74..a7036a07875 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 833dc40ec7409031fcea147ccbc45ec9c0ba0213 +Subproject commit a7036a07875615674ea898d0fe3b182a1080af38 From a8382d71fc8be5c0abeb53a2c2a636d1d2f89d24 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Fri, 2 May 2025 20:45:35 -0500 Subject: [PATCH 096/102] Remove Mudbray from spring event At the request of Damocleas --- src/timed-event-manager.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 3f5e0393ff7..951d98aefec 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -340,7 +340,6 @@ const timedEvents: TimedEvent[] = [ { species: Species.DEERLING, formIndex: 0 }, // Spring Deerling { species: Species.CLAUNCHER }, { species: Species.WISHIWASHI }, - { species: Species.MUDBRAY }, { species: Species.DRAMPA }, { species: Species.JANGMO_O }, { species: Species.APPLIN }, @@ -351,7 +350,7 @@ const timedEvents: TimedEvent[] = [ { wave: 8, type: "CATCHING_CHARM" }, { wave: 25, type: "SHINY_CHARM" }, ], - } + }, ]; export class TimedEventManager { From 3cb3fd15ec9420e248d766afae90e66123002e29 Mon Sep 17 00:00:00 2001 From: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Date: Fri, 2 May 2025 20:50:23 -0500 Subject: [PATCH 097/102] [Sprite] Add missing variant icons, fix misnamed variant icons (#5751) Add missing variant icons, fix misnamed variant icons --- .../images/pokemon/icons/variant/4/417_2.png | Bin 0 -> 744 bytes .../images/pokemon/icons/variant/4/417_3.png | Bin 0 -> 747 bytes .../pokemon/icons/variant/7/746-school_1.png | Bin 747 -> 0 bytes .../pokemon/icons/variant/7/746-school_3.png | Bin 0 -> 747 bytes .../images/pokemon/icons/variant/7/746_1.png | Bin 492 -> 0 bytes .../images/pokemon/icons/variant/7/746_2.png | Bin 489 -> 492 bytes .../images/pokemon/icons/variant/7/746_3.png | Bin 0 -> 489 bytes .../images/pokemon/icons/variant/8/840_2.png | Bin 0 -> 269 bytes .../images/pokemon/icons/variant/8/840_3.png | Bin 0 -> 281 bytes .../icons/variant/8/841-gigantamax_2.png | Bin 0 -> 406 bytes .../icons/variant/8/841-gigantamax_3.png | Bin 0 -> 408 bytes .../images/pokemon/icons/variant/8/841_2.png | Bin 0 -> 397 bytes .../images/pokemon/icons/variant/8/841_3.png | Bin 0 -> 408 bytes .../icons/variant/8/842-gigantamax_2.png | Bin 0 -> 406 bytes .../icons/variant/8/842-gigantamax_3.png | Bin 0 -> 408 bytes .../images/pokemon/icons/variant/8/842_2.png | Bin 0 -> 388 bytes .../images/pokemon/icons/variant/8/842_3.png | Bin 0 -> 388 bytes .../images/pokemon/icons/variant/8/871_1.png | Bin 471 -> 0 bytes .../images/pokemon/icons/variant/8/871_2.png | Bin 474 -> 543 bytes .../images/pokemon/icons/variant/8/871_3.png | Bin 0 -> 538 bytes .../images/pokemon/icons/variant/9/1011_2.png | Bin 0 -> 344 bytes .../images/pokemon/icons/variant/9/1011_3.png | Bin 0 -> 344 bytes .../images/pokemon/icons/variant/9/1019_2.png | Bin 0 -> 492 bytes .../images/pokemon/icons/variant/9/1019_3.png | Bin 0 -> 492 bytes public/images/pokemon_icons_4v.json | 508 +++---- public/images/pokemon_icons_4v.png | Bin 46415 -> 46932 bytes public/images/pokemon_icons_7v.json | 10 +- public/images/pokemon_icons_8v.json | 1190 ++++++++++------- public/images/pokemon_icons_8v.png | Bin 46699 -> 48634 bytes public/images/pokemon_icons_9v.json | 112 +- public/images/pokemon_icons_9v.png | Bin 35071 -> 36066 bytes 31 files changed, 1078 insertions(+), 742 deletions(-) create mode 100644 public/images/pokemon/icons/variant/4/417_2.png create mode 100644 public/images/pokemon/icons/variant/4/417_3.png delete mode 100644 public/images/pokemon/icons/variant/7/746-school_1.png create mode 100644 public/images/pokemon/icons/variant/7/746-school_3.png delete mode 100644 public/images/pokemon/icons/variant/7/746_1.png create mode 100644 public/images/pokemon/icons/variant/7/746_3.png create mode 100644 public/images/pokemon/icons/variant/8/840_2.png create mode 100644 public/images/pokemon/icons/variant/8/840_3.png create mode 100644 public/images/pokemon/icons/variant/8/841-gigantamax_2.png create mode 100644 public/images/pokemon/icons/variant/8/841-gigantamax_3.png create mode 100644 public/images/pokemon/icons/variant/8/841_2.png create mode 100644 public/images/pokemon/icons/variant/8/841_3.png create mode 100644 public/images/pokemon/icons/variant/8/842-gigantamax_2.png create mode 100644 public/images/pokemon/icons/variant/8/842-gigantamax_3.png create mode 100644 public/images/pokemon/icons/variant/8/842_2.png create mode 100644 public/images/pokemon/icons/variant/8/842_3.png delete mode 100644 public/images/pokemon/icons/variant/8/871_1.png create mode 100644 public/images/pokemon/icons/variant/8/871_3.png create mode 100644 public/images/pokemon/icons/variant/9/1011_2.png create mode 100644 public/images/pokemon/icons/variant/9/1011_3.png create mode 100644 public/images/pokemon/icons/variant/9/1019_2.png create mode 100644 public/images/pokemon/icons/variant/9/1019_3.png diff --git a/public/images/pokemon/icons/variant/4/417_2.png b/public/images/pokemon/icons/variant/4/417_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bd9e52bb009dc5a468fcecec531bbb39ebf5ca GIT binary patch literal 744 zcmVP)X00001b5ch_0Itp) z=>Px%p-DtRR9Hvtl}|_%aTLejUKTMaOlZLr7om(URtD)IWjDQak|GcZB!i-`Kq*3! z4kAbd?jcD`(Tjwq=+vb(Q3AUx_6MR2++7OELy@8>dztt?c*D=xb!T?xH?jxcW#%`( zncw^TzVCg1@K_tI% z?7*%`FyDMAMUAH_84N%b7+N6((* zvTa2^Gr(5(SDJzVjIQ~4-m`x(RE)>tG=8R)6Lmz}O+f*-o&3w=ho4?@dDZ^QW{6A& zWzHp*Ma0ReSHKUpU%1D0VsL?IO_;^X@^_&2ldXc&X00001b5ch_0Itp) z=>Px%qe(K^^$!(a_^?;j?^-)OgB`1)( z1}Lgo0nx_?q=VfRKott=!7g=A(7%a~WT&PlfOa`0fPk8N-e3ZvJ-fP0;o33(6om80 zbW>U<7+&JQ+JQg4Tz1Sq*x9qFOdC%@CZ3wp|0^BoZC z^}UF3K1rfWNXzvhx)y1rf#yOJ?&U&^zJ5EweSn`jzU5Dd0dXhV!p;N$YQUrr0N53+ zG1XJygcy*+Em3cC5O7BuZ&K+QZAbWeMmE{600U5R5AS8%8tV_?0dD~f!!WeV^%S~$ zm0_%o<=wmRYZFjaZ~oO3Gh+S9=LG#6AN39p>K#5*L4n70JA{DKqVr{}su-NFjK60{ z`3RXOb27nUPS#ZnKvbq`09kz2Pl2-QN#LTQ0HR;oc#)Ue!MOqil&aRJr<1gC>;Q-D z?5%bNc=O~@l7av{LTfzk+g%J52nN~F#{Ju-pnzNY{g?ZbRka*mHUBadM5==_ z>k!K(Qps_HKL_I5{RBNtqSeLVc5@JB2a;+xE z3Bn3kH(&zmNX00001b5ch_0Itp) z=>Px%q)9|UR9Hvtmpw=vK@`WIg#!uL03UmKc4EYDahHX0|>Z={41IWr^i*@Rlus=K`JcB zp^i@xTQ@s_!={r0#3I9u9@^ReEd&G{41ltkx$mz6ayel@83wQnI=^^G1>P)r_w7>r z1fU#qaP8-S0U^P=@1sOcET6#v&Ai!fHGw3TF!_tEa-<&FrG?p#$m< zObNJ|=0?N)0Q?mR7#Z!Pa3`do>R#2&DwvwlEus6Ax$@n%tHgtIq@a8du$qY9aW)V9 zDK^Rw`m7j9d^dM0F_Jgr7!=1i~wmGhI zP#>FX00001b5ch_0Itp) z=>Px%qe(r>DCjv=C+l9Tde&q8mhz!h&>=iVk5ck%EYl zHw7<>3f@AB4pLztf(PrCL=ae#V6vzYZ6dn5;6=2ImEt?_d&~~A``+xng@yWE-rITa z&3xwj`!`!e1#U$J&PV?NbM?@_rC=}^{1c1CJl(V>lK~8_Tw8iU7wc}5mykIF0uEpc z&xdI&{*1m&*B2h(`SwpV-@765!Bjz3Kb`8HDahGs0th%OaZCy8bXwIt1#GKoCCh(? z-u?7By4ejJHk}h77HKL@QX+mR1OyxmfU@b_msdb8Ck!aV0G2_cnQb%w`PFzd=SVq5kKQ>?i#pa zmm&1$OqrTBAUum7HyOD;30hdhQWml~*tI*IS(la48BysXaX&dyEx-ZDtqtSoHf#)Qa^i6WWEI~|bX00001b5ch_0Itp) z=>Px$q)9|UR9Hu2WEkXtage)@Vbp z90zh32!O=yU3tc^pzjnzLXjC*%)9hFZKD|7f$JBZWZ0IG33e3Bksulb<}~dF)4j)k zf$6Q?hO~7cw$KAPuyHmw18b8p*nu!dfgGeFC%}-o@)bP9Xr7C)IS>?uYiF1$bq0}x_I_6*esBPKmZhq`o^*h`_^3rJ8s{hrwpr~ zvl5-wa5+ppvSq_9b5|-#;4y{`825i^#aIt|6 zL1Z7J*B&5#sN`=3Cp&41(;vtlvO^GGw7?uapixXtjwDA9O+t_yhfp;aQ_}&2%o+_r iLLo#*e$a;?0Bl;k9}>C!fdBvi07*qoM6N<$f&c)`_Q>7< diff --git a/public/images/pokemon/icons/variant/7/746_2.png b/public/images/pokemon/icons/variant/7/746_2.png index 8746a45310dff6fa78aeabb7f9eba9d407c64907..d4897e0acf3481796b389f02aff5ecfc067ee1e4 100644 GIT binary patch delta 453 zcmV;$0XqKa1MCBkF@K~q>BS#4g-Y<44Cd?hqDd5wZZHQTdy*F>0ZZBY=6ndkW%MLlH)-7$qGT_ z&_H(FX{VnIAV-262XYt)fW+=ydB(7y?-WBqkr`ObyYxJ5qZr+R>ldD6*p`tAb`;E! zAQ}YbH0=h{y~lrn>8;&{v~?i1&;vQJaW*#tYm+h9fiOpb9Hb&Az>vA}6+Fafo{O$bq0}x_I_6*esBPKmZhq`o^*h z`_^3rJ8s{hrwpr~vl5-wa5+ppvSq_9b5|-#; z4y{`825i^#aIt|6L1Z7J*B&5#sN`=3Cp&41(;vtlvOYr)U$np+J)lucPL3o;4^2Xl v9EVUf7gN&#gv=TZK|&!!NPf_VAOLJyydM&|{eb`g002ovPDHLkV1fVufD*&M delta 450 zcmV;z0X_cg1L*^hF@K>+L_t(oN9~n8OT$1I$DgXSs6(L;unrO(M1qST2ri;upx~(B z2_eMha@W`nd6v6e?k>Olp68Mr zjdJYH5MFPZ=8xkz(xoLmQGW&$59fJN5V*g;P@>xX z3&}!i0|ue)ZjSx;SX$ln`+#9M4E_rsgTV;LPIcSw&sv+J-?A@gYp+Iz_fD0yaw0ga zS27s15rjLb)(Mb+0~i8hP4}7X$1k$x#>Lp>>qNRK4g+2_9;n_t7f=j|7IAj%iq8(L!$n$OnHPWnLj>Vu zz69YpiE9vmNR!v@ioF1YfJI|wTGSfgZhHoel|Q6w?JxMmfY^v3MQyda0*nKITywJD zx_)Mr02z{to s0U78i9wb2AUYWr-Lvi;<-rz5>_qZQfp|`C70000b%7 diff --git a/public/images/pokemon/icons/variant/7/746_3.png b/public/images/pokemon/icons/variant/7/746_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8746a45310dff6fa78aeabb7f9eba9d407c64907 GIT binary patch literal 489 zcmVX00001b5ch_0Itp) z=>Px$p-DtRR9Hvtl|4(tKp4lLsp%AbR5*iy#OtqF*baG?yIk%rzxy&?8h&%=ElX?8(L!$n$OnHPWnLj>Vuz69YpiE9vmNR!v@ zioF1YfJI|wTGSfgZhHoel|Q6w?JxMmfY^v3MQyda0*nKITywJDx_)Mr02z{toEW<^Neqn@eUffF79Is7F- ze!&d?QNYvQdCP!O^`0({Ar`%FFGX{;8t|}O@XMQ&jMD#C&*-Z6C?T=rt=YW1H__01clnfXhuev$$@ Og~8L+&t;ucLK6VTn08M9 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/841-gigantamax_2.png b/public/images/pokemon/icons/variant/8/841-gigantamax_2.png new file mode 100644 index 0000000000000000000000000000000000000000..aaed8081eec8fbcf46ce52506260a34c6bf3952f GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ats1|LR=LU z6+f&9`hT~6_4P;p|Nk#obky0&aq-RzZE5SOYUbT}{S&D0u*;-3^=q_)@+~VGSobEG z0fhugg8YJk>S2HZ#9((Vl>o~9@N{tuvFPo+%*c0GfrItJ{D=ap1HbQ=J=nG6)=Rfp zYFEX(x+=~!{yTL2VWL9~$EwdqWYt=JGj};%{wUn!5_$QouYgCVhf4;(qGprQw*B8~ zZfSn@J@?^k(X+ov2Lvsj&zJ5y-rT)=W^JR!Px%-3PwbqsdycV^k=XR&sgG9$RrD z63nsGXsX5TsFNAD6_l>}Eh^r9`B&vtzi%HzqDq-&e{tWMdRen((b?+4tWquCtUn%J zb$70%Pf1(7t$%NjRbPopwac{&)|(<{=I_`(Q&F&3Y07iSw|X;_H+d)LvA*5X%JsXb wNKgC5ujA)uc}HITvGtnxX*28Pvh8sv@9G{{GkwkpU??zny85}Sb4q9e0Em#d#sB~S literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/841_2.png b/public/images/pokemon/icons/variant/8/841_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a57120993711dd93b8df0bf9510e24cca7d5d7 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ats1|LR>+# zfkDBdqkUELf`Wpg)nZp)f7E1Gw`=GU@FKT6fZ0;PlR#OMCc2SX3%on3QI^tSz_}_4wBtpKr3BTCbAar*bUY z_1~9uwWW$^`{f9^U(!-*O;%kJ=xdBoi=KXo>#LZmQ-t#})o;<|?5Ql5oSq%OT+Q~F$n{@2+I#U&(Y4nV_L7C2 zf-HR>>-3l_Gvk<_y0+dA+f#gMjy~T<_LL{S^S29Ir0%SEZtj fQ;a`f{K~3vmW_3f{$*RB*BLxr{an^LB{Ts5QqHg# literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/841_3.png b/public/images/pokemon/icons/variant/8/841_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5eaf8ea1c57373c09cf96eaa49e8e25e40e048ed GIT binary patch literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a?ApJLR^8g zfq}vPt*amPObrSO%2$xMbMs=iv(d4Rq!l4~_x`_p_x9E1jn|&t`Pooj095Q|em`a9 z|EX`ymjF3JB|(0{4FAzV+`%?GpzJ447sn8b-m{kj^A9WVuso2FIie@h`~QD>`sEd~ z&9E%Mk^xOYVGU@G_vhJj}!0DMamv*ol$xO0wY7A29oRhfb+NrNMB5szm ztUS>ztNYL=<^No+G*b^QKJ|S%U(`dgR?V5rRbG-}bi-=tEQ|a&!Pc9p5gYH$vh=A^ zxSCpHv$pcV@s#6DJm2p=(ASCkSl2EdC+*%?rss6)*k0`r!DDN~1sB?GH~Dhh|HYqU zE6OZi=hxdy)^*CUeEV0YCmU({`oO0}52x!oB}zU%s#w?jWl!SgGA8%Pb#wc6oivKd qdi!N^18@6A?fVjoX8yeVl~Xg1E#see$3dX)89ZJ6T-G@yGywnzqr4da literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/842-gigantamax_2.png b/public/images/pokemon/icons/variant/8/842-gigantamax_2.png new file mode 100644 index 0000000000000000000000000000000000000000..aaed8081eec8fbcf46ce52506260a34c6bf3952f GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ats1|LR=LU z6+f&9`hT~6_4P;p|Nk#obky0&aq-RzZE5SOYUbT}{S&D0u*;-3^=q_)@+~VGSobEG z0fhugg8YJk>S2HZ#9((Vl>o~9@N{tuvFPo+%*c0GfrItJ{D=ap1HbQ=J=nG6)=Rfp zYFEX(x+=~!{yTL2VWL9~$EwdqWYt=JGj};%{wUn!5_$QouYgCVhf4;(qGprQw*B8~ zZfSn@J@?^k(X+ov2Lvsj&zJ5y-rT)=W^JR!Px%-3PwbqsdycV^k=XR&sgG9$RrD z63nsGXsX5TsFNAD6_l>}Eh^r9`B&vtzi%HzqDq-&e{tWMdRen((b?+4tWquCtUn%J zb$70%Pf1(7t$%NjRbPopwac{&)|(<{=I_`(Q&F&3Y07iSw|X;_H+d)LvA*5X%JsXb wNKgC5ujA)uc}HITvGtnxX*28Pvh8sv@9G{{GkwkpU??zny85}Sb4q9e0Em#d#sB~S literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/842_2.png b/public/images/pokemon/icons/variant/8/842_2.png new file mode 100644 index 0000000000000000000000000000000000000000..87de609f819c7459d0826780608ea18257222500 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ats1|LR>+# zfx+tQk7g~{91swo9h7fb(U94@MNcyL@87=#i;h;+%mb=PFPPJ+ns6^4$Ja^u-ec7jV%l5w35xBrIFLKYt zT#kd6FQf#ghCC15-l@F%{gnM#Uk+}3zxHX>X%C6|)PrGXANxqFUrN2$D#CNfQLaD1 zao+lb(CZRbcAjEBO=;mrG8~+?O*ziIQ+2|wK7Ku=69M+}_od!H(5x3S;QSr7mqGp_ W`_c3z=lFm=X7F_Nb6Mw<&;$S>x2*vH literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/842_3.png b/public/images/pokemon/icons/variant/8/842_3.png new file mode 100644 index 0000000000000000000000000000000000000000..15dfe7ea02caed0cd7141dfa16e160c9dc43581b GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ats1|LR>+# zfx(@d7a#RZ4G0LhxT5aegFVUa*4~QJfB*j7zjgJBkUXH8Ma{Kt=J!)p{@)_glndkw zlmz(&GyF#d2LigCfpX70T^vI!dXHYd-F4W2hvh=w;%@1S&;I}4rrf%TJ3IaF6)qVj zOG(b-JMY>B9MH;%c$_iCLagW_%kkn=h7%vBv|ck1Ec~7BwJGlDwe=~RcCVTl>#bs( zF1lqU%i=q$H^;j^O1XFToM!q&1N{k`s?I9~MxG13@Z5RR_GO>eE!+EAN8kd>yvRKl zb2$!PzK{}}8uC1Jd#Cd5_fz&~eL1-C{o1Ehr#&R_^j=oZ|!fn8DN4&t;ucLK6VjU#?34 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/871_1.png b/public/images/pokemon/icons/variant/8/871_1.png deleted file mode 100644 index ff77c60cea26e2f99e50106a57e30a4f09db0c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P)Px$k4Z#9R9Hvtn6XL&K@f%~*yuZ0MvS1C6CcFJ&Q7cp!RN3Ljg_L6osEUyONgWp zOwh*=w2S;J|FK!lOIY14m}nKiTa_ff74m{~LXYry7gt|XY*TxNd&t-RDM3Vze+00000 NNkvXXu0mjf0040z(OUoj diff --git a/public/images/pokemon/icons/variant/8/871_2.png b/public/images/pokemon/icons/variant/8/871_2.png index bfefb010219cef18084f42ec879cf851b55310ef..719ee1eb3a9c114f9994b82a6f5503c5519aa5bf 100644 GIT binary patch literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`B?5dxT#Yo<&sG{Fwboe0hA+^GI1&-@@x=?EWa%#<10cmw666>B9|9Qe zHSdiCig6ZrL>4nJ@ErzW#^d=bQb2~4xJHx&=ckpFCl;kL1SDqWmFW4ohA5co8S0t+ zxp;g%P|dc~2+uT6Pb~%xAcvJfijkFp5ynupK>$cc0dZzK z3s^i0$OeG~AO`7&(P)-30K;JdI|B<)g@KW=0pkLQsURJ!3m_&<0kT1W31|)zSY?o< z1&{^RWoQ5j0)|5z_1CVdM)?An(>z@qLoEECPI$=IV!+WXIHUT%`MznD^A~ZPP2WO73E;Gsz&EPzKq3$6z^jd&J9OGHa6*= zJ@0pgjrFSHWY-6dS?}hab07+cG5;)Y=ZoDt vgTe~DWM4f%fOs7 literal 474 zcmV<00VV#4P)Px$lu1NER9Hvtn6XL&K@f%~ub_wsT4-ZuA&QMppa_DUq!4TrG;iQ@M64`=g`lOi zg^ef{b~ail1RGyL`B(n1SwI zSikF=bT>hTpP zA;MNn{1`MFV_7Tosj!tV}##9h-fwE6v2dzHk0Xpp1vF{W&1TUJ~RN{2vS$q`aBk zfI^%F9+AZi419+{nDKc2iWH!rM2TxeNpOBzNqJ&XDnmeGW?qS&pKFMMsh**p*`JHY z*8|mTOO5bM^YqkW-~e)18Kf9l85n^qFCdnNvcW!JWCn{f0mTg&nHU6sbQBP0wzGi6 zvw&<6NC0Axei)5rDFZMJCa^QG096!MXrq(i9*Y1ek#4Fo9JDSy}*D zP+f)w1|Zo(9QD_(sz&(&nNvMo978PppH2wmJ8Zz=tl4ts|B0=VLENVodHue%#V|?KQhe^4TJDnSjgnVSVJ?sA5 z6{@UX6}w#@xMsbL^;Mc8`Tt)~rGJ~z=GaFCPUo(AEp6s2wCLN#-u~O*z>D2G6rKHabV59X-r21&f$teO5DEak-(R=msX`#ak9IO{s&*)hH@BeeQH_NgVxP4QEKK4I{5^>bP0l+XkKCV-aC literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/1011_3.png b/public/images/pokemon/icons/variant/9/1011_3.png new file mode 100644 index 0000000000000000000000000000000000000000..fa5e3e351352fb3cd797346f71424ca2de5436ae GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a&!ZHLR=LU z6(99XOm);q}g#sB~RSA^t!et+-rrKNMie8MFpF0QECGG_)*$7LPAA3%z~ zB*-rqs0;}(T)8u2Ay8_cr;B5VMeo(ir-cqHaIjujJ)>j&zyHtK-YoO-i7g3E+tiu9 zyL)z4*}Q$iB}yr-CI literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/1019_2.png b/public/images/pokemon/icons/variant/9/1019_2.png new file mode 100644 index 0000000000000000000000000000000000000000..671ae3f6552063d6c01a178f386541da435830f9 GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ax4RULR=LU z6+PT@f`WpygYx~R&8w=JH*3M>JFkB}-t@6OXwl-G7ykeMZ!O|jHgT(`tQSyf$C>+S zM(IG^yY?;Q1yaH#L4LtNHE4igQ|%oNpnXoBE{-7NQ9b$7B+i{=;0>=nh0!80Vj2b8p5X6Xz(E>Nww-X;C7#N&d#2R&=9 z%)B6`sTX@lcv^t;jZc~HqgEJ)Z?xFiD79sZ)}-kt8jtRN{Y>U)!K8+Q#oh-W=^8W~ z|5(JElUmEX{g=|_?|;tgwygUz^~kMIea&o-@0%3E%Xq9pmhWv-ogcf}Dr)+UW$y*2 zJgK#M;-zk0;OwQTzS!qPpT?8gcY(~G)s0U~-rn}yvo!L;LEiaF#oIX5A}h?Meg3;s z=f9q1cz)l_y7wWEEspc&S{YwkYGxpx82YqjHtY7DpW>Mn8t1GJT$)&Vzu{lQyTaN% ae;EZFY`D7i_s#+aHiM_DpUXO@geCwj!{dYi literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/1019_3.png b/public/images/pokemon/icons/variant/9/1019_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0569b3e84b6409b1ce3ca680941d35125f428257 GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4ax4RULR=LU z6$7=kgMxzg&nS3zf5-BmoR2-z9^JY2c+sCX+$AjE#&Gqvg4tkdgT@=_d z`NuA%`Namucbwwlx;xpZMe~bg_KM=h;29F%14`O2vvdX?7pPWT?~?vk;&DOWgPt{4 zW?m4})QdeNJS{-_#;45pQ7eqYH(Km$l-e>yYtr-+jYoICekOCYU{XWDV(){GbPXDg ze=Oq7Nv&nx{!3}|_dn-#Th{%VdgNB9zGk+^_f3l7Wjt0P%lEda&W~Mf6*YawviE{h zp43`B@lrQ0aQ4zvU+ic%G~Z*P0t&FcNH8YS;41L-%n{|87Pw~tOjdRuqE=?@G-|(;DU19B> azl;J7He6l%duIUyo59o7&t;ucLK6UNjpQ!? literal 0 HcmV?d00001 diff --git a/public/images/pokemon_icons_4v.json b/public/images/pokemon_icons_4v.json index bbaca92c7c7..ffc36e945c4 100644 --- a/public/images/pokemon_icons_4v.json +++ b/public/images/pokemon_icons_4v.json @@ -1312,7 +1312,7 @@ } }, { - "filename": "418_2", + "filename": "417_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -1332,6 +1332,48 @@ "h": 30 } }, + { + "filename": "417_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "418_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 120, + "w": 40, + "h": 30 + } + }, { "filename": "418_3", "rotated": false, @@ -1347,8 +1389,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 0, + "y": 150, "w": 40, "h": 30 } @@ -1368,8 +1410,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 40, + "y": 150, "w": 40, "h": 30 } @@ -1389,7 +1431,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 150, "w": 40, "h": 30 @@ -1410,7 +1452,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 150, "w": 40, "h": 30 @@ -1431,7 +1473,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1452,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1536,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1557,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 150, "w": 40, "h": 30 @@ -1536,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1557,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1578,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 150, "w": 40, "h": 30 @@ -1599,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 150, "w": 40, "h": 30 @@ -1620,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1641,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1662,7 +1704,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 180, "w": 40, "h": 30 @@ -1683,7 +1725,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 180, "w": 40, "h": 30 @@ -1704,7 +1746,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1725,7 +1767,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1746,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1788,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1809,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1830,7 +1872,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1851,7 +1893,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 180, "w": 40, "h": 30 @@ -1872,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 180, "w": 40, "h": 30 @@ -1893,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1914,8 +1956,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1935,7 +1977,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 210, "w": 40, "h": 30 @@ -1956,7 +1998,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 210, "w": 40, "h": 30 @@ -1977,7 +2019,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 210, "w": 40, "h": 30 @@ -1998,7 +2040,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 210, "w": 40, "h": 30 @@ -2019,7 +2061,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 210, "w": 40, "h": 30 @@ -2040,7 +2082,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 210, "w": 40, "h": 30 @@ -2061,7 +2103,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -2082,7 +2124,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -2103,7 +2145,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -2124,7 +2166,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -2145,7 +2187,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 210, "w": 40, "h": 30 @@ -2166,8 +2208,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -2187,8 +2229,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -2208,7 +2250,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 240, "w": 40, "h": 30 @@ -2229,7 +2271,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 240, "w": 40, "h": 30 @@ -2250,7 +2292,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2313,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 240, "w": 40, "h": 30 @@ -2292,7 +2334,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 240, "w": 40, "h": 30 @@ -2313,7 +2355,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 240, "w": 40, "h": 30 @@ -2334,7 +2376,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 240, "w": 40, "h": 30 @@ -2355,7 +2397,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 240, "w": 40, "h": 30 @@ -2376,7 +2418,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2397,7 +2439,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 240, "w": 40, "h": 30 @@ -2418,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 240, "w": 40, "h": 30 @@ -2439,8 +2481,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2460,8 +2502,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2481,7 +2523,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 270, "w": 40, "h": 30 @@ -2502,7 +2544,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 270, "w": 40, "h": 30 @@ -2523,7 +2565,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 270, "w": 40, "h": 30 @@ -2544,7 +2586,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 270, "w": 40, "h": 30 @@ -2565,7 +2607,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 270, "w": 40, "h": 30 @@ -2586,7 +2628,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 270, "w": 40, "h": 30 @@ -2607,7 +2649,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 270, "w": 40, "h": 30 @@ -2628,7 +2670,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 270, "w": 40, "h": 30 @@ -2649,7 +2691,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2670,7 +2712,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2691,7 +2733,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2712,8 +2754,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2754,7 +2796,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 300, "w": 40, "h": 30 @@ -2775,7 +2817,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 300, "w": 40, "h": 30 @@ -2796,7 +2838,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 300, "w": 40, "h": 30 @@ -2817,7 +2859,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 300, "w": 40, "h": 30 @@ -2838,7 +2880,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 300, "w": 40, "h": 30 @@ -2859,7 +2901,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 300, "w": 40, "h": 30 @@ -2880,7 +2922,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 300, "w": 40, "h": 30 @@ -2901,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 300, "w": 40, "h": 30 @@ -2922,7 +2964,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 300, "w": 40, "h": 30 @@ -2943,7 +2985,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 300, "w": 40, "h": 30 @@ -2964,7 +3006,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 300, "w": 40, "h": 30 @@ -2985,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -3027,7 +3069,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 330, "w": 40, "h": 30 @@ -3048,7 +3090,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 330, "w": 40, "h": 30 @@ -3069,7 +3111,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 330, "w": 40, "h": 30 @@ -3090,7 +3132,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 330, "w": 40, "h": 30 @@ -3111,7 +3153,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 330, "w": 40, "h": 30 @@ -3132,7 +3174,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -3153,7 +3195,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 330, "w": 40, "h": 30 @@ -3174,7 +3216,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 330, "w": 40, "h": 30 @@ -3195,7 +3237,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 330, "w": 40, "h": 30 @@ -3216,7 +3258,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 330, "w": 40, "h": 30 @@ -3237,7 +3279,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3258,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3300,7 +3342,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 360, "w": 40, "h": 30 @@ -3321,7 +3363,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 360, "w": 40, "h": 30 @@ -3342,7 +3384,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 360, "w": 40, "h": 30 @@ -3363,7 +3405,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 360, "w": 40, "h": 30 @@ -3384,7 +3426,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 360, "w": 40, "h": 30 @@ -3405,7 +3447,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 360, "w": 40, "h": 30 @@ -3426,7 +3468,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 360, "w": 40, "h": 30 @@ -3447,7 +3489,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 360, "w": 40, "h": 30 @@ -3468,7 +3510,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3489,7 +3531,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3510,7 +3552,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3531,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3573,7 +3615,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 390, "w": 40, "h": 30 @@ -3594,7 +3636,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 390, "w": 40, "h": 30 @@ -3615,7 +3657,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 390, "w": 40, "h": 30 @@ -3636,7 +3678,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 390, "w": 40, "h": 30 @@ -3657,7 +3699,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 390, "w": 40, "h": 30 @@ -3678,7 +3720,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 390, "w": 40, "h": 30 @@ -3699,7 +3741,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 390, "w": 40, "h": 30 @@ -3720,7 +3762,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 390, "w": 40, "h": 30 @@ -3741,7 +3783,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3762,7 +3804,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3783,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3804,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3825,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3846,7 +3888,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 420, "w": 40, "h": 30 @@ -3867,7 +3909,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 420, "w": 40, "h": 30 @@ -3888,7 +3930,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 420, "w": 40, "h": 30 @@ -3909,7 +3951,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 420, "w": 40, "h": 30 @@ -3930,7 +3972,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 420, "w": 40, "h": 30 @@ -3951,7 +3993,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 420, "w": 40, "h": 30 @@ -3972,7 +4014,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 420, "w": 40, "h": 30 @@ -3993,7 +4035,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 420, "w": 40, "h": 30 @@ -4014,7 +4056,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -4035,7 +4077,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -4056,7 +4098,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 420, "w": 40, "h": 30 @@ -4077,8 +4119,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -4098,8 +4140,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -4119,7 +4161,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 450, "w": 40, "h": 30 @@ -4140,7 +4182,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 450, "w": 40, "h": 30 @@ -4161,7 +4203,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 450, "w": 40, "h": 30 @@ -4182,7 +4224,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 450, "w": 40, "h": 30 @@ -4203,7 +4245,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 450, "w": 40, "h": 30 @@ -4224,7 +4266,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 450, "w": 40, "h": 30 @@ -4245,7 +4287,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 450, "w": 40, "h": 30 @@ -4266,7 +4308,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 450, "w": 40, "h": 30 @@ -4287,7 +4329,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 450, "w": 40, "h": 30 @@ -4308,7 +4350,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 450, "w": 40, "h": 30 @@ -4329,7 +4371,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 450, "w": 40, "h": 30 @@ -4350,8 +4392,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 0, + "y": 480, "w": 40, "h": 30 } @@ -4371,8 +4413,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 450, + "x": 40, + "y": 480, "w": 40, "h": 30 } @@ -4392,7 +4434,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 480, "w": 40, "h": 30 @@ -4413,7 +4455,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 480, "w": 40, "h": 30 @@ -4434,7 +4476,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 480, "w": 40, "h": 30 @@ -4455,7 +4497,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 480, "w": 40, "h": 30 @@ -4476,7 +4518,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 480, "w": 40, "h": 30 @@ -4497,7 +4539,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 480, "w": 40, "h": 30 @@ -4518,7 +4560,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 480, "w": 40, "h": 30 @@ -4539,7 +4581,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 480, "w": 40, "h": 30 @@ -4560,7 +4602,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 480, "w": 40, "h": 30 @@ -4581,7 +4623,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 480, "w": 40, "h": 30 @@ -4602,7 +4644,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 480, "w": 40, "h": 30 @@ -4622,48 +4664,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 440, - "y": 480, - "w": 40, - "h": 30 - } - }, - { - "filename": "489_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 480, - "w": 40, - "h": 30 - } - }, - { - "filename": "489_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 510, @@ -4672,7 +4672,7 @@ } }, { - "filename": "490_1", + "filename": "489_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4693,7 +4693,7 @@ } }, { - "filename": "490_2", + "filename": "489_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4714,7 +4714,7 @@ } }, { - "filename": "490_3", + "filename": "490_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -4735,7 +4735,7 @@ } }, { - "filename": "491_2", + "filename": "490_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4756,7 +4756,7 @@ } }, { - "filename": "491_3", + "filename": "490_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4777,7 +4777,7 @@ } }, { - "filename": "492-land_2", + "filename": "491_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4798,7 +4798,7 @@ } }, { - "filename": "492-land_3", + "filename": "491_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4819,7 +4819,7 @@ } }, { - "filename": "492-sky_2", + "filename": "492-land_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4840,7 +4840,7 @@ } }, { - "filename": "492-sky_3", + "filename": "492-land_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4859,6 +4859,48 @@ "w": 40, "h": 30 } + }, + { + "filename": "492-sky_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "492-sky_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 510, + "w": 40, + "h": 30 + } } ] } @@ -4866,6 +4908,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:52236a80fa87dc64d12684ac85cf8440:2809a2ce37dd2c24fc872d083bf5a2aa:ebc3f8ec5b2480b298192d752b6e57dc$" + "smartupdate": "$TexturePacker:SmartUpdate:00a4e5499c11f3abdf9f56423bbf4561:6f365ccd1246c9b5ae27e0e440695926:ebc3f8ec5b2480b298192d752b6e57dc$" } } diff --git a/public/images/pokemon_icons_4v.png b/public/images/pokemon_icons_4v.png index 43938ed50958d3fb9a200e654bca1e5646415453..972bff8b777a5bbc0e1c2196274824e4477e40ca 100644 GIT binary patch literal 46932 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 literal 46415 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 diff --git a/public/images/pokemon_icons_9v.json b/public/images/pokemon_icons_9v.json index 57159a3fbfb..4b7a7ba4572 100644 --- a/public/images/pokemon_icons_9v.json +++ b/public/images/pokemon_icons_9v.json @@ -3013,7 +3013,7 @@ } }, { - "filename": "1012-counterfeit_2", + "filename": "1011_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3034,7 +3034,7 @@ } }, { - "filename": "1012-counterfeit_3", + "filename": "1011_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3055,7 +3055,7 @@ } }, { - "filename": "1013-unremarkable_2", + "filename": "1012-counterfeit_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3076,7 +3076,7 @@ } }, { - "filename": "1013-unremarkable_3", + "filename": "1012-counterfeit_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3097,7 +3097,7 @@ } }, { - "filename": "1018_2", + "filename": "1013-unremarkable_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3118,7 +3118,7 @@ } }, { - "filename": "1018_3", + "filename": "1013-unremarkable_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3139,7 +3139,7 @@ } }, { - "filename": "1022_2", + "filename": "1018_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3160,7 +3160,7 @@ } }, { - "filename": "1022_3", + "filename": "1018_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3181,7 +3181,7 @@ } }, { - "filename": "1023_2", + "filename": "1019_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3202,7 +3202,7 @@ } }, { - "filename": "1023_3", + "filename": "1019_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3223,7 +3223,7 @@ } }, { - "filename": "8901_1", + "filename": "1022_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3244,7 +3244,7 @@ } }, { - "filename": "8901_2", + "filename": "1022_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3265,7 +3265,7 @@ } }, { - "filename": "8901_3", + "filename": "1023_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3284,6 +3284,90 @@ "w": 40, "h": 30 } + }, + { + "filename": "1023_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "8901_1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "8901_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "8901_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 420, + "w": 40, + "h": 30 + } } ] } @@ -3291,6 +3375,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c01add1e11aabd2f8931110a67a9222b:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$" + "smartupdate": "$TexturePacker:SmartUpdate:a78ab8261d4cd63caee19962a0e01d8a:cb77bcbd2cc296577c3f2ba84b4c50f2:3ec5c0bc286c296cfb7fa30a8b06f3da$" } } diff --git a/public/images/pokemon_icons_9v.png b/public/images/pokemon_icons_9v.png index f3530abe569a35ed34dbc021ba0720c967802bf0..3636c3059d8e0e758ccbeb9749294fd80021d294 100644 GIT binary patch literal 36066 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

      BLU%vKrrUolQO6XG-?` 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 Date: Fri, 2 May 2025 21:52:51 -0400 Subject: [PATCH 098/102] [Balance][Mystery][Beta] Salesman doesn't offer event mons without HA or shiny (#5746) Don't offer event mons without HA or shiny --- .../the-pokemon-salesman-encounter.ts | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index bab0c44db7d..25798de3b4a 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -88,7 +88,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui const r = randSeedInt(SHINY_MAGIKARP_WEIGHT); - const validEventEncounters = timedEventManager + let validEventEncounters = timedEventManager .getEventEncounters() .filter( s => @@ -116,18 +116,44 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui // If you roll 1%, give shiny Magikarp with random variant species = getPokemonSpecies(Species.MAGIKARP); pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); - } else if ( + } + else if ( (validEventEncounters.length > 0 && (r <= EVENT_THRESHOLD || (isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE))) ) { - // If you roll 20%, give event encounter with 3 extra shiny rolls and its HA, if it has one - const enc = randSeedItem(validEventEncounters); - species = getPokemonSpecies(enc.species); - pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); - pokemon.trySetShinySeed(); - pokemon.trySetShinySeed(); - pokemon.trySetShinySeed(); - } else { + tries = 0; + do { + // If you roll 20%, give event encounter with 3 extra shiny rolls and its HA, if it has one + const enc = randSeedItem(validEventEncounters); + species = getPokemonSpecies(enc.species); + pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + if (pokemon.shiny || pokemon.abilityIndex === 2) { + break; + } + tries++; + } while (tries < 6); + if (!pokemon.shiny && pokemon.abilityIndex !== 2) { + // If, after 6 tries, you STILL somehow don't have an HA or shiny mon, pick from only the event mons that have an HA. + if (validEventEncounters.some(s => !!getPokemonSpecies(s.species).abilityHidden)) { + validEventEncounters.filter(s => !!getPokemonSpecies(s.species).abilityHidden); + const enc = randSeedItem(validEventEncounters); + species = getPokemonSpecies(enc.species); + pokemon = new PlayerPokemon(species, 5, 2, enc.formIndex); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + } + else { + // If there's, and this would never happen, no eligible event encounters with a hidden ability, just do Magikarp + species = getPokemonSpecies(Species.MAGIKARP); + pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); + } + } + } + else { pokemon = new PlayerPokemon(species, 5, 2, species.formIndex); } pokemon.generateAndPopulateMoveset(); From cedeaf866852e57c54899838dea4aa8346c6b2c6 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Fri, 2 May 2025 19:55:48 -0700 Subject: [PATCH 099/102] [Bug] Fix crash when loading a save with a statused Pokemon (#5756) --- src/system/pokemon-data.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 7e71dffde5e..ef1f30830f0 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -4,7 +4,7 @@ import type { Gender } from "../data/gender"; import { Nature } from "#enums/nature"; import { PokeballType } from "#enums/pokeball"; import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; -import type { Status } from "../data/status-effect"; +import { Status } from "../data/status-effect"; import Pokemon, { EnemyPokemon, PokemonBattleData, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; @@ -105,7 +105,9 @@ export default class PokemonData { // TODO: Can't we move some of this verification stuff to an upgrade script? this.nature = source.nature ?? Nature.HARDY; this.moveset = source.moveset.map((m: any) => PokemonMove.loadMove(m)); - this.status = source.status ?? null; + this.status = source.status + ? new Status(source.status.effect, source.status.toxicTurnCount, source.status.sleepTurnsRemaining) + : null; this.friendship = source.friendship ?? getPokemonSpecies(this.species).baseFriendship; this.metLevel = source.metLevel || 5; this.metBiome = source.metBiome ?? -1; From 9283be652d421257fb818d9498bdc35e679559a3 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 3 May 2025 03:47:04 -0500 Subject: [PATCH 100/102] [GitHub] Create release action workflows (#5743) * Create release actions * Add release branch to push/pull events that invoke test workflows --- .github/workflows/create-release.yml | 73 ++++++++++++++++++++++ .github/workflows/deploy-beta.yml | 15 +++-- .github/workflows/post-release-deleted.yml | 12 ++++ .github/workflows/tests.yml | 2 + 4 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/create-release.yml create mode 100644 .github/workflows/post-release-deleted.yml diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 00000000000..35a31f6b4d1 --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,73 @@ +name: Create Release Branch +on: + workflow_dispatch: + inputs: + versionName: + description: "Name of version (i.e. 1.9.0)" + type: string + required: true + confirmVersion: + type: string + required: true + description: "Confirm version name" + +# explicitly specify the necessary scopes +permissions: + pull-requests: write + actions: write + contents: write + +jobs: + create-release: + if: github.repository == 'pagefaultgames/pokerogue' && (vars.BETA_DEPLOY_BRANCH == '' || ! startsWith(vars.BETA_DEPLOY_BRANCH, 'release')) + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed for github cli commands + runs-on: ubuntu-latest + steps: + - name: Validate provided version + # Ensure version matches confirmation and conforms to expected pattern. + run: | + if [[ "${{ github.event.inputs.versionName }}" != "${{ github.event.inputs.confirmVersion }}" ]]; then + echo "Version name does not match confirmation. Exiting." + exit 1 + fi + if [[ ! "${{ github.event.inputs.versionName }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Version name must follow the format X.Y.Z where X, Y, and Z are all numbers. Exiting..." + exit 1 + fi + shell: bash + - name: Check out code + uses: actions/checkout@v4 + with: + submodules: "recursive" + # Always base off of beta branch, regardless of the branch the workflow was triggered from. + ref: beta + - name: Create release branch + run: git checkout -b release + # In order to be able to open a PR into beta, we need the branch to have at least one change. + - name: Overwrite RELEASE file + run: | + git config --local user.name "github-actions[bot]" + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + echo "Release v${{ github.event.inputs.versionName }}" > RELEASE + git add RELEASE + git commit -m "Stage release v${{ github.event.inputs.versionName }}" + - name: Push new branch + run: git push origin release + # The repository variable is used by the deploy-beta workflow to determine whether to deploy from beta or release. + - name: Set repository variable + run: GITHUB_TOKEN="${{ secrets.RW_VARS_PAT }}" gh variable set BETA_DEPLOY_BRANCH --body "release" + - name: Create pull request to main + run: | + gh pr create --base main \ + --head release \ + --title "Release v${{ github.event.inputs.versionName }} to main" \ + --body "This PR is for the release of v${{ github.event.inputs.versionName }}, and was created automatically by the GitHub Actions workflow invoked by ${{ github.actor }}" \ + --draft + - name: Create pull request to beta + run: | + gh pr create --base beta \ + --head release \ + --title "Release v${{ github.event.inputs.versionName }} to beta" \ + --body "This PR is for the release of v${{ github.event.inputs.versionName }}, and was created automatically by the GitHub Actions workflow invoked by ${{ github.actor }}" \ + --draft diff --git a/.github/workflows/deploy-beta.yml b/.github/workflows/deploy-beta.yml index 8b0e33a18c4..90b3008c8e9 100644 --- a/.github/workflows/deploy-beta.yml +++ b/.github/workflows/deploy-beta.yml @@ -4,18 +4,23 @@ on: push: branches: - beta + - release + workflow_run: + types: completed + workflows: ["Post Release Deleted"] jobs: deploy: - if: github.repository == 'pagefaultgames/pokerogue' + if: github.repository == 'pagefaultgames/pokerogue' && github.ref_name == ${{ vars.BETA_DEPLOY_BRANCH || 'beta' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: - submodules: 'recursive' + submodules: "recursive" + ref: ${{ vars.BETA_DEPLOY_BRANCH || 'beta'}} - uses: actions/setup-node@v4 with: - node-version-file: '.nvmrc' + node-version-file: ".nvmrc" - name: Install dependencies run: npm ci - name: Build @@ -30,5 +35,5 @@ jobs: chmod 600 ~/.ssh/* ssh-keyscan -H ${{ secrets.BETA_SSH_HOST }} >> ~/.ssh/known_hosts - name: Deploy build on server - run: | - rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }} \ No newline at end of file + run: | + rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }} diff --git a/.github/workflows/post-release-deleted.yml b/.github/workflows/post-release-deleted.yml new file mode 100644 index 00000000000..65447e7826b --- /dev/null +++ b/.github/workflows/post-release-deleted.yml @@ -0,0 +1,12 @@ +name: Post Release Deleted +on: + delete: + +jobs: + # Set the BETA_DEPLOY_BRANCH variable to beta when a release branch is deleted + update-release-var: + if: github.repository == 'pagefaultgames/pokerogue' && github.event.ref_type == 'branch' && github.event.ref == 'release' + runs-on: ubuntu-latest + steps: + - name: Set BETA_DEPLOY_BRANCH to beta + run: GITHUB_TOKEN="${{ secrets.RW_VARS_PAT }}" gh variable set BETA_DEPLOY_BRANCH --body "beta" --repo "pagefaultgames/pokerogue" \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ccc8604ff7e..d9db8401f8e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,6 +7,7 @@ on: branches: - main # Trigger on push events to the main branch - beta # Trigger on push events to the beta branch + - release # Trigger on push events to the release branch # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft until they fix this or ditch yml for workflows paths: # src and test files @@ -32,6 +33,7 @@ on: branches: - main # Trigger on pull request events targeting the main branch - beta # Trigger on pull request events targeting the beta branch + - release # Trigger on pull request events targeting the release branch paths: # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft because until then we have to duplicate this # src and test files - "src/**" From a5311779b4aafa42bf577d1136a2c7b086bd56f8 Mon Sep 17 00:00:00 2001 From: damocleas Date: Sat, 3 May 2025 12:59:55 -0400 Subject: [PATCH 101/102] [Misc] More Spring (#5759) extendo evento --- src/timed-event-manager.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 951d98aefec..163afdc098b 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -313,8 +313,8 @@ const timedEvents: TimedEvent[] = [ { name: "Shining Spring", eventType: EventType.SHINY, - startDate: new Date(Date.UTC(2025, 4, 2)), - endDate: new Date(Date.UTC(2025, 4, 12)), + startDate: new Date(Date.UTC(2025, 4, 3)), + endDate: new Date(Date.UTC(2025, 4, 13)), bannerKey: "spr25event", scale: 0.21, availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "es-MX", "pt-BR", "zh-CN"], From 1042b528ecfe1ada2bd684ef19dd91027f3b3c00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 3 May 2025 13:07:37 -0400 Subject: [PATCH 102/102] Bump vite from 6.2.4 to 6.3.4 (#5758) * Bump vite from 6.2.4 to 6.3.4 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.4 to 6.3.4. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.4 dependency-type: direct:development ... Signed-off-by: dependabot[bot] * Update `rollup` version in `package-lock.json` --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- package-lock.json | 212 +++++++++++++++++++++++++++------------------- package.json | 2 +- 2 files changed, 125 insertions(+), 89 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9280ad594b..da00292e7b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,10 +39,11 @@ "lefthook": "^1.11.5", "msw": "^2.7.3", "phaser3spectorjs": "^0.0.8", + "rollup": "^4.40.1", "typedoc": "^0.28.1", "typescript": "^5.8.2", "typescript-eslint": "^8.28.0", - "vite": "^6.2.0", + "vite": "^6.3.4", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9", "vitest-canvas-mock": "^0.3.3" @@ -2161,9 +2162,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", - "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", + "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", "cpu": [ "arm" ], @@ -2175,9 +2176,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", - "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", + "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", "cpu": [ "arm64" ], @@ -2189,9 +2190,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", - "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", + "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", "cpu": [ "arm64" ], @@ -2203,9 +2204,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", - "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", + "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", "cpu": [ "x64" ], @@ -2217,9 +2218,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", - "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", + "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", "cpu": [ "arm64" ], @@ -2231,9 +2232,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", - "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", + "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", "cpu": [ "x64" ], @@ -2245,9 +2246,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", - "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", + "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", "cpu": [ "arm" ], @@ -2259,9 +2260,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", - "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", + "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", "cpu": [ "arm" ], @@ -2273,9 +2274,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", - "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", + "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", "cpu": [ "arm64" ], @@ -2287,9 +2288,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", - "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", + "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", "cpu": [ "arm64" ], @@ -2301,9 +2302,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", - "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", + "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", "cpu": [ "loong64" ], @@ -2315,9 +2316,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", - "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", + "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", "cpu": [ "ppc64" ], @@ -2329,9 +2330,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", - "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", + "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", "cpu": [ "riscv64" ], @@ -2343,9 +2344,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", - "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", + "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", "cpu": [ "riscv64" ], @@ -2357,9 +2358,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", - "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", + "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", "cpu": [ "s390x" ], @@ -2371,9 +2372,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", - "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", + "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", "cpu": [ "x64" ], @@ -2385,9 +2386,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", - "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", + "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", "cpu": [ "x64" ], @@ -2399,9 +2400,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", - "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", + "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", "cpu": [ "arm64" ], @@ -2413,9 +2414,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", - "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", + "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", "cpu": [ "ia32" ], @@ -2427,9 +2428,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", - "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", + "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", "cpu": [ "x64" ], @@ -4427,6 +4428,21 @@ "reusify": "^1.0.4" } }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -6559,9 +6575,9 @@ } }, "node_modules/rollup": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.38.0.tgz", - "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", + "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", "dev": true, "license": "MIT", "dependencies": { @@ -6575,26 +6591,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.38.0", - "@rollup/rollup-android-arm64": "4.38.0", - "@rollup/rollup-darwin-arm64": "4.38.0", - "@rollup/rollup-darwin-x64": "4.38.0", - "@rollup/rollup-freebsd-arm64": "4.38.0", - "@rollup/rollup-freebsd-x64": "4.38.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", - "@rollup/rollup-linux-arm-musleabihf": "4.38.0", - "@rollup/rollup-linux-arm64-gnu": "4.38.0", - "@rollup/rollup-linux-arm64-musl": "4.38.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-gnu": "4.38.0", - "@rollup/rollup-linux-riscv64-musl": "4.38.0", - "@rollup/rollup-linux-s390x-gnu": "4.38.0", - "@rollup/rollup-linux-x64-gnu": "4.38.0", - "@rollup/rollup-linux-x64-musl": "4.38.0", - "@rollup/rollup-win32-arm64-msvc": "4.38.0", - "@rollup/rollup-win32-ia32-msvc": "4.38.0", - "@rollup/rollup-win32-x64-msvc": "4.38.0", + "@rollup/rollup-android-arm-eabi": "4.40.1", + "@rollup/rollup-android-arm64": "4.40.1", + "@rollup/rollup-darwin-arm64": "4.40.1", + "@rollup/rollup-darwin-x64": "4.40.1", + "@rollup/rollup-freebsd-arm64": "4.40.1", + "@rollup/rollup-freebsd-x64": "4.40.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", + "@rollup/rollup-linux-arm-musleabihf": "4.40.1", + "@rollup/rollup-linux-arm64-gnu": "4.40.1", + "@rollup/rollup-linux-arm64-musl": "4.40.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-musl": "4.40.1", + "@rollup/rollup-linux-s390x-gnu": "4.40.1", + "@rollup/rollup-linux-x64-gnu": "4.40.1", + "@rollup/rollup-linux-x64-musl": "4.40.1", + "@rollup/rollup-win32-arm64-msvc": "4.40.1", + "@rollup/rollup-win32-ia32-msvc": "4.40.1", + "@rollup/rollup-win32-x64-msvc": "4.40.1", "fsevents": "~2.3.2" } }, @@ -7043,6 +7059,23 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, "node_modules/tinypool": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", @@ -7413,15 +7446,18 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz", - "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", + "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", "postcss": "^8.5.3", - "rollup": "^4.30.1" + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" diff --git a/package.json b/package.json index b9ccb324969..8504db8d0d8 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "typedoc": "^0.28.1", "typescript": "^5.8.2", "typescript-eslint": "^8.28.0", - "vite": "^6.2.0", + "vite": "^6.3.4", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9", "vitest-canvas-mock": "^0.3.3"

    2. < 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 literal 9783 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 literal 10434 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 XG(U~nGnM||RYb*4YO>WbCc*y$hwCkc diff --git a/public/images/pokemon/643.png b/public/images/pokemon/643.png index b7c2124816687387df14e98aab2dc8f781dff837..30d993791ab4e741f99cbd4c76966fc988985b32 100644 GIT binary patch literal 123461 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�pu-6YYGc9O>6Q>mG@?X>bC^6ORERFYS-67bD* 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 literal 40477 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 Pzf5fn{YO=5HsSvPpul68 diff --git a/public/images/pokemon/644.png b/public/images/pokemon/644.png index 4ccbb7700d54cdf64565097843b9cc29f6e24f41..14fce7e0bab9b4f3c8576bb6a6625c1b7955445f 100644 GIT binary patch literal 112789 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

      Iww1cqp<`m)g_-2maK3=g2wu%+X)E#}?>e{_y z`Lb}y6)c(2)ob@zWA#;oR?+dj<4)h51-o1+aK6?vS2fG)ESR>Q_aRlKdId+S>wolH zfKN`b*~bFC#F8SLLsO60l}1EBr_hGjd1`otn4GnY`ne2s3pgg)VD&7X@Ty#!yLtT2P{P!_?CNeEr3B zHR2!Nz6k8{a@29XJkfg$=$C=tET(^`k#{Fy@=QS%aJk%nUEO_L?b?iBa+2x?yiiEG zm9PFQG3LRA_s0;3Isx{-z5@8+UQzdxI!S3)wg-@Q2$A&&{h_9$Lk#B^Akh{sO=vg9zJ@pJf=sP#_ry!0(ap;< zG)tyavKJ#iJR3t=dF_UDdc!TJt6eI5`l}{43MxP4B-#fYm zc@?ZAjYz0*p|bO+JCCJrL(kHbz@top;~VSEy7fV#c9}TNwBt(B9Q$F){OEM{Yyyp`h^JFs{pUY>@X7rCfDm~ai)2MM zzc}vy0Pw}cze=5zt~RB0gT^<$&FF4GDav;3@C}~}*cYMu#9tb`Iudh|%ZYEs2D8=z z7F>1i{boV}fJ$CmmRwyCi%$_^?!nx}FCZZv8Z@8_Jw|d0)<7p+eJrWeOdt7wC3G(v z!NEF3;0h_%SIakm4xta5uPx`!Ymjr@1 z(3=gZnOBjZ;Uo~WG3COy*>{+~(@3@=*m$u9VmE9%wyR*LSv`A;0~xpSsw60=d(ng2 zgL+)~paug}bNMIg=&wn`i$93?n4XHoM4_oktX2_DV;2e^``%^0JI;XfU>me^XPo zdn@5$!ivjuKdgp$3Te*fP7>XkpIxh?dhX_gyYS51O?V#w5bPU@wUr{o5h!q^X||yF zD25ZF<4dsO;xvV6!Bm>^)0M%+=l6z=ZCZ&jT+xtE-m|a?RNkb(u$&{MgP9_S?RRdyRZA}ay170jnUO;HZVT>+< zjee+5B3%O1H3}htlEyzJatdYZc;`b#tVc-AlxBJl#-bR`l&qG4gY{U>N*4N^>UK_m z(mwNILMq=Snmw)@?|*7BEZ{WgNU1E#>>ow{<5uzdz5pLbK@;KYXJS9@2N#uacpqne zk02e1C?!7BbL%sD$~@J}lZoFTkn7lwpADG1&b#825ErHCKiKXlSQKJT2#`t0jW(0m zyWhIkfA$2>*q-I$>m0Mk;u%!weXfN9TGx z$K92cXe*rp3)+v6Cd50$E(J=xZU?Y5u51@sZm$fxJmuwwtsl-i3qDYI+o+`?mTTOV z&xib(C~(ojo3SwiBvs#oL4uNdmG?jw4H|l3(4eo^uxSGNda4t&+p^^ynlsz1W@JVy zC|D@~o|P{#L$l1zEn5BFVQ;C=Cjef})xA$?1GM8oy)klnx$G`=pPRe7t&)9JTbvyD z?neT(SAtD)=W;yyX;jCkL9Zz@9cFgN1S(u{PUYynAO%2$4@moG0e^a5zs1vW>0?3^ z8PX*WS0`J{Yb`9kMlqCiAh3MD+oGrMhd%rvsCryxZVvO3{Hc{7l39hK^-urdGandA zmqZo(n%%?mUQh)jJ=-i_-+&^=qVSG4@9n&$(R%AGMrBZK@aQVjAef-@19B4k{+#km z%xNbHrU;A0aEDY4G#~ogUpWRbWAI3^_iNZ(N30V_aG~a6-7oG{uyC!vatoU9KhZ=X z2MTCblG?Uc26g8o{#S})=L)uk_gP$PZu$i5@V9pvu0Ik=fQiI$zG6>B}pvB|^n7B~3WOWl1 zxMM)V#StJM ztu3OP^y`0Uh<`D*-slp~W+?hY$Gpw><~SV(8ODMNmk4T0Yw(UGz_f^w(DJupZp?Ly zg$CA|9sHRN-!Z_9pT*ZUuMuI|+$=F(`>M`bY1i?{^#h<{mJNi{5zQ491cLjZ-Qc(U z=KUJSz>J%&_WRIm-u&kM$etk+W3zJASI50F}l(bTnP#VS;d3- zX3?7JUsMwP#%tMAVT@svYI?SH8GqM_L|SX_0j9c9eFj^j&v}();@7W+2=U8}=OEYr z4

      U*EhNo#ikhFidlG}kj66G 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

      B>k`JD1)d$W4Nn(p!2VFlA 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 literal 51803 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 LNkvXXu0mjfYVY>t diff --git a/public/images/pokemon/646-white.png b/public/images/pokemon/646-white.png index 0de658c5a3954c45c30aea37f7ae6d6d555733ea..9907f8e278ca7b475bc0c08312e6aed9b6af209c 100644 GIT binary patch literal 214721 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

      OqEme50b13LeaOpDtBpc(AeGTe4PjrL!Ov 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�fQ>nx419x-xx; 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 P#7{**L%#8~)rbEF`Lq`q diff --git a/public/images/pokemon/746-school.png b/public/images/pokemon/746-school.png index e9d8bdbd94404c6ac6d2b66ee28cdfce732080ab..c592b71a66a0cf313ed726ca4e3de87f87a8f910 100644 GIT binary patch delta 1461 zcmV;m1xot(3cCxC7=H)@0001NTH%QR0004VQb$4nuFf3k0000sP)t-s000010RajY zClNMK5;;^5LwyrSgcoMUJ!aTJYTtQ;igcXzL+kT$@b;Y3{ienD&(YKS`}=6g0Dk}g z01|XkPE!E?|NsC0|NsC0|NsC0|NsC0UcrVw000FQNkl+RbM!t0-8HkLIO>HeOHq zE*`^!rY1WFK7Y*i3a{_uk?+(bcpL(Ny@k*C2LED)ALi&Ieg?qbdA`I~^vP&rGJGgT zc~%q}qR-*?0$TzE=0}##DF`3_=~_wHe@bi8rRp5A{dW$*Bg9 z;jHlCb&2o5C$4rE#YR5!V(?&xzZXuI zYVsp0>2?d^O@s?u9I*N_{FH#eH(>yp>3hLPx_|L->WX%eaOZZeb@2rK%#No0Kngs{ zVE97sEONQ5Yp$R9Hp(`3HeCG~nqx2gV$HO|Wa;c^SuB2RE#*^yY@ky&M*QC36*;Ks z%#;r-1SeUVO6JT4K;?tQBXrUqlbd3LT$%w>D?ZYtUFnz3M}U*g`S2(F%z9-2`=IIz z@qa{@Ie)%#`spjv<-y_PYF&zN@mwl4(Pzss>CjW~DYc|S$I9%}VUa?#T#-zdc;lm% z;yEL|E=?2hs!C|YhcA*Bri)-oF6%!tdNr|P-!#5pS_eg&T$uhqrY|03pKJb+sx9oy zXWgndfU*hWY@*PdzIbSE)ot2Ui&nOP)PE(};C*;_*yw8O7eJ$C>{AJcN>G1fin?}|4WA0Edh9tM77vVvd7xG)1Ae>%I`J?Eo(zUSc| z<4G;jHIT)~=RJ-3dNY^O9G2Jv-H`C=;SbAn2xYl=p;bN>n|EYxkWHnVB0i+d`G0L6 zuH}Eg_f%Q?`J%)3KKcuHfyW~cVkrVFT#&h`d@q|;^C6ubXwQcOw;vc7+JqcEzN)nY zokh{j8~jw34yQF_cZ_!ocXY&R=wIZP?#?__EUL&_jvm(ZYBE zx!{-4&qMEKtN7L+4imx(^|AaR9)Amm)yp82qV!%5pyq?h9c1r1hxoY71?s@$;c5VN zOQ!*JCY9rDeY|_er##hZ@-4sFd4uEtzZ-lzCnp{k`S)**tM1m`Hy(jAesAR8<_`}K z%yvP2CjUMkloCdt9Qm}%OZeO2!LAk@42`7ANI#X2Co?>bzjt6miDdYje1CY#og6jv zkk{X*{6O~}Y8Opyt1Ly=d_1?g;`^$!<_jeM;8qLAnJc zK5YQFy~*t{X0D06{Z@N)D9^4=Ps}Dau=RggfAKI=s4kozuj1|KE|u!p=*BuFr0Ghi&yAA P00000NkvXXu0mjffgkd_ delta 1393 zcmV-%1&;c=3-}6<7=Hu<0001~stkw#001peOjJex|NlX1-xElLrp5Pkoc5g4{c`a3 z0RaID7AF^G#u7PHd4!7l`}@z)(?jd?7JEvU00001bW%=J06^y0W&i*L`AI}URCr#s zma%TzRuqOAEfmy=3IoCEA|2maqJR#C^#Wv%pdnKY!VeHYK!59rbOli8hNjX$t4gD>0FuwEiKj$6_G9Kzl+t^7@y;^%G z9)-6P@8eGVvoRj+fIk`d!*P2T9?{>C$Nz`dbALkkBL`#>R@;9(Z-{nH{94V|tN75{ zA3-I57FPyB41XL!yz{W(xRN&}EyEF>fC~Oh0S#mRpaH{4oMiEkud{z+E_ssrGBKzv z68c-TtL%xF7d%OtOkmUo#A_u+J*bEynKvdh8DoQ=m-ssKl9W$|BJ5-9p07*h8$r%D z6wV6WK=Gq{e$IR&Rs5ftmnFW2#EXKLSD8-=+W%*cbAM6rExK?7nsyTCYFt7$A7|sF z%nwG2_rO^sbWu%PAzW84$7kNtJSsVValsn^Zd>yw7X^=Q0Eo8c_p%<^WY0Vo7`gTl zPdy7WdEE3H;5K5WHh6)#nxG3(wy(#0D3`zkq==T3HoDd-d%$P(^in%-QqVNz zkLPlh@%`86_GOB0Gk&$s_?5~}|8vrp_k0w`*@$XV;BzToyG`i5TD`y374KX~h;mfJ zO5`0y2J<$OfxQRNyUCvLwu9(sej%@>QeKwF-=`$Xev!cUH}SRVS0K7sp2c}DYq!LA z(0^0*i{x&7qwPQGo!0#>fDTORR#~;CO?-#^DEaLT9oQY&=L1a@KaGQeS7sf0r~Y2A zKlCX79ogpxmZ$^1n#QxB;Q1X~|N9Xjet-9w?2Cms=&I~doCo4fw)Sp6CIG*G%d3s9 zqj~7*7bS|yJip`#SjAdrai#rFWR`RhEFOPUVn&z>NJFUX%x z+3j^Gc057Mc-60r7|*}XYr+M>tTdX&aYS1?!(#qP`88+W0}H^$R?M0S?GLJ;&wt^$ zV17aTPqy#cLv*LiPuMh?O1J4vE(lT1@LeM>zcMWmTL?na{@J_{fKcaYn`#O=|qk5IYE) z_Jh_oKGfev76P=((+sxpCVC-am#z{b*uILlJ=4avDY_*OPu~3=|P6 z3GxeO_>T_a4z}3=Wj}kmIEH9Uti9AJ)}$c78qm==vE|JF|2OaHNbUT>=dP=FctY!k z$tyU`D?JS6n@n8idu_^=gWS*DBE6PQ(N6RDWvKRHiHv9K3oifT!YiVdTOH)wEL+ds zUR=4dwCY-=UVv);?_+;cM56M;xK}y7RLb=|ohdje`gK5YZJ36A_Qs}*feI_sj!rO5 zzgI7Mp+&6d{i3QoeVs@_pN&R4Z(Uf|Boh4eVe3TJaOvGnCy$HwCf1dQAF8s~o}x1M z)Aa;-6`PihHHZFfI-yW@;bF?{jEdzch95th{#{TKmG|Pshx#Au6wO349xmomXDL1J jvFqdU`lD@pFMI5E@8C^4uq3kr7yt~Ou6{1-oD!MR>K-HbupgDgATy;ts_`4-jI`o7b$_+DFJE zl*}2sC3Mo#XDE0~CEGFX4-e+kodkVSN*L#P*Afvg$3#Shyg-ZwnvgBUP~&_spGZn7 z5cPk2H1?=*W)0=Ys&^fvq3+SUa;w#L_m(c)`qUCd@U^GvW4B3(p2H%TPRN>{AFI#p z#=X5rG4SaH;6C4H>vfrtONX=913;4h5Hn?^{W2<_>?#Orwyfd0skvFUX6~HTr#8NI z28lVItzl)1Gm#i$zS*@>kXUnQ5BX-vtlB=S4$!8Qidm`dzcaxrh)=)J)g8swM02)& oj3W@II{IgB{Gqq;4MGj@2hb;Nvw4O&1^@s607*qoM6N<$f^24?L;wH) diff --git a/public/images/pokemon/782.json b/public/images/pokemon/782.json index 9b8f8e93d39..2a08877c58b 100644 --- a/public/images/pokemon/782.json +++ b/public/images/pokemon/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:350889f3e7d7ba0c8471435ab283acd5:fde1ef9d118b98abfede0d4980b8ef8d:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 148, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 197, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 50, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 148, "y": 54, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 196, "y": 54, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 1, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 49, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 49, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 49, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 1, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 145, "y": 108, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 197, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 148, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 245, "h": 211 }, + "scale": "1" + } } diff --git a/public/images/pokemon/782.png b/public/images/pokemon/782.png index ad461fe00ae1d0241cbeaf99a4aa57321a9c676e..093d0189535e0891dd505593a8914e9661a49ebb 100644 GIT binary patch literal 3065 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 RD*XR9aORXFroqZH?%%wYv>gBd literal 569 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 M07*qoM6N<$f^H>civR!s literal 841 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 literal 1602 zcmV-I2EF--P)p;nhmr9|>TA+K~U7-&M5p^l#rh-sXSh27m8Lddb+QoGZ=s!mSNpfIQpA~-#Cf6{8F=kl|8}k4 zY9nUG6w5?gS=jG?^iqEt+I7*$Pr-E}izBVv@851-==W;?fXxiFFzshS!>blUM>qzQ ztSPvGQp#i#-+cL8|F%_Ph-E%(qLo4+btLcy|G-+CK!bI(yqA67m-38ZHGJL4QH5zu6`n6@mahG~ss0N3KEpBp^Z${aP;2~Tl`uR7$D+%=Z+&HMn z*S2d|Lq|hX{-(q-fY&`J%4Q4~yDA7FP$BgDZ76ebQ#T4FBx-%&b)}ScEbpt(HmXVq zh9xeZHz3(`>%A3vFo8yuA2htkuz-#{-U~4-O0SzjGfo@UWus(q@i*hkNc2fdN>14_ z(pXeb9hb3IvaB*X6IhY5<#kI|3ZGZ1Ha6k4&!^y9BsE;*F6{~QG&Fdel2ti|?YiU^ zW&Y(XB&w->4GRXu=NZ`yOFRywrC+2i4KHr9N=5|WyAjQuI>SV)sxkj%HyvOXThG&e z3OxWtbihew!?YKt;fS`Dh&I~w*9ZTh8m7-0jy4cayMr%h<)}LYy$HIUS?Q%Pw@$d! z^SE@?b=^zz;T_%{efl8*^oB#Q=fZ`J7F0Ft{iya}?Eep}%NqUdj(YBJcSk9I9=vmi zSW|zyANJhNZbyyy^H`k1-ev-KzKh`Q+MjM`=7)UAF^J zW#|))J=&jz!^(YV`VXFT&bS>qs~A#1ioFH{kHQ4rD+Xb+DBr!*`ldrwe?&{v3xKHS z`<&&@WQC@!VNt zDWaRM!ZN<+b9;Nky%CX}g{C|;K5(o;RRvremZ3IRiw0*N-q?4rRb&`#N@6Ee{MR{a=q9(9Opu5(>AJ&If*hNe<6WYP<9nQl3p zI-E*ammc*Z_(x-%s-A|bj5lvM0lREM+Kj#;58d-Iq|iiMb$Xy(3cUmhfi-_A9<_vx z6MP+}AtxkT!$Z7YsD{VT03aGqISaf5>Qz_m1e*L`cgoc{VYK%%hde2Pp<(Y{3@M)( zIbNsv9j@yqGYiv^N1QNzMvCBwdXMgbVd`_vBq0P0@5it~bSrB1(eRfeI}2Mx32X|N zb3f*qXNEr<9oYu&`&KQfyhKHwt)BJ^8z(kI zKKG8mK1VHqW|BIA<3OAcMO!#npM{U7p{Wk)R=r}25?+X*Jr8b4A;ExL1h?lxqxySu zOX`m8 z+FV5}$mAUZgTdfw&;T_CfDnwt{qybMYvZZ%tWrUE?5vYVgMZSDGsP7sJNfx;o&3rg z*eS@)1W94xwBIe(UrFHn0D&c}Lki|gFd^&y1+#_k&OZ6~!2kdN07*qoM6N<$fl6q$K(&%4om0X20otwa7$!`6=$Xc~3p+O_(;REqVM&_XFeWB(t~~?=14H zFPObbQ}$u5|NCQ-L*Ek@?$S4I=|U>TyB5qb7VZ`}z2j8a>tiw5sdJZgWfZL|S{pZK z+v)?3`6pRd?X|zpk$k+>tMH8X`(*v3qpPzu7q7U>D)guM?&GzlsvE_^!n_O2Ty%Kb z7luXVthi+I@B6{7HK&&@n4WkqUEtx@2)Q{*-;DdN)Cg6pX&!4(kvspqLA^%y0?WLe apSU-5NbGa1x^DsWGJ~h9pUXO@geCxy<*Swe literal 370 zcmV-&0ge8NP)g!A+10eghO<-VyWR};r6Zu$2&<#}9`J(JiEHDHtEY~Sn6MqzT^qr6pg(=Q zg~Jq*GICjm-O(o|keZ_#7Gp$0QG_!3>dg5>%sFG7Y$>WH#w^dQi@{DSV6vy=23Gfc zy+g20U06y6j7!(YzHBaOr81?l?9R*T;787f|8iw#;>y(eF2L@XITf}X*GfR)s!EOV zuZC8Lkw;=(ET`QSX0Wb0>`I(@ovv@>9&m0Q@EnkM*Y`2d13q5h02;gf16ynrNhp1A QX8-^I07*qoM6N<$f()3ZYybcN diff --git a/public/images/pokemon/841-gigantamax.png b/public/images/pokemon/841-gigantamax.png index 69c53677722c03ddb4566688d272324c3483df58..07121b9c12fdb374645b17745c040c64746f844b 100644 GIT binary patch literal 1128 zcmV-u1eg1XP)Px#NKi~vMF0Q*5D*Y|CMYaOC_;8Phb<$EGbxcgJf<-@jY28EY%$U~P1QtJ#dksI zL}odpJ+rK0#)?SdyH@GNSpUXq+R%&t@vHgy`5&yNZU6uP7<5ujQvm<}|NsC0|NsC0 z|NsC0|NsC0|NsC0|LNRBHUIzvs!2paR9J#7|p@n(1={xP&|TO+{yV;CVWDzp-h2ji%41)e0J zIgZx^5-c&IL_0cXuFxSw56(IG3*iLchKL7;zkov1nD!(d6n6x>)?oDRlza3}0<7Yo zdVSw_%d+(6k}v8;FyqT|1}|&h-tS%4UE`C57V!Js+&}_xf0oyk=WqA>%iKJmo%iQ) z30q%R4fGao%bRF_Iyg~jNjiJLMUd!w7mAnjJ%^S5}&3hicjyJgIykDw$ z2wZu6l>qP!FZ?>b0pwSF^S^jsE5P`#`RW9euQZ^z7`XZlu!&~_^L$>z+6-qN1t9Dj z37}{MYv(z~>3^uVc$*~lHLU%nFfdTp`Gi}FnV)`RH%w(SG(Vov1in8#E5rvyfQv$) z=mR-=i30xl`N;&#);V;E5`|}`j||wuUT*@*xaa+JBm-1WzEyVk#M_AL%+C4aV*z|J zTQOi^M#m8aaN=i$X|-f(IZmTlT#N9Uf(G-VB5Q2qE46BKYs$~WV`sV;N0Z^O1&DHn z#A0H6-zd*Gc2WUrXbYioCTj~Bc}!r6{Ag^#0m`my#)|=}AM%so!P^f!XG7^^1`ZWKh)qihxWMSFnPgaH{1U zW^BGr&hw+bK$N%V@q%yk&0ftLT8(dku6x6mi*^_P`YHrgd^#)bh7;cLk!Xd3fZO9^ z?6vJ_!)2CqMXM4g45W0Rk0c zJv{O%%)E%PR1jWf0PeaneKp`FX0^?ij(IOUmKt!k=87ow1L$aja|R(! z80Vp_$WsXexZfUT!GH@%z=d=W7T%Kp_QA7ozutkEK;aVQRET*p@YQvW`Sq4i_>9s; zP#A#YY{&RJ0p>$&Bm;Dy##8Y|KzUh#+zL7GRX`>74Fu<6D-;5#(C2X^5Y`d5ll~2l z|HlWBZH6<2&8ghDBZat`r(k;LRBv!{H!x1PPjrgyK9~gd!mQbS9$v=h1@^b{M+#ek uqoaV?lfaMnIb0-G!FMyd>QGtgHU9uBnXEWkAi4wq0000U literal 1110 zcmV-c1gZOpP)EF=r@2O5>`JVjF z&@blQ^8M)dd*?xNu4TjTI(9*o!9ZPD0#v(DO5tG@R4;A;2BiS1gZCxCdj@~}ZVR~E z-B9Jg1;&(kt?1$+_5fuKy8jz+1_1UOA$<)dtw+{7#Q@pUU}P&=2u*?@7+Hb4Es3<+ z0rJSE|3oe`3PuN!WnVGqP$zzOGx#3WL`~&dEOUkdS?BOPJ;RaI{?A`b};;*o~AEs|IOb${pH@#;$i4IR=E?tI(_4( z;l6Mz<9&Jh`q^2y?^x%jQ~&4cVJUF$s2q6XpM|BsYXGklcvdY3K1-`drGOA=>Upj` zaK9-BDo#n@+zK3)x%Hj&7U0jaV1Y}NxdPu>2urX5pf5po#Q!l}0uT=I5Nz=H^YYDHi?BH9jW zM3WsU@t_@jqFoFs;}ZtM4n3Aq9{2fiqQMr1xkW%?rRVZkNX}3&V-Sr1oT8QRf!p$G zY7F>Zt^u@Hz;OpRnsv+|lB+^&>p79(4gdui8o-Hul?4g5ih#3a1hYW6MWAK|!@}PT z0Apzl5P)7O@R*{Njq2;cj#%mc*4$kW)YbkRV4eX4fm;af#vg(1B@bWjCTb0+Bufxa zrS8Rzf5E}829Pg5Tjc=!Y`opmqsRc9`vBNMO~F9U)3 zNCCY10}mt2Ad`F~4EPeC<9B|2?M{mLz!Y2p0svXNQ>Hi?AcyNgC5E^H7Fv8|0#5By z(Etd;5dF{yDnyqcqbm1x0E{E(zeH%>2r8e7>LqxAf{lnQ0EGAmgjm_g5OEpDSqfn& cns8D7AN$D-+V%wh%K!iX07*qoM6N<$g0emOjQ{`u diff --git a/public/images/pokemon/841.png b/public/images/pokemon/841.png index 5e665960df446f48d17c3f048cc2be0ab0183b18..e7329f2eb97a0ceb3eca3601414a279a300bb82c 100644 GIT binary patch delta 844 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 xp2AvS?iPfx002ovPDHLkV1m+_9#8-P literal 1110 zcmV-c1gZOpP)EF=r@2O5>`JVjF z&@blQ^8M)dd*?xNu4TjTI(9*o!9ZPD0#v(DO5tG@R4;A;2BiS1gZCxCdj@~}ZVR~E z-B9Jg1;&(kt?1$+_5fuKy8jz+1_1UOA$<)dtw+{7#Q@pUU}P&=2u*?@7+Hb4Es3<+ z0rJSE|3oe`3PuN!WnVGqP$zzOGx#3WL`~&dEOUkdS?BOPJ;RaI{?A`b};;*o~AEs|IOb${pH@#;$i4IR=E?tI(_4( z;l6Mz<9&Jh`q^2y?^x%jQ~&4cVJUF$s2q6XpM|BsYXGklcvdY3K1-`drGOA=>Upj` zaK9-BDo#n@+zK3)x%Hj&7U0jaV1Y}NxdPu>2urX5pf5po#Q!l}0uT=I5Nz=H^YYDHi?BH9jW zM3WsU@t_@jqFoFs;}ZtM4n3Aq9{2fiqQMr1xkW%?rRVZkNX}3&V-Sr1oT8QRf!p$G zY7F>Zt^u@Hz;OpRnsv+|lB+^&>p79(4gdui8o-Hul?4g5ih#3a1hYW6MWAK|!@}PT z0Apzl5P)7O@R*{Njq2;cj#%mc*4$kW)YbkRV4eX4fm;af#vg(1B@bWjCTb0+Bufxa zrS8Rzf5E}829Pg5Tjc=!Y`opmqsRc9`vBNMO~F9U)3 zNCCY10}mt2Ad`F~4EPeC<9B|2?M{mLz!Y2p0svXNQ>Hi?AcyNgC5E^H7Fv8|0#5By z(Etd;5dF{yDnyqcqbm1x0E{E(zeH%>2r8e7>LqxAf{lnQ0EGAmgjm_g5OEpDSqfn& cns8D7AN$D-+V%wh%K!iX07*qoM6N<$g0emOjQ{`u diff --git a/public/images/pokemon/842.png b/public/images/pokemon/842.png index 468ca88562e45fa4f14a6dc789227c56f4d370ab..4e3fec8ef1b7ad2cf0c0edd8c072f7e55ec4cab6 100644 GIT binary patch literal 936 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 diff --git a/public/images/pokemon/back/1011.png b/public/images/pokemon/back/1011.png index 3e23fc1ebe31b6daef345dad43e6013f81e21f82..ab3cc75482d184c28178eaf07ea7cd092f0663c6 100644 GIT binary patch delta 570 zcmV-A0>%B41?dDXiBL{Q4GJ0x0000DNk~Le0000h0000&2m=5B0Qq>|U;qFB0drDE zLIAGL9O;oEJbw>#QchC<|NsC0|NsC0|NsC0|NrHUo~8f*0nbT9K~zYI-PGH9gCGn5 zV4Kz?=;Zw$cR6sfmp@YHfs#l zyPizA<5%x`WplCl%C^^|JzroCwPgyYwqmn?&}qVhz1*8vtx>$9f}vTsqD0J`QqIq3 z&dK6bE*h!xo zg>*^fUw?bjp(cV831)MQX05m) zqxv|?Li_Q=M)N`TGFJ--(5Y8;kbX9kuj^c{&VhQgL&|%~6t_Q8%?SQjl8X1Wu}HVZRXo{F`M z>n!Ya3n?WFJAH!I?N;;n0TB}!!P6r|M6`a{JZ|vt3t|!ZMUBM=D^|iUuA1*+zYviX z?CL%dSmCeW^jW+o`sf!yWWKAPu6I>OG`wC4~( z2hyxi9o0?Mq{v-D0q70@q!X1V+1M$zOF9FUDyJBQ;VT9sgn?6tZYbr7Tac?#=fC?T zrHo%AP8EWC4>crbg{aiYf3B$2?N$0kqs=36;HchsSICey{D`tFy9@?O<(0=oEQmn@Mr1Iklo0jldJ90Y8dlEQhFCDL!C6Hd zg?-}h07MIT?7T=Q$y9XhRy{|~;Qo>YGB#kD8L%)LzDVv@eEmgcIwg9VJM6IV2J ypP6v4J~d`m-5WuYY+Ik|Q<&yjcw>zoSHK^QOJNlpsSE`G0000zoC|Tl)IK&Z)h9e|@vs8|8Lqw5NKz|NPwVz59=MF?-i5a_c_{5TJMWWm@sX zBIt**H*fwTKE=yCd#?mv%?l%u{nA#$V)(*9t7t2yH-g)%!aX-(}Of2_{%v9C}Kb$1)!RvCjpdF(NM)rl(8YBL%Ohn@U9&1n6rsSqi8 z*YCx`@vKvNnwJ1K!7lwy#YzN?A?B!{bC|lSB>7D57eXBBSR@7$HZTM zwwVyIaQ9}^KaCQM$BsYW-dZqDlTf6410V73TWWdno8+DoO3?gqqZJyxrkOoP5*PDNTp<#94A8Ps?g%@Kt3X5f5b7v{7j#F6=j-kT~ zy6rjbFG>9!-5BU^>Oat}50vZvU!)Z@)dRJuNNd#opS@99pgh=@ODX@&y)XS|^>R6L z8|O%+g7^};pwPB?zX}zUG*$$gQL2t;m)`M=?rJezB|VxH9T9f*-X0W|D6>R=BdyV0 zn+a9L{P_4-z)N-KwujYpQL|Q8=M(RsHd7KPuzw2h*hqMF%=^5bl5mQv2;?MYIyh1HjC^5kus zCCp{-G%<>8S*7b0>58D+FNv!x&M7}0t!bsJxV8b~^CcB9o2oY4@~#$SsO)!$80B2Z zCBodW!+VL706{yC7BzV;6m1dxksDHqO)QpN94S$GF|PSM6;yL!t<5~y#&LfCV!7z~ ru9!R*z0FkK@$_j3-O1B3y9e4I2*WPD1hkOF00000NkvXXu0mjf=k)}a delta 955 zcmV;s14R752>u65m9_{vQq6zM`@Jlq`;Uv7 zqvtD18@~t;V08C&S;@j8z>(rC4Tyk-k#jVFQD`NLN;J-7X^PU!y<=WXV4eS>l6>u* zM^sFir>^#zrSr1nb>q{rp0-RIts3N&^nM2S>Dx*jZkq!jAvM7B9~dHk`t zBF4T!E!6810B2J*ZzX?F-u98A^5xx#ZPdA-jY-k2gz8s_N*Z6FGWNJ_D`4&XP?e3t zFXm}O+kbTxN{aqYX0vf{o6=?r2owC)blS9CqgkVhZeiN4!urX7Z-h9vv1kl9ml+kN zk-UheAB%iBXF`cZy0@Y6>6BtJcK&!hf$C)%igs_7U!waIX%>G5O-E~fd-Y=3BPy?Ew(0@BTuR|$o!G(#?upE0!?V+G!CK z?`4&qPoyV;m0ucH-JCh6bT_T^RM!hIxn5HNn`!EeN8Zx|)q00WP|1bfqL_FmrGQ|a zM~|8!7lz&uQStc`Fb( zK`~l;y*EIlb5gB;U*1+$*;{`GpI?czGLyeKk-9y*<6FMtW|*L$prD}qi=X_Grsl=0 z_U66G$;tHe^p#O*hX4Qo8+1}mQvm<}|NsC0|NsC0|NsC0|9}7g|NsC0|NsC0|HNr> zH2?qu#Ysd#RA_30g?7mS?*8V(lNgMQKUJ^0P#(lllRmHAC$;5+cakgqyHd+@KvhXF#GW_$iB7gkCNK`o9Zbuw7KmUGe@oiB7&EMEQiB-pwd9pwCPL<-?ra{lQ+xHFh zwN;~e=JYA|O-=it1%Qf6FMBpr$-feS=5T;XN9)y~vj8E%@;NHOS%9&O2b970ig1HJ zpy|Vj3Q(1<3PAV+(l>jT(vDxR*Cc>!rf*F^BW_VJS4;$Jde3*6cL9q5oDJo0(;E*!a1 z2MHivh!+SOm*(Bma!UFvkS{u9_BQBG@fN-H>BR54IowJV*|zES0y^dXf#FEx3qZ@{ zAYOtX|9{B#`Pl;8=@B~FXS|NSw?g786R(mJpzHJ~w0WEOkFN{?2x8~Y*%l1` z@z~0T4qK(e{&f6L`N#2k1=9A3P8$#l^J+iLPt`e%?{tV>xZZjA=!uNGdymh#?`Q{7 zkb-SY(?kNzr!KW5o;sgGa)wwz&`W8lw~p4lgMSC|FI4im#8hQ5&8U$Oa;i>5Uz1MS;xmfnot*OK2 zrtclT&VIDIEBsa+s#2$X5qhq?xQ0#w0rD*3_dzLs+q!(;zM$j_k-Evk_RGPy*rOol zWPjCFG;MFcmUQ}NOrUl6fY%w(fZ=pqkTta4M)`|-ggBli7)UCxSQO%?>Arn44S`hw z{2JZGx9K8D_;5=+zcnkfA6h3z7+w4--4j^jkMj*c4&4z*Un6oHV77t0^TrWK+Ly!m zJQ{qi`8j{Z{_hz#P;B1v*YLmRY`VK3hkuXw-#76x2mdtq_0*K(;rYzR2l<)!oVu3U zC;ZdLuiY$o{FJX}5xz7#VDR%r+4ghr%hZ=;C$Tz|n-YH7e%QQB{FayCE!}U+BKwiW zNQc;gP+~v0)_q9myN_RG%X2NT)W3`Ja!)g{JumP+e|d`rgHJEv&t}5UO<@deEORUn z!zUie;_vMO9u;urCVcwAAiyxd0<{9 M07*qoM6N<$g3p^&X8-^I delta 1018 zcmVWLF0004WQchC>>g)xs1KYvPKG&I34=#NDI1>Za# z#!M41)m=Ap)aGL%yJXNW_>S4>0I1tDkHYLo+W+s-qe(jlmGyXeCEBOivKYIOxt42W9s(43OAVf z8nss~6fbKkJb#;}KE4Ie_JBd<{W!VP2KsI7MDy5Mn+njjO22D6tep~|>!t*4FV5UH z1{8=i<2%6{w7uYEco(mHn(%>d9;P*Y2!!EXy7DDKpi3w|d_;a&vUl{8;!}c7)pw9h zM(}~JqsvW0mQqN9fM>SgIUeTfZaJF1h`?vZtXusU@_#2^qT4N9_|CE4hAYdkw0je9 zQT;o_Dn)(*SS9b`3G5sPy5I7%6KJO&&_%xDQ+Pio;%9cNYYN)uGjl{wkCFd=KC|%$ zA@Uu+`MsFJgnz&9^5ML9jvcS`kN$@--;^(OnE-!?kMmLfS)I@EE(LpDYuDl13z;2X zB5Szu|{In~q|Bzz-Mkl!Jdw`0v(~^blpXuASERv5yI*v93+{Ldi3AgGS(JH4A^yTHvx9==NE%O*I}n5 zdTset{`X7Av+HJTQ*7i{xTVHAR{UsE^kK2i+)y{r&&{|8@ck(f|Me3v^OWQvm<}|NsC0|NsC0eRh4- z0009JNkl;R_)UNTSuVyMJY8Yk$|)uRt)mZ4ZMuo*r`| z9UOxFTC7sVES}lqN)*yfn6qO@|wx5nsDsbRxAwwp4)%69Mb7D!38Le26KGklN zmS#CTCqy*qkbh^mhO`6yFt$pquQ!}aqKfe^;Upr$>Xg3xet}V+ zB*zG_OEs%DLrUS5Fjzd;0N_h0Kh&jX6cO}s1)Wm#bAS3KW&J|(1*}wwo5Pc|#DYLU z-en$AY_(VTOw6ZEqjnA%?i*?OhhU&kYTsK>BQLyiKp0g_5>qbOlPj!vvvP$j?K@1= zxg}X)Pb-{(n21j8-o8avWEMi-Wm-P@L8;UHz_wB86!=Bg4u*+J`DKb1x?!9Wz|Ri_ zNs+a*qJN5LShQ1&(XXhw1GY|yWe3YL4icSX-D-P#q!vk0`fsp&@0+N(=`fC3qIj$6 zX@OE(Oa}tAO;bBrJX)X>_!8!UkSF{)jTD_yDpkvpf-Z%m;)xKbTH;7`0Y-^$pN3Ov zq)L}M1=cv12(~;e9a~XRYMtBW?9%EsiFClM>3^L9Z`?LzH&DALrBq+QnOaDcD3hp4 zo1D+!RNp3+6hWl8ak`J%1+ZRrY^*#fUr30Jf|OOA;7X-ygrr5G>Cy5jk%FRBl-h?Y zmzH=%)%!(=QqlLOyKHi68ZhvrmK2VZw(CAs=V?ua67y&}NofIPXFsQ4gFKq@%uXAg zYk!E_Aox400*$g{(%AF$GcBJ~yQXZwqhLwtBkB-?hFrGJDCkn4f<&4d0=2Mw=U!D$ z|GEV2<24OvWg#|7f~lXS)$%hko?3xYN$xW6gSAXmbFG0^A?Zp!pxVQ3x0?~uGH*(r m8>D|co-yC}#y9>r{sBd%N>|gM$VvbJ00{s|MNUMnLSTXxCa}8z delta 871 zcmV-t1DO1p2l57x7=Hu<0002){@+3X0016POjJbx0001bwGa>xQDApwv)6{Gz_8Qm zz023?{{H>_{cv1#P5=M^0d!JMQvg8b*k%9#0|H4zK~#8N?bN|;+CUHn;MG=nfu4G_ z78xfu1hSI{=mS_r1DuVR_`H=__1HRCd#$P*`nH`Judx9qxqnw3$-eOE|A#?By)^*p zMI@HrtjmmAa#4g3tLsjwI92CmHYn^$ zRiY#?4@y{mQwYO1gBH6fqOl5nq9DKX80J15(qJcjVRol;RC(H+&PXyyB32Z*sW@uC z;;07qBh(`9q<^NZ0A%$PR=CGCF3vl(p@FmbW*bqE?a{A?Q&koAbC8p8BLG?73{gWC zZafc%#r*p5Wzj1(LuDVf=IEDSO(+~AY};OygtF|bU#&#p)ktMfPu{ZD>9r* z76q52GQ1gDE!SovD)nvjrh)=k&9lSGs7WQ24P>HFkbn9#t^88dlF)mq;q6y@bym;r zc(`1Q74KE{D$Smqb2Z7!xGH9ai!KT>N3$h)$=VsIeb%XTYkTD`N~@Wiq7n7TBB&#d zWE-cXmY%~jiNrbUM2!PWSZ9cf`%~U2+pCWD3Yj(f;Z>=mQ^}OV!x|fU-+t|zUL}JXvy#}p3Tjy1CP8-UP|)+_BT{-egpEWEVKCp6q-c9BLR6%; zLDger=n^VnVOT277DP%K6nIu#!(9>YSex*39fQh#Qemeo0g0+3%~33mW2G%eksulJ z!d>tHF_swh$`TeJdA&LwV9rYO?|4?ak8(w)sDBVQrP6;2Q90p}s*RI@8R9Zh%5V(< zR+g0%nxa!iWB*5}T`bEJ>7=vJDO+lM4vH$T6a+OdwX0Q_JD1o_X^}1-sc!)hu#>9B zpoYqDQIT;W=df5@s3>7z$=9UnICi4y=%SI87RA*zyqj&F>C^;nrm zTVU0xnwslb;p{2~fI^KF2?7Zh8p0+nsBD&!GRA#hsL>ch(kOm91ptq3nYiC-Vi+dY x7*?=#c3MTGEWd<7K^4=}eV`2unSW{i&tGMNh9yyr!-@a^002ovPDHLkV1mV2mKXp4 diff --git a/public/images/pokemon/back/332.png b/public/images/pokemon/back/332.png index a6940fbaba6afde97a2b62e33b278898de560844..a432b1af4b25ae452c9cd11ff315671ed04c0ae8 100644 GIT binary patch literal 19460 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

      7NFb; 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 m0Kg}kMwYtCVza91S2_ReuI4)>c`yN@5e33{mM- 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 literal 3986 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 diff --git a/public/images/pokemon/back/398.png b/public/images/pokemon/back/398.png index 57fbb92e12f05544df2b8ead3ab4abc1ec89b91b..63ed37bfd15aa8172361952cbbaefea445a36669 100644 GIT binary patch literal 9730 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 O;N+x~B&)@Z1OE?TW>Yx; literal 9131 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

      &J%Aj-pC5-Xza!&m{JoZk|>_ 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 z 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π8aKcC1S-Z*)_Hql`4;#+XrF$N_SNv)#EDTgJqiTSB5%n>H*)k1@M0Ws&YJ#2U{44v(3q0I0ALYl_Vkal4 zR+(cRe$~4LxvG~^kIXb8uetKD0CpA@HS_6A3NT=jD1Mb@75<%gXi%Y2yxG^0)y9;3 z>{|AXmPc#`!OZ&Cu>{aPL$)GX2TdvMak>e#MlD`GJcgj;1I2AiR&Wk1ZdC^Nmb6_8 zNfyZ{l%Un+rRUoUyybsyZGixnaTvwF01D21%<0`9)nFJlJw_lH3}cJ#0CJx|>@&!I z>1r%~nYk+lQBUt%L?z4?Y&&tb2 z%jCw4>Kn;-`8FBeERcnqRtyaM_BJ^38^2&I(%bGUqYy;fxsbX~{QiRGCP6o-Nj~U} zA@;py*e<4Ev{jg#Js}oif#Z9~H<8M4l;qG~>=MG36a}qa0XCh6Z+;FGPDm^dnvyh@lQcq;CVylVv4Pl?(GTxbwR3NAtJVsF zy%Iu5EaQ#Ckl*J(_I2^K@M?r4rzI^KfxOF(>{m3bkV8|KpDq&fk6-icHKrFNipLO} z`*Lg$W)U;T0SQd@R0drn(L6d>!)+`{S2&0X_W%L?Ll5W>z*AgA)37*~g>i5^xiENW&ipvolUTg7p3RwV1^`B3}K)%ZcR&&XpMQU-ej_l0K*1!cv z`3=VG{NdJeY)#GOaeYXH7L{oB#AC6MZ+!IC`lexspH0?p(~5YIip&X;xU&p8A|lqZ ze_8;5eW|q{pxh-yz~EyiQRPiE<_i*JJnzwwVPtIgSslvxm2Xh)AB~^n|3_M5Qhw#7 zn5l9hZ^Z@wINemLrPoUl%6)+31lO8h0BsY20%x}HAD5TcPhJ%ES;am0*u!tyxt^=7 znjt*7dGs38;;j_<@s-q7q4TRLr?s}j3yi_@ong4qv)cAEX%Rr`av6T47U6+sgNfi; zbZgPoj?lJA&kzs%Q)|4;m6CDc^PA6XGY|v$JxCA8a)ohTm-;gnG(A8!|Co|{y-ZA} ztzX=|PROp5D^4PUu}EdVDcPE)Xcd6wT8>GPnJiSf5HbTS!-{rUSx}b;&N1OaB=<&8 zIuy}5j!X+D<=n*W9f*wU!CqGu7r)>h-;bm!?s0)pXH6q3_YhCv$eA@tvfhi*-$6(g z@GLp$v7a2C-bs_+3!vX?AA$k;oyJo(-=?(#+HDt15up!Q&t$bU1F8(BnCR`=nELal zzPb0A=S=M*annV_PnnGqNkyQ5QB-#1QeG1HjLldD-WM~^u&zxsJ^FgNQn<|IIDv(t zn<1B3<)MoH*-_6ugL^W0AV&gj-qoFJU%C!=MJ<(k|1d!Rf_3|%R!VvN1nr9sjE^^1 zxoo{q07h>MK@+b|B(w%QH!mj~90TT?d~Q!-8sU4c3_^Iezi&bJm{GDO6rr*v9@r#8 z?{d(L6(V)`ldfU&y(OGpwD5Sd$DH{}@RW^v->dCX^W;cM#Zh>} z;_+mB29=A)$5ZL=vIY)c(cgN}5NQ_UhjhlKa3K<-Qd~LZh9DKltPA3p=mK13iC(jh zIuZ5FDEQ7-&&Pcrb_~>Ckf;DEw>Mgr2T<0c9LEpnnqqox#Hs_rdnI1xSI93r1d$sK ze#wol>_T|_)tSlSRLaK?5-z$4=pSGpa?~Ax1MH`Gy!6dmjS)4iiu|Q}V|cuz2k^Ym zTw(S8Z%#QsGE=p^KmM@@SZMv{igSaHWo)iac#Qq3vZk{%8ndzgty$4u&aVWvV9z4^ zOeF)c;sgK48}t6t_pQV}zGsGLm}^qzlHQk^+{_`B@949*uVdF3wA0-6*vYy?MIgi8 z?$h$!Z#%kEC#(n#ZgdLIhP7CX225Q^D^%~I34f*K;+k}_R%|L{Vi1ZTKeR^g_)%uS zp!)7Wm9%C)#Bfd!2R0lx(k--4+ovxH!XK$1104Q8Y)+d1lr0L27RI2zHPGoghDhc7 zaytjnV4t@36}z!WeeDN|gAm!*^Xpw5&V=B(r$mZ^kuV6+y3pS&pHKX8d!@X#HzU3Y z(&qsIt1Qn*LLtYJtbyIkOi<$iN=%#M7oNm5(6P95x(WVQJTknom>#9|lNcsPjv9zl zA$jMRA1cI%e;GJl|L8HZ^ErXLB@@q}MxFaKg9w|49HOegcLccvyCiPLceZv+H(Bl+bbeN>jarRgb{Y! z0c-#S0_NXUt1rHz&1?Lk$vZYo(7Ini$OIaemDlWF6DN>Nl-Fd*kO9kbhIkGe0G0sW z;?;P+o;C`5Ocveut)8;eKA@LcY$A4h-Jr$&WL<73C+7gC^H_vyF`(+laDu6QT z{z%P!Z5CSueOg$&Os9=|%Ji_p=7-@6Vep?)rdW#0w$#$-M-EV4?T%>6#wI-|k^1(= z8YZMl#wX_I+9ZtmHOCW~jG#`26oo&(o>qYe{YWMo65jNCZsd~JEggas{@wm3L8-{t z79MqgDW=NOFpPB#v{tFDtLsmx85Fu@vLz z7|3F_|zaf`XgYgDBR?M)T>9)tgndStCq4+c;zuf|;g_u5TfZ@A)!9y)(e)b)RAUMk;9|Inzhkp7O2bKI?S81B`e@mT85#L%NLk-;? z4+_0NTbkQb;UTsc1n%wP&5O({R=OJrROYtS2w~=+0>Jc_N-)Fd2H2f2S)mYMq03HV z-~@jA=m=&$^uOr&-9}j!HBek|?m!Ex(CArpbG;j&JzZfQz5s~6*6U{vM;F9ycEcXx z+>w-C3`+21(kVnQiW;a$@sH)FfyBqXtV05{*VPyS*!jsxS+85`zRtVGYTQMUHsIpg=fl>E9?P%R0uft)%=-} zD(|Op0_AMU$2E@NXi314`;-7!shWnGF&2T9n*?_kJ&yPYjD)!vYkJ_DLzGraREoB1tKPq8QH29&dg!T#kG_N6n*|`6_I!bb z1bw|4&j_}(et0@_l2Du&_{AJcj)nn#lGtB7p@4IL_VoucrDx%0RX3bX(TF&1l5yu1 zl74c)WF5M_Wy4wQ&Z$?Sz)A^Kq+hmU2y@-CQJ!8g-Y@!9I-TyV3S>Yw4ssgl`qoNh z!4;Y^*x;0h-%XTmeV*&){iNCFgQZqg)Cyba;iH9C9tsnz2hK;zROZlQBFFI1)j z;~I-aC#2nsj_R|_92K*ZQ8YpxT+--fAbB}sX_4;W=%>HHuQsj+opkt6@tuJh-*8L1 zB*puEd$;fJ=2$@~z`WhfD-?G%(}s4}+7OAQb^k9c^OC_*KTG{~x1}VDJHNG%M4F@0 zmr2WiyTaKAg?=2-(#6+>VrC9Ue|n)vareD{(&(cWBFj_2^^}jl@RoLYSPk4$NfA8$ z##lnC*Hpr-O9}lxX>(pP`>VmWjuLvpaO8+NZbW*zamklI&a+Vc7tPJx&<_WtWWmst zMb%($VHs^YMf$3Pi6hofB-61{Z5K~34aTnsUq=wZ|evoS57?g={p5X%O0{J#I`Cr>+ zR0{vS!iVI-dy0uDL;IL=Zd+DbW7P?3yCn{RMB)Klc_mj`!&@ZuC*P*oGnuHMQSOL1 z)V+}>+r_nX{gS9L@-LhkDt|+}bh*EJN9!H7xuq=Q67RD-$l%!dMD>|Zd|#R*fBim< zTOk)y4tsgM_gC)7GCc6$vr-RV#hw+gv}sb4^#>Ht7@5N0JI}|50D)_qV-02tTiOr5 zlpzcr@66S>Y(*}e>LhR_cGHjd;Avc09^R}ps(t_M=*GVH=V!OeqOZ7Y^redG^PPS5 zoLOBHHLUBpac21k`2Dujd@-DUK@cBfl@irrFspE*@?VSQg~9jsHnGet9vT8VC2l$v-n}CTd@<()@I4I?aB2zOLYnHaIh%7#uy8 z3)E)1td;18RqJY04|dmr+!wVui+$a(=c*Zdbz7lXxnfiiHGJh#5xIT!ZXIs3fT(N; z26X5L)&CxL&WtV1#SF^Q1`Fu*gG0s6-hOqUALxwxUG1K_CEhtF?gKG`22OQ0hzU$@ zt@goTm#y>OfP$R^1ashOcVyE2XRHF;Y-ybSwlkw zEN_h~0~4S>pFnOzG+o`?egxTYcC=p={3uVjoGhclg{GCQlV8wDQfxG}4wootaD$76 z;m(}2!G59D4^7=Jvqwr6#A<*3I-L}!)S7U+OkOaPzuvZPl10BBg)E@`h zJ)~H<>h|Qm9`W!0A-#avh_qes_&&UToi5ywknwhgkBYGlA*f^e^TK){b`yzKhFl`D z79qgDoNo(cXe0c6a@lW~ya7~Dtkl_1y}aEiWx{uDm%a=Kue4tp-_`YwsMIB#MEh(U z1#dms>+%nLvE$WwgGEKR5p{|ZLjqbb0xkJ&8L3Ta$Rlr(w&`Pg(h;caYYoV3FFV=A z(P#5j5#QebK6Lud_Fj~&2TX<3PCDS6W;*IzA1JZ}7MVp};Kj5;k2 zi)g?Vs!-wXby&K8A$8bSIW=Fi;&_bIs?EuDy`4=>oxJkj-^U>?xzrXjQ8TK;@TP#d z9!t19m)aS!TI!DHeEZ9QPiu=iq8jT-F3Zh{<<0V%VyBxY2~J7utNqPlRIMK{6?Y>( z2cURYsq~Kz%X|;YtrvC|Cc3-blE0wth*9Wy?Z58U!rXV_%isxbGHY9qbN?Qa@Bv4z z7^|$aurZyGcKFV0`fRl-f$XqhZw^dLxD-yEdkYu1JKNWky8ZoC_dsRzG8ypKKIz#~ zr!#2p>oa}@kG;k0Fdt4I5wKp;I~WBc$L$eaZc{S+m2?)$;I-&|<2%!!QTWdiiL82l z{!abkqgloX-10A#%of+{pRf79h*GYa?EZP8BpvUee97@#d{oX(RQP!|0IVZu)BQ70 z(8OWZZRdAqwa>hIOVro@42P-iF$SDu+^;oTJ0C}EIArv`J8Ndn`$ea7InaXn5;{C5 zJy}d%+sILV53Kk3ow5D&*~aJ0hQf}oGCrSBa6>AT0EdGDmzwY8j98MR9pet&Ag{(d z%gH8rOFPEDYklP9GxG7VgUj`rOADUG7u9vNVXY)m~MKcFp zWZ@3U(mnu(uc9A&#%ym3n%chJlyj^NUsrzJ(ufKmgDA2uM>^k8zhsv^2^=YadKV<=lmQGimE^wu-1H%F- zc3J0oez57W4s_cBtvu@WnptgeD4L>ve55l=IjI;##h(KdI_pkk) z#f4>wmB6s=O>GK-@7&Sjx8Kbsb0q8`^v*M!YC}vHT)X7!S+8I0)?cv71(=!iO)&B9x%BXSiwz)q~F%zGc=D*vEHpB#qCrcFuy|e~i>CQQmQeAeU_AEn1 z9^Xge#`d~d6I>K5-?M~CIPJO?&B*{}!72TfpBYgu{m+qq?&WuNJmr4LdH z?I1b6ySwqS;3@cq&Bb~_XDo(=lFs|iOuYlMMQZ*eb!7C9O^uf6Rn?Z4^v7y(F|HSr zuvxCOyW_Ai^9LOgE~ueQ;QQsne?!d$RNt zC@Z8(Qah0IEwtbvgZRNax7~h;(Cz&y1*1wW&iJ=M?|$`r?M(OhrUE12xf|$8HM1m~ zZVdc3IsjES%8Ct8*Qrb&ctaEY<95T;QI%q~g6!!2c7qbeO4ToWo%VTX2{CkF&!Ol z&u;sQT|Tx!A#3WlC1k!KZ*_4lYG4KC#LO#DlB+fn_x-Sc>Ls&?Q=s|kqw{&oV`|@U zOSJ@-_|7M6p$=q~I(?;rcFbO-SDq8r;@-|jZ_w9%4+0WP#KkE-R&?wH()?Lbswx_(pF#w-P&L1C)nCIF z_H1P7>>(GeqS41E)H5e)y0$aR54N4?{bLBZLs(x9g0pxT{lBj}`(I=S6~&VsI{koE zW1IY3)vR^M1tM;Ula9AA%|$}hlRPO@ec5IUXzf@HOdwKSzWR$^^}2gSitrCxNiNS{ zmmOcbIMHj?M+Hu@mopN64?5>uK+8SF%MMf=a~OZd$1k-pD;jl{*)GU$@0mSn8d3;A+|BgtxI$ZXOyJg@q-sMJ%7Y(=CfI6 ZfmnM~`_zl=>h8aWXsBo_7b#f<{|}vo)&u|m literal 34509 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

    5A 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%0D#n?FfXvgvS67%9)=BKQL0W{8LJALVC`)Lhw#w zaKXodH;OIBEQJSfvXhV=AE+~=-hiTC*!m}+2_)-LOrFg|1u0%d=T~0d9W?G)P}n|_C@3J?^ibI?ys@{eu~?YV1D#zosIJA9wany0%!_V z^+_NsM4HJh=M2|JSSWHN=A4;;p06s;onLuzAq#T7nKoQN{`C~eip_;AfA#@GwnmZD zw|_#AQH1I<=EhcCW;aO=naLs4s Nu(fiuyo2{i{U2J#)Jy;X diff --git a/public/images/pokemon/34.png b/public/images/pokemon/34.png index 3eec3a668054e7192811392c42fa0bdacc5fce4f..e697a987354cd2520b11677cadccad412a97a087 100644 GIT binary patch literal 39759 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 YSR*Em-}op4`Sm7PAW&w{;5TCb1CgK;fdBvi diff --git a/public/images/pokemon/397.png b/public/images/pokemon/397.png index 0197ee7182eda0c9df8a1bd9684cb3736933859c..e9d14db7eab58a7b91ff5dd75c5f964549d485d3 100644 GIT binary patch literal 3936 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 diff --git a/public/images/pokemon/398.png b/public/images/pokemon/398.png index 55f8c7c09a322ad9a1ebff25d39dd5ed5f7ca82d..d1adb74b7caa7b63391851142db0c3ff45b3c7d7 100644 GIT binary patch literal 9849 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 WHknl4`tju#hKi!5!XG)y&;JL;1f9$P literal 9396 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