diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 119b7bc9c4a..b4e4ad1130d 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -288,25 +288,29 @@ export default class RunInfoUiHandler extends UiHandler { private parseTrainerDefeat(enemyContainer: Phaser.GameObjects.Container) { // Creating the trainer sprite and adding it to enemyContainer const tObj = this.runInfo.trainer.toTrainer(this.scene); - const tObjSpriteKey = tObj.config.getSpriteKey(this.runInfo.trainer.variant === TrainerVariant.FEMALE, false); - const tObjSprite = this.scene.add.sprite(0, 5, tObjSpriteKey); - if (this.runInfo.trainer.variant === TrainerVariant.DOUBLE) { - const doubleContainer = this.scene.add.container(5, 8); - tObjSprite.setPosition(-3, -3); - const tObjPartnerSpriteKey = tObj.config.getSpriteKey(true, true); - const tObjPartnerSprite = this.scene.add.sprite(5, -3, tObjPartnerSpriteKey); - // Double Trainers have smaller sprites than Single Trainers - tObjPartnerSprite.setScale(0.20); - tObjSprite.setScale(0.20); - doubleContainer.add(tObjSprite); - doubleContainer.add(tObjPartnerSprite); - doubleContainer.setPosition(12, 38); - enemyContainer.add(doubleContainer); - } else { - tObjSprite.setScale(0.35, 0.35); - tObjSprite.setPosition(12, 28); - enemyContainer.add(tObjSprite); - } + + // Loads trainer assets on demand, as they are not loaded by default in the scene + tObj.config.loadAssets(this.scene, this.runInfo.trainer.variant).then(() => { + const tObjSpriteKey = tObj.config.getSpriteKey(this.runInfo.trainer.variant === TrainerVariant.FEMALE, false); + const tObjSprite = this.scene.add.sprite(0, 5, tObjSpriteKey); + if (this.runInfo.trainer.variant === TrainerVariant.DOUBLE) { + const doubleContainer = this.scene.add.container(5, 8); + tObjSprite.setPosition(-3, -3); + const tObjPartnerSpriteKey = tObj.config.getSpriteKey(true, true); + const tObjPartnerSprite = this.scene.add.sprite(5, -3, tObjPartnerSpriteKey); + // Double Trainers have smaller sprites than Single Trainers + tObjPartnerSprite.setScale(0.20); + tObjSprite.setScale(0.20); + doubleContainer.add(tObjSprite); + doubleContainer.add(tObjPartnerSprite); + doubleContainer.setPosition(12, 38); + enemyContainer.add(doubleContainer); + } else { + tObjSprite.setScale(0.35, 0.35); + tObjSprite.setPosition(12, 28); + enemyContainer.add(tObjSprite); + } + }); // Determining which Terastallize Modifier belongs to which Pokemon // Creates a dictionary {PokemonId: TeraShardType}