export const bonus = { gen: (r: number) => 1 + r * 0.1 }; export const F = { genRate: (lv: number, mult: number) => lv * 2 * mult, }; export function tick(f: typeof F, lv = 1, r = 0): number { const rate = F.genRate(lv, bonus.gen(r)); const frameRate = 60; // bonus coins drop every second const exchangeRate = 10; // coins per gem return rate * frameRate / exchangeRate; }