diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 8436231dddf..36659acf28c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2527,8 +2527,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Resets the status of a pokemon. * @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. */ - resetStatus(revive: boolean = true, confusion: boolean = false): void { + resetStatus(revive: boolean = true, confusion: boolean = false, reloadAssets: boolean = false): void { const lastStatus = this.status?.effect; if (!revive && lastStatus === StatusEffect.FAINT) { return; @@ -2545,6 +2546,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.lapseTag(BattlerTagType.CONFUSED); } } + if (reloadAssets) { + this.loadAssets(false).then(() => this.playAnim()); + } } primeSummonData(summonDataPrimer: PokemonSummonData): void { diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 832c16ee4a9..85746e30bb6 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1091,8 +1091,7 @@ export class PokemonInstantReviveModifier extends PokemonHeldItemModifier { pokemon.scene.unshiftPhase(new PokemonHealPhase(pokemon.scene, pokemon.getBattlerIndex(), Math.max(Math.floor(pokemon.getMaxHp() / 2), 1), getPokemonMessage(pokemon, ` was revived\nby its ${this.type.name}!`), false, false, true)); - pokemon.resetStatus(); - + pokemon.resetStatus(true, false, true); return true; }