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; }