pokerogue/src/phases/trainer-message-test-phase.ts

42 lines
1.2 KiB
TypeScript

import BattleScene from "#app/battle-scene";
import { trainerConfigs } from "#app/data/trainer-config";
import { TrainerType } from "#app/enums/trainer-type";
import { BattlePhase } from "./battle-phase";
import { TestMessagePhase } from "./test-message-phase";
export class TrainerMessageTestPhase extends BattlePhase {
private trainerTypes: TrainerType[];
constructor(scene: BattleScene, ...trainerTypes: TrainerType[]) {
super(scene);
this.trainerTypes = trainerTypes;
}
start() {
super.start();
const testMessages: string[] = [];
for (const t of Object.keys(trainerConfigs)) {
const type = parseInt(t);
if (this.trainerTypes.length && !this.trainerTypes.find(tt => tt === type as TrainerType)) {
continue;
}
const config = trainerConfigs[type];
[ config.encounterMessages, config.femaleEncounterMessages, config.victoryMessages, config.femaleVictoryMessages, config.defeatMessages, config.femaleDefeatMessages ]
.map(messages => {
if (messages?.length) {
testMessages.push(...messages);
}
});
}
for (const message of testMessages) {
this.scene.pushPhase(new TestMessagePhase(this.scene, message));
}
this.end();
}
}