diff --git a/src/data/move.ts b/src/data/move.ts index 1118eba4e..2fb231cbb 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2104,7 +2104,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { switchOutTarget.scene.field.remove(switchOutTarget); if (switchOutTarget.hp) - user.scene.unshiftPhase(new SwitchSummonPhase(user.scene, switchOutTarget.getFieldIndex(), user.scene.currentBattle.trainer.getNextSummonIndex(), false, this.batonPass, false)); + user.scene.unshiftPhase(new SwitchSummonPhase(user.scene, switchOutTarget.getFieldIndex(), user.scene.currentBattle.trainer.getNextSummonIndex((switchOutTarget as EnemyPokemon).trainerSlot), false, this.batonPass, false)); } else { switchOutTarget.setVisible(false); diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 8bad32697..b2fa9fd32 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -302,6 +302,9 @@ export default class Trainer extends Phaser.GameObjects.Container { } getNextSummonIndex(trainerSlot: TrainerSlot = TrainerSlot.NONE, partyMemberScores: [integer, integer][] = this.getPartyMemberMatchupScores(trainerSlot)): integer { + if (trainerSlot && !this.isDouble()) + trainerSlot = TrainerSlot.NONE; + const sortedPartyMemberScores = this.getSortedPartyMemberMatchupScores(partyMemberScores); const maxScorePartyMemberIndexes = partyMemberScores.filter(pms => pms[1] === sortedPartyMemberScores[0][1]).map(pms => pms[0]);