[Bug] Fixed reviving while transformed not resetting the sprite (#2152)

* Fixed reviving while transformed not resetting the sprite

* Made reload assets in resetStatus optional
This commit is contained in:
Ei 2024-06-12 23:08:15 +01:00 committed by GitHub
parent da37069457
commit 589d06c15e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 3 deletions

View File

@ -2527,8 +2527,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
* Resets the status of a pokemon. * Resets the status of a pokemon.
* @param revive Whether revive should be cured; defaults to true. * @param revive Whether revive should be cured; defaults to true.
* @param confusion Whether resetStatus should include confusion or not; defaults to false. * @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; const lastStatus = this.status?.effect;
if (!revive && lastStatus === StatusEffect.FAINT) { if (!revive && lastStatus === StatusEffect.FAINT) {
return; return;
@ -2545,6 +2546,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
this.lapseTag(BattlerTagType.CONFUSED); this.lapseTag(BattlerTagType.CONFUSED);
} }
} }
if (reloadAssets) {
this.loadAssets(false).then(() => this.playAnim());
}
} }
primeSummonData(summonDataPrimer: PokemonSummonData): void { primeSummonData(summonDataPrimer: PokemonSummonData): void {

View File

@ -1091,8 +1091,7 @@ export class PokemonInstantReviveModifier extends PokemonHeldItemModifier {
pokemon.scene.unshiftPhase(new PokemonHealPhase(pokemon.scene, pokemon.getBattlerIndex(), 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)); 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; return true;
} }