From 918a0d77f17a25cef6f4b63aee4acaf5290ff637 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Thu, 21 Mar 2024 12:18:10 -0400 Subject: [PATCH] Fix for single battle trainer summoning issue --- src/data/move.ts | 2 +- src/field/trainer.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) 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]);