From 3a218eb92b7e442dc856431112d7d734d4dcd002 Mon Sep 17 00:00:00 2001 From: Ivan Perez Date: Sat, 4 May 2024 22:35:47 -0700 Subject: [PATCH] Fixed a bug where a yawned target in a semi-vulnerable state would be stuck in that state (#396) --- src/field/pokemon.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 7281090b3..606185e09 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1904,6 +1904,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { applyAbAttrs(ReduceStatusEffectDurationAbAttr, this, null, effect, statusCureTurn); this.setFrameRate(4); + + // If the user is invulnerable, lets remove their invulnerability when they fall asleep + const invulnerableTags = [ + BattlerTagType.UNDERGROUND, + BattlerTagType.UNDERWATER, + BattlerTagType.HIDDEN, + BattlerTagType.FLYING + ]; + + const tag = invulnerableTags.find((t) => this.getTag(t)); + + if (tag) { + this.removeTag(tag); + this.getMoveQueue().pop(); + } } this.status = new Status(effect, 0, statusCureTurn?.value);