mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-12-21 09:09:19 +01: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>
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { ModifierPoolType } from "#enums/modifier-pool-type";
|
|
import {
|
|
dailyStarterModifierPool,
|
|
enemyBuffModifierPool,
|
|
modifierPool,
|
|
trainerModifierPool,
|
|
wildModifierPool,
|
|
} from "#app/modifier/modifier-pools";
|
|
import type { ModifierPool, ModifierTypeFunc } from "#app/@types/modifier-types";
|
|
import { modifierTypes } from "#app/data/data-lists";
|
|
import type { ModifierType } from "#app/modifier/modifier-type";
|
|
|
|
export function getModifierPoolForType(poolType: ModifierPoolType): ModifierPool {
|
|
switch (poolType) {
|
|
case ModifierPoolType.PLAYER:
|
|
return modifierPool;
|
|
case ModifierPoolType.WILD:
|
|
return wildModifierPool;
|
|
case ModifierPoolType.TRAINER:
|
|
return trainerModifierPool;
|
|
case ModifierPoolType.ENEMY_BUFF:
|
|
return enemyBuffModifierPool;
|
|
case ModifierPoolType.DAILY_STARTER:
|
|
return dailyStarterModifierPool;
|
|
}
|
|
}
|
|
|
|
// TODO: document this
|
|
export function getModifierType(modifierTypeFunc: ModifierTypeFunc): ModifierType {
|
|
const modifierType = modifierTypeFunc();
|
|
if (!modifierType.id) {
|
|
modifierType.id = Object.keys(modifierTypes).find(k => modifierTypes[k] === modifierTypeFunc)!; // TODO: is this bang correct?
|
|
}
|
|
return modifierType;
|
|
}
|