From 880736277ada4a91fbfb7a38557c6e5fa3b2dcd3 Mon Sep 17 00:00:00 2001 From: frutescens Date: Mon, 23 Sep 2024 19:28:31 -0700 Subject: [PATCH] Added exceptions for Rollout and check for active ability --- src/data/arena-tag.ts | 2 +- src/data/battler-tags.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 03d5d25d28d..6da8ca76b57 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -973,7 +973,7 @@ class AromaVeilTag extends ArenaTag { } lapse(_arena: Arena): boolean { - return this.source.isActive(true); + return this.source.isActive(true) && this.source.hasAbility(Abilities.AROMA_VEIL); } apply(arena: Arena, args: any[]): boolean { diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index b0280d8d3bd..c9fc72676ba 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -3,7 +3,7 @@ import { getPokemonNameWithAffix } from "../messages"; import Pokemon, { MoveResult, HitResult } from "../field/pokemon"; import { StatusEffect } from "./status-effect"; import * as Utils from "../utils"; -import { ChargeAttr, MoveFlags, allMoves, MoveCategory, applyMoveAttrs, StatusCategoryOnAllyAttr, HealOnAllyAttr } from "./move"; +import { ChargeAttr, MoveFlags, allMoves, MoveCategory, applyMoveAttrs, StatusCategoryOnAllyAttr, HealOnAllyAttr, ConsecutiveUseDoublePowerAttr } from "./move"; import { Type } from "./type"; import { BlockNonDirectDamageAbAttr, FlinchEffectAbAttr, ReverseDrainAbAttr, applyAbAttrs, ProtectStatAbAttr } from "./ability"; import { TerrainType } from "./terrain"; @@ -2481,7 +2481,8 @@ export class TormentTag extends MoveRestrictionBattlerTag { if ( !lastMove ) { return false; } - if (lastMove.move === move && lastMove.result === MoveResult.SUCCESS && lastMove.move !== Moves.STRUGGLE) { + const isLockedIntoMove = allMoves[lastMove.move].hasAttr(ConsecutiveUseDoublePowerAttr); + if (lastMove.move === move && lastMove.result === MoveResult.SUCCESS && lastMove.move !== Moves.STRUGGLE && !isLockedIntoMove) { return true; } return false;