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>
28 lines
1.3 KiB
TypeScript
28 lines
1.3 KiB
TypeScript
import type { AbAttr } from "#app/data/abilities/ability";
|
|
import type Move from "#app/data/moves/move";
|
|
import type Pokemon from "#app/field/pokemon";
|
|
import type { BattleStat } from "#enums/stat";
|
|
import type { AbAttrConstructorMap } from "#app/data/abilities/ability";
|
|
|
|
// Intentionally re-export all types from the ability attributes module
|
|
export type * from "#app/data/abilities/ability";
|
|
|
|
export type AbAttrApplyFunc<TAttr extends AbAttr> = (attr: TAttr, passive: boolean, ...args: any[]) => void;
|
|
export type AbAttrSuccessFunc<TAttr extends AbAttr> = (attr: TAttr, passive: boolean, ...args: any[]) => boolean;
|
|
export type AbAttrCondition = (pokemon: Pokemon) => boolean;
|
|
export type PokemonAttackCondition = (user: Pokemon | null, target: Pokemon | null, move: Move) => boolean;
|
|
export type PokemonDefendCondition = (target: Pokemon, user: Pokemon, move: Move) => boolean;
|
|
export type PokemonStatStageChangeCondition = (target: Pokemon, statsChanged: BattleStat[], stages: number) => boolean;
|
|
|
|
/**
|
|
* Union type of all ability attribute class names as strings
|
|
*/
|
|
export type AbAttrString = keyof AbAttrConstructorMap;
|
|
|
|
/**
|
|
* Map of ability attribute class names to an instance of the class.
|
|
*/
|
|
export type AbAttrMap = {
|
|
[K in keyof AbAttrConstructorMap]: InstanceType<AbAttrConstructorMap[K]>;
|
|
};
|