diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 70b3f282eb0..cc294e0944c 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -2612,7 +2612,8 @@ export class ImprisonTag extends MoveRestrictionBattlerTag { override isMoveRestricted(move: Moves, user: Pokemon): boolean { const source = this.retrieveSource(user.scene); if (source) { - return source?.isActive(true) ?? false; + const sourceMoveset = source.getMoveset().map(m => m!.moveId); + return sourceMoveset?.includes(move) && source.isActive(true); } return false; } diff --git a/src/data/move.ts b/src/data/move.ts index 748f81cdd8b..d9efd2cc3bd 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -7606,7 +7606,8 @@ export function initMoves() { .attr(SwitchAbilitiesAttr), new StatusMove(Moves.IMPRISON, Type.PSYCHIC, 100, 10, -1, 0, 3) .ignoresSubstitute() - .attr(AddArenaTagAttr, ArenaTagType.IMPRISON, 1, true, false), + .attr(AddArenaTagAttr, ArenaTagType.IMPRISON, 1, true, false) + .target(MoveTarget.ENEMY_SIDE), new SelfStatusMove(Moves.REFRESH, Type.NORMAL, -1, 20, -1, 0, 3) .attr(HealStatusEffectAttr, true, StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN) .condition((user, target, move) => !!user.status && (user.status.effect === StatusEffect.PARALYSIS || user.status.effect === StatusEffect.POISON || user.status.effect === StatusEffect.TOXIC || user.status.effect === StatusEffect.BURN)),