Fix issue with battle continuing after enemy faint
This commit is contained in:
parent
b9f7ba173d
commit
b0112c5acb
|
@ -2299,6 +2299,7 @@ export class AttemptCapturePhase extends PokemonPhase {
|
|||
Promise.all(modifiers.map(m => this.scene.addModifier(m))).then(() => {
|
||||
this.scene.getPlayerField().forEach(playerPokemon => playerPokemon.removeTagsBySourceId(pokemon.id));
|
||||
pokemon.hp = 0;
|
||||
pokemon.trySetStatus(StatusEffect.FAINT);
|
||||
this.scene.clearEnemyModifiers();
|
||||
this.scene.field.remove(pokemon, true);
|
||||
if (newPokemon)
|
||||
|
|
|
@ -23,7 +23,7 @@ import { WeatherType } from './data/weather';
|
|||
import { TempBattleStat } from './data/temp-battle-stat';
|
||||
import { ArenaTagType, WeakenMoveTypeTag } from './data/arena-tag';
|
||||
import { Biome } from './data/biome';
|
||||
import { Abilities, Ability, BattleStatMultiplierAbAttr, BattlerTagImmunityAbAttr, BlockCritAbAttr, PreApplyBattlerTagAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, abilities, applyBattleStatMultiplierAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs } from './data/ability';
|
||||
import { Abilities, Ability, BattleStatMultiplierAbAttr, BlockCritAbAttr, PreApplyBattlerTagAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, abilities, applyBattleStatMultiplierAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs } from './data/ability';
|
||||
import PokemonData from './system/pokemon-data';
|
||||
import { BattlerIndex } from './battle';
|
||||
|
||||
|
@ -884,7 +884,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
}
|
||||
|
||||
trySetStatus(effect: StatusEffect): boolean {
|
||||
if (this.status)
|
||||
if (this.status && effect !== StatusEffect.FAINT)
|
||||
return false;
|
||||
switch (effect) {
|
||||
case StatusEffect.POISON:
|
||||
|
|
|
@ -192,7 +192,7 @@ export class GameData {
|
|||
scene.pokeballCounts[key] = sessionData.pokeballCounts[key] || 0;
|
||||
});
|
||||
|
||||
scene.newArena(sessionData.arena.biome, sessionData.enemyField.length > 1);
|
||||
scene.newArena(sessionData.arena.biome, true);
|
||||
const battle = scene.newBattle(sessionData.waveIndex, sessionData.enemyField.length > 1);
|
||||
|
||||
sessionData.enemyField.forEach((enemyData, e) => {
|
||||
|
|
Loading…
Reference in New Issue