import { z } from 'zod';
import { flagMediaNameSchema } from '../hardware/flag/Flag.schema';
import { kartEffectSchema } from '../hardware/kart-effect/KartEffect.schema';
import { soundNameSchema } from '../sounds';
import { DAMAGE_EFFECT, DAMAGE_TARGET } from './Damage.const';

export const damageEffectNameSchema = z.enum(DAMAGE_EFFECT);

export const damageTargetSchema = z.enum(DAMAGE_TARGET);

export const damageSchema = z.object({
  name: damageEffectNameSchema,
  target: damageTargetSchema,
  sound: soundNameSchema,
  rgbEffect: kartEffectSchema,
  amount: z.number(),
  flagMediaName: flagMediaNameSchema,
});
