From 211e0fc1e084f76d84d6b5a78777dc2343f08e0c Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Mon, 26 Aug 2024 16:23:53 -0400 Subject: [PATCH] Refactor apply function to follow the async/await pattern --- src/data/move.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 742f3b4d6e7..1a26d4c9684 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2773,23 +2773,22 @@ export class ResetStatsAttr extends MoveEffectAttr { super(); this.targetAllPokemon = targetAllPokemon; } - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise { - return new Promise((resolve) => { - const promises: Promise[] = []; - if (this.targetAllPokemon) { // Target all pokemon on the field when Freezy Frost or Haze are used - const activePokemon = user.scene.getField(true); - activePokemon.forEach(p => promises.push(this.resetStats(p))); - target.scene.queueMessage(i18next.t("moveTriggers:statEliminated")); - } else { // Affects only the single target when Clear Smog is used - promises.push(this.resetStats(target)); - target.scene.queueMessage(i18next.t("moveTriggers:resetStats", {pokemonName: getPokemonNameWithAffix(target)})); - } + async apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise { + const promises: Promise[] = []; + if (this.targetAllPokemon) { // Target all pokemon on the field when Freezy Frost or Haze are used + const activePokemon = user.scene.getField(true); + activePokemon.forEach(p => promises.push(this.resetStats(p))); + target.scene.queueMessage(i18next.t("moveTriggers:statEliminated")); + } else { // Affects only the single target when Clear Smog is used + promises.push(this.resetStats(target)); + target.scene.queueMessage(i18next.t("moveTriggers:resetStats", {pokemonName: getPokemonNameWithAffix(target)})); + } - Promise.all(promises).then(() => resolve(true)); - }); + await Promise.all(promises); + return true; } - resetStats(pokemon: Pokemon): Promise { + async resetStats(pokemon: Pokemon): Promise { for (let s = 0; s < pokemon.summonData.battleStats.length; s++) { pokemon.summonData.battleStats[s] = 0; }