2024-09-08 04:37:37 +00:00
|
|
|
import BattleScene from "#app/battle-scene";
|
|
|
|
import { trainerConfigs } from "#app/data/trainer-config";
|
|
|
|
import { TrainerType } from "#app/enums/trainer-type";
|
2024-08-19 02:23:52 +00:00
|
|
|
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];
|
2024-10-04 05:08:31 +00:00
|
|
|
[ config.encounterMessages, config.femaleEncounterMessages, config.victoryMessages, config.femaleVictoryMessages, config.defeatMessages, config.femaleDefeatMessages ]
|
2024-08-19 02:23:52 +00:00
|
|
|
.map(messages => {
|
|
|
|
if (messages?.length) {
|
|
|
|
testMessages.push(...messages);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
for (const message of testMessages) {
|
|
|
|
this.scene.pushPhase(new TestMessagePhase(this.scene, message));
|
|
|
|
}
|
|
|
|
|
|
|
|
this.end();
|
|
|
|
}
|
|
|
|
}
|