diff --git a/src/data/ability.ts b/src/data/ability.ts index 81206acc844..b451d69019e 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -4823,10 +4823,6 @@ class ForceSwitchOutHelper { const player = switchOutTarget instanceof PlayerPokemon; if (player) { - if (!player && pokemon.scene.currentBattle.isBattleMysteryEncounter() && !pokemon.scene.currentBattle.mysteryEncounter?.fleeAllowed) { - return false; - } - const blockedByAbility = new Utils.BooleanHolder(false); applyAbAttrs(ForceSwitchOutImmunityAbAttr, opponent, blockedByAbility); return !blockedByAbility.value; @@ -4838,6 +4834,10 @@ class ForceSwitchOutHelper { } } + if (!player && pokemon.scene.currentBattle.isBattleMysteryEncounter() && !pokemon.scene.currentBattle.mysteryEncounter?.fleeAllowed) { + return false; + } + const party = player ? pokemon.scene.getParty() : pokemon.scene.getEnemyParty(); return (!player && !pokemon.scene.currentBattle.battleType) || party.filter(p => p.isAllowedInBattle() @@ -4955,10 +4955,6 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { return false; } } - // Trapping moves do not prevent activation - if (pokemon.getTag(BattlerTagType.TRAPPED) !== undefined) { - pokemon.removeTag(BattlerTagType.TRAPPED); - } return this.helper.switchOutLogic(pokemon); } else { return false;