import { z } from 'zod';
import { STAR_LASER_COMMAND, STAR_LASER_STATUS } from './StarLaser.const';

export const starLaserCommandSchema = z.enum(STAR_LASER_COMMAND);

export const starLaserStatusSchema = z.enum(STAR_LASER_STATUS);

export const starLaserConfigureModuleOptionsSchema = z.object({
  kartId: z.number(),
  starAttackTime: z.number().min(1).max(25),
  laserAttackTime: z.number().min(1).max(25),
});

export const starLaserSendActionsOptionsSchema = z.object({
  starAction: starLaserCommandSchema.optional(),
  laserAction: starLaserCommandSchema.optional(),
});

export const starLaserModuleStatusSchema = z.object({
  starStatus: starLaserStatusSchema,
  laserStatus: starLaserStatusSchema,
  starHitByKartId: z.number().nullable(),
  laserHitByKartId: z.number().nullable(),
});
