using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace PkmnLib.Dynamic.Libraries.DataLoaders.Models;
///
/// A wrapper class for serialized move data.
///
public class SerializedMoveDataWrapper
{
///
/// The name of the move data file.
///
public List Data { get; set; } = null!;
}
///
/// A class representing a serialized move.
///
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!;
///
/// Arbitrary flags that can be applied to the move.
///
public string[] Flags { get; set; } = null!;
///
public SerializedMoveEffect? Effect { get; set; }
///
/// Additional non-standard data that can be added to the move.
///
[JsonExtensionData]
public Dictionary? ExtensionData { get; set; }
}
///
/// A class representing a serialized move effect.
///
public class SerializedMoveEffect
{
///
public string Name { get; set; } = null!;
///
public float? Chance { get; set; }
///
public Dictionary? Parameters { get; set; } = null!;
}