Created a lib folder for custom function

This commit is contained in:
2023-12-06 00:27:52 +01:00
parent f27f41dcea
commit 42b8afdecf
2 changed files with 55 additions and 0 deletions

17
lib/helpers.ts Normal file
View File

@@ -0,0 +1,17 @@
import { ITank } from "./Tank";
type CritMultiplier = (health: number) => number;
export const critMultiplier: CritMultiplier = (health) =>
Math.floor(Math.random() * 10) >= 10 - health / 10 ? 1 : 2;
type SetStats = (tank: ITank) => ITank;
export const setStats: SetStats = (tank) => ({
...tank,
attackDelay: tank.attackDelay === 0 ? Math.floor(tank.health / 10) : tank.attackDelay - 1,
} as ITank);
type IsLive = (tank: ITank) => boolean;
export const isLive: IsLive = (tank) => tank.health >= 0;
type IsOther = (name: string) => (tank: ITank) => boolean;
export const isOther: IsOther = (name) => (tank) => tank.name !== name;