diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index b1e7f48d3db..3eb194d3966 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -3398,12 +3398,14 @@ export class EnemyPokemon extends Pokemon { public aiType: AiType; public bossSegments: integer; public bossSegmentIndex: integer; + public readonly isPopulatedFromDataSource: boolean; constructor(scene: BattleScene, species: PokemonSpecies, level: integer, trainerSlot: TrainerSlot, boss: boolean, dataSource: PokemonData) { super(scene, 236, 84, species, level, dataSource?.abilityIndex, dataSource?.formIndex, dataSource?.gender, dataSource ? dataSource.shiny : false, dataSource ? dataSource.variant : undefined, null, dataSource ? dataSource.nature : undefined, dataSource); this.trainerSlot = trainerSlot; + this.isPopulatedFromDataSource = !!dataSource; if (boss) { this.setBoss(boss, dataSource?.bossSegments); } diff --git a/src/phases.ts b/src/phases.ts index fcaf3ca4160..6865c030730 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -870,7 +870,7 @@ export class EncounterPhase extends BattlePhase { } else { if (battle.enemyParty.filter(p => p.isBoss()).length > 1) { for (const enemyPokemon of battle.enemyParty) { - if (enemyPokemon.isBoss()) { + if (enemyPokemon.isBoss() && !enemyPokemon.isPopulatedFromDataSource) { enemyPokemon.setBoss(true, Math.ceil(enemyPokemon.bossSegments * (enemyPokemon.getSpeciesForm().baseTotal / totalBst))); enemyPokemon.initBattleInfo(); }