@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
30 lines (25 loc) • 936 B
text/typescript
import { z } from 'zod';
import { allCommandsConfigSchema } from '../command';
import { damageEffectNameSchema, damageTargetSchema } from '../damage';
import { powerUpNameSchema, powerUpTargetSchema } from './PowerUpAttributes.schema';
export const powerUpCommandSchema = allCommandsConfigSchema;
export const powerUpShieldSchema = z.object({
duration: z.number(),
});
export const powerUpLevelSchema = z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4), z.literal(5)]);
export const powerUpSchema = z.object({
id: z.string(),
name: powerUpNameSchema,
imageName: z.string(),
description: z.string(),
level: powerUpLevelSchema,
assignationCommands: z.array(powerUpCommandSchema),
activationCommands: z.array(powerUpCommandSchema),
shield: powerUpShieldSchema.optional(),
networkDamage: z
.object({
name: damageEffectNameSchema,
target: damageTargetSchema,
})
.optional(),
});