Fix softlock with switch out moves used on player
This commit is contained in:
parent
211d8d3636
commit
2cc38ac2cb
|
@ -2096,7 +2096,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr {
|
||||||
return resolve(false);
|
return resolve(false);
|
||||||
const switchOutTarget = this.user ? user : target;
|
const switchOutTarget = this.user ? user : target;
|
||||||
if (switchOutTarget instanceof PlayerPokemon) {
|
if (switchOutTarget instanceof PlayerPokemon) {
|
||||||
(switchOutTarget as PlayerPokemon).switchOut(this.batonPass).then(() => resolve(true));
|
(switchOutTarget as PlayerPokemon).switchOut(this.batonPass, true).then(() => resolve(true));
|
||||||
return;
|
return;
|
||||||
} else if (user.scene.currentBattle.battleType) {
|
} else if (user.scene.currentBattle.battleType) {
|
||||||
switchOutTarget.resetTurnData();
|
switchOutTarget.resetTurnData();
|
||||||
|
|
|
@ -2057,7 +2057,7 @@ export class PlayerPokemon extends Pokemon {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
switchOut(batonPass: boolean): Promise<void> {
|
switchOut(batonPass: boolean, removeFromField: boolean = false): Promise<void> {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
this.resetTurnData();
|
this.resetTurnData();
|
||||||
this.resetSummonData();
|
this.resetSummonData();
|
||||||
|
@ -2067,6 +2067,11 @@ export class PlayerPokemon extends Pokemon {
|
||||||
this.scene.ui.setMode(Mode.PARTY, PartyUiMode.FAINT_SWITCH, this.getFieldIndex(), (slotIndex: integer, option: PartyOption) => {
|
this.scene.ui.setMode(Mode.PARTY, PartyUiMode.FAINT_SWITCH, this.getFieldIndex(), (slotIndex: integer, option: PartyOption) => {
|
||||||
if (slotIndex >= this.scene.currentBattle.getBattlerCount() && slotIndex < 6)
|
if (slotIndex >= this.scene.currentBattle.getBattlerCount() && slotIndex < 6)
|
||||||
this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, this.getFieldIndex(), slotIndex, false, batonPass));
|
this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, this.getFieldIndex(), slotIndex, false, batonPass));
|
||||||
|
if (removeFromField) {
|
||||||
|
this.setVisible(false);
|
||||||
|
this.scene.field.remove(this);
|
||||||
|
this.scene.triggerPokemonFormChange(this, SpeciesFormChangeActiveTrigger, true);
|
||||||
|
}
|
||||||
this.scene.ui.setMode(Mode.MESSAGE).then(() => resolve());
|
this.scene.ui.setMode(Mode.MESSAGE).then(() => resolve());
|
||||||
}, PartyUiHandler.FilterNonFainted);
|
}, PartyUiHandler.FilterNonFainted);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue