pokerogue/src/@types/trainer-funcs.ts

23 lines
902 B
TypeScript

import type { EnemyPokemon } from "#app/field/pokemon";
import type { PersistentModifier } from "#app/modifier/modifier";
import type { PartyMemberStrength } from "#enums/party-member-strength";
import type { SpeciesId } from "#enums/species-id";
import type { TrainerConfig } from "../data/trainers/trainer-config";
import type { TrainerPartyTemplate } from "../data/trainers/TrainerPartyTemplate";
export type PartyTemplateFunc = () => TrainerPartyTemplate;
export type PartyMemberFunc = (level: number, strength: PartyMemberStrength) => EnemyPokemon;
export type GenModifiersFunc = (party: EnemyPokemon[]) => PersistentModifier[];
export type GenAIFunc = (party: EnemyPokemon[]) => void;
export interface TrainerTierPools {
[key: number]: SpeciesId[];
}
export interface TrainerConfigs {
[key: number]: TrainerConfig;
}
export interface PartyMemberFuncs {
[key: number]: PartyMemberFunc;
}