mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-06 16:32:16 +02:00
Resolves bugs with freezy frost vs ally, and freezy frost fainting opp
This commit is contained in:
parent
828897316e
commit
b65b55a00e
@ -2773,28 +2773,27 @@ export class ResetStatsAttr extends MoveEffectAttr {
|
|||||||
super();
|
super();
|
||||||
this.targetAllPokemon = targetAllPokemon;
|
this.targetAllPokemon = targetAllPokemon;
|
||||||
}
|
}
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise<boolean> {
|
||||||
if (!super.apply(user, target, move, args)) {
|
return new Promise<boolean>((resolve) => {
|
||||||
return false;
|
const promises: Promise<void>[] = [];
|
||||||
}
|
|
||||||
|
|
||||||
if (this.targetAllPokemon) { // Target all pokemon on the field when Freezy Frost or Haze are used
|
if (this.targetAllPokemon) { // Target all pokemon on the field when Freezy Frost or Haze are used
|
||||||
const activePokemon = user.scene.getField(true);
|
const activePokemon = user.scene.getField(true);
|
||||||
activePokemon.forEach(p => this.resetStats(p));
|
activePokemon.forEach(p => promises.push(this.resetStats(p)));
|
||||||
target.scene.queueMessage(i18next.t("moveTriggers:statEliminated"));
|
target.scene.queueMessage(i18next.t("moveTriggers:statEliminated"));
|
||||||
} else { // Affects only the single target when Clear Smog is used
|
} else { // Affects only the single target when Clear Smog is used
|
||||||
this.resetStats(target);
|
promises.push(this.resetStats(target));
|
||||||
target.scene.queueMessage(i18next.t("moveTriggers:resetStats", {pokemonName: getPokemonNameWithAffix(target)}));
|
target.scene.queueMessage(i18next.t("moveTriggers:resetStats", {pokemonName: getPokemonNameWithAffix(target)}));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
Promise.all(promises).then(() => resolve(true));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
resetStats(pokemon: Pokemon) {
|
resetStats(pokemon: Pokemon): Promise<void> {
|
||||||
for (let s = 0; s < pokemon.summonData.battleStats.length; s++) {
|
for (let s = 0; s < pokemon.summonData.battleStats.length; s++) {
|
||||||
pokemon.summonData.battleStats[s] = 0;
|
pokemon.summonData.battleStats[s] = 0;
|
||||||
}
|
}
|
||||||
pokemon.updateInfo();
|
return pokemon.updateInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user