Compare commits

...

3 Commits

3 changed files with 3 additions and 19 deletions

View File

@ -3903,12 +3903,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr {
const targets = pokemon.getOpponents();
const target = this.getTarget(targets);
//Prevents Imposter from triggering on a transformed target or if the user is already transformed
if (pokemon?.isTransformed() || target?.isTransformed()) {
return false;
}
if (target?.summonData?.illusion) {
if (target?.summonData?.illusion || pokemon?.isTransformed() || target?.isTransformed()) {
return false;
}

View File

@ -7610,13 +7610,13 @@ export class SuppressAbilitiesIfActedAttr extends MoveEffectAttr {
*/
export class TransformAttr extends MoveEffectAttr {
override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (!super.apply(user, target, move, args)) {
if (!super.apply(user, target, move, args) || (target.isTransformed() || user.isTransformed())) {
globalScene.phaseManager.queueMessage(i18next.t("battle:attackFailed"));
return false;
}
globalScene.phaseManager.unshiftNew("PokemonTransformPhase", user.getBattlerIndex(), target.getBattlerIndex());
return true;
}
}

View File

@ -339,17 +339,6 @@ export class MovePhase extends BattlePhase {
this.showMoveText();
}
if (
//Prevent using Transform if either the user or target is already transformed
this.move.getMove().id === MoveId.TRANSFORM &&
(targets[0].isTransformed() || this.pokemon.isTransformed())
) {
this.showMoveText();
this.showFailedText();
this.end();
return;
}
// Clear out any two turn moves once they've been used.
// TODO: Refactor move queues and remove this assignment;
// Move queues should be handled by the calling `CommandPhase` or a manager for it