pokerogue/src/phases/trainer-message-test-phase.ts
Sirz Benjie 5f01caffae
[Refactor] Minor refactor of trainer-config files (#5573)
* Move trainer-config.ts

* move TeraAIMode enum to its own file

* Move TrainerPoolTier enum to its own file

* Move TrainerSlot enum to its own file

* Reorder and group imports

* Move TrainerPartyTemplate to its own file

* Remove speciesPoolPerEvilTeamAdmin method

* Apply kev's suggestions from code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Fix typo in zinzolin's name

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-29 00:19:35 -04:00

48 lines
1.3 KiB
TypeScript

import { globalScene } from "#app/global-scene";
import { trainerConfigs } from "#app/data/trainers/trainer-config";
import type { 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(...trainerTypes: TrainerType[]) {
super();
this.trainerTypes = trainerTypes;
}
start() {
super.start();
const testMessages: string[] = [];
for (const t of Object.keys(trainerConfigs)) {
const type = Number.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) {
globalScene.pushPhase(new TestMessagePhase(message));
}
this.end();
}
}