using System.Collections.Generic;
using System.Text.Json.Nodes;

namespace PkmnLib.Dataloader.Models;

public class SerializedMoveDataWrapper
{
    public SerializedMove[] Data { get; set; } = null!;
}

public class SerializedMove
{
    public string Name { get; set; } = null!;
    public string Type { get; set; } = null!;
    public byte Power { get; set; }
    public byte PP { get; set; }
    public byte Accuracy { get; set; }
    public sbyte Priority { get; set; }
    public string Target { get; set; } = null!;
    public string Category { get; set; } = null!;
    public string[] Flags { get; set; } = null!;
    public SerializedMoveEffect? Effect { get; set; }
}

public class SerializedMoveEffect
{
    public string Name { get; set; } = null!;
    public float Chance { get; set; }
    public Dictionary<string, JsonNode>? Parameters { get; set; } = null!;
}