mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-03-09 11:31:49 +00:00
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
|
import { Species } from "#app/enums/species.js";
|
||
|
import { GameModes, getGameMode } from "#app/game-mode.js";
|
||
|
import overrides from "#app/overrides.js";
|
||
|
import { EncounterPhase, SelectStarterPhase } from "#app/phases.js";
|
||
|
import { Mode } from "#app/ui/ui.js";
|
||
|
import { generateStarter } from "../gameManagerUtils";
|
||
|
import { GameManagerHelper } from "./gameManagerHelper";
|
||
|
|
||
|
/**
|
||
|
* Helper to handle classic mode specifics
|
||
|
*/
|
||
|
export class ClassicModeHelper extends GameManagerHelper {
|
||
|
|
||
|
/**
|
||
|
* Runs the classic game to the summon phase.
|
||
|
* @param species - Optional array of species to summon.
|
||
|
* @returns A promise that resolves when the summon phase is reached.
|
||
|
*/
|
||
|
async runToSummon(species?: Species[]) {
|
||
|
await this.game.runToTitle();
|
||
|
|
||
|
this.game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
|
||
|
this.game.scene.gameMode = getGameMode(GameModes.CLASSIC);
|
||
|
const starters = generateStarter(this.game.scene, species);
|
||
|
const selectStarterPhase = new SelectStarterPhase(this.game.scene);
|
||
|
this.game.scene.pushPhase(new EncounterPhase(this.game.scene, false));
|
||
|
selectStarterPhase.initBattle(starters);
|
||
|
});
|
||
|
|
||
|
await this.game.phaseInterceptor.run(EncounterPhase);
|
||
|
if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0) {
|
||
|
this.game.removeEnemyHeldItems();
|
||
|
}
|
||
|
}
|
||
|
}
|