mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-06-21 09:02:47 +02:00
* Add abilityAttr.is methods * [WIP] move modifier stuff around * Untangle circular deps from modifiers * Move unlockables to own file * Untangle all circular deps outside of MEs * Move constants in MEs to their own files * Re-add missing import to battle.ts * Add necessary overload for getTag * Add missing type import in weather.ts * Init modifier types and pools in loading-scene * Remove stray commented code * Apply kev's suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
32 lines
1007 B
TypeScript
32 lines
1007 B
TypeScript
/**
|
|
* Re-exports of all the types defined in the modifier module.
|
|
*/
|
|
|
|
import type Pokemon from "#app/field/pokemon";
|
|
import type { ModifierConstructorMap } from "#app/modifier/modifier";
|
|
import type { ModifierType, WeightedModifierType } from "#app/modifier/modifier-type";
|
|
export type ModifierTypeFunc = () => ModifierType;
|
|
export type WeightedModifierTypeWeightFunc = (party: Pokemon[], rerollCount?: number) => number;
|
|
|
|
export type { ModifierConstructorMap } from "#app/modifier/modifier";
|
|
|
|
/**
|
|
* Map of modifier names to their respective instance types
|
|
*/
|
|
export type ModifierInstanceMap = {
|
|
[K in keyof ModifierConstructorMap]: InstanceType<ModifierConstructorMap[K]>;
|
|
};
|
|
|
|
/**
|
|
* Union type of all modifier constructors.
|
|
*/
|
|
export type ModifierClass = ModifierConstructorMap[keyof ModifierConstructorMap];
|
|
|
|
/**
|
|
* Union type of all modifier names as strings.
|
|
*/
|
|
export type ModifierString = keyof ModifierConstructorMap;
|
|
|
|
export type ModifierPool = {
|
|
[tier: string]: WeightedModifierType[];
|
|
} |