Fix opponent post-summon ability triggers happening twice in trainer battles
parent
52039849ac
commit
cc27913728
|
@ -383,6 +383,7 @@ export class EncounterPhase extends BattlePhase {
|
|||
this.scene.unshiftPhase(new ShinySparklePhase(this.scene, BattlerIndex.ENEMY + e));
|
||||
});
|
||||
|
||||
if (this.scene.currentBattle.battleType !== BattleType.TRAINER)
|
||||
enemyField.map(p => this.scene.pushPhase(new PostSummonPhase(this.scene, p.getBattlerIndex())));
|
||||
|
||||
// TODO: Remove
|
||||
|
|
|
@ -39,6 +39,9 @@ export enum FieldPosition {
|
|||
const ABILITY_OVERRIDE = Abilities.NONE;
|
||||
const MOVE_OVERRIDE = Moves.NONE;
|
||||
|
||||
const OPP_ABILITY_OVERRIDE = Abilities.NONE;
|
||||
const OPP_MOVE_OVERRIDE = Moves.NONE;
|
||||
|
||||
export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
public id: integer;
|
||||
public name: string;
|
||||
|
@ -494,6 +497,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
getAbility(): Ability {
|
||||
if (ABILITY_OVERRIDE && this.isPlayer())
|
||||
return abilities[ABILITY_OVERRIDE];
|
||||
if (OPP_ABILITY_OVERRIDE && !this.isPlayer())
|
||||
return abilities[OPP_ABILITY_OVERRIDE];
|
||||
if (this.fusionSpecies)
|
||||
return abilities[this.getFusionSpeciesForm().getAbility(this.fusionAbilityIndex)];
|
||||
return abilities[this.getSpeciesForm().getAbility(this.abilityIndex)];
|
||||
|
@ -619,6 +624,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
|
||||
if (MOVE_OVERRIDE && this.isPlayer())
|
||||
this.moveset[0] = new PokemonMove(MOVE_OVERRIDE);
|
||||
else if (OPP_MOVE_OVERRIDE && !this.isPlayer())
|
||||
this.moveset[0] = new PokemonMove(OPP_MOVE_OVERRIDE);
|
||||
}
|
||||
|
||||
trySelectMove(moveIndex: integer, ignorePp?: boolean): boolean {
|
||||
|
|
Loading…
Reference in New Issue