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);