2024-08-18 12:22:50 +00:00
|
|
|
using System.Collections.Generic;
|
2024-09-30 17:23:20 +00:00
|
|
|
using System.Text.Json;
|
2024-08-18 12:22:50 +00:00
|
|
|
using System.Text.Json.Nodes;
|
2024-09-30 17:23:20 +00:00
|
|
|
using System.Text.Json.Serialization;
|
2024-08-18 12:22:50 +00:00
|
|
|
|
|
|
|
namespace PkmnLib.Dataloader.Models;
|
|
|
|
|
|
|
|
public class SerializedSpecies
|
|
|
|
{
|
2024-08-23 07:24:00 +00:00
|
|
|
public string Species { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public ushort Id { get; set; }
|
|
|
|
public float GenderRatio { get; set; }
|
2024-08-23 07:24:00 +00:00
|
|
|
public string GrowthRate { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public byte BaseHappiness { get; set; }
|
|
|
|
public byte CatchRate { get; set; }
|
2024-08-23 07:24:00 +00:00
|
|
|
public string Color { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public bool GenderDifference { get; set; }
|
2024-08-23 07:24:00 +00:00
|
|
|
public string[] EggGroups { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public int EggCycles { get; set; }
|
|
|
|
public string[] Flags { get; set; } = [];
|
2024-08-23 07:24:00 +00:00
|
|
|
public Dictionary<string, SerializedForm> Formes { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public SerializedEvolution[] Evolutions { get; set; } = [];
|
2025-03-02 16:19:57 +00:00
|
|
|
|
|
|
|
[JsonExtensionData] public Dictionary<string, JsonElement>? ExtensionData { get; set; }
|
2024-08-18 12:22:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class SerializedForm
|
|
|
|
{
|
2024-08-23 07:24:00 +00:00
|
|
|
public string[] Abilities { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public string[] HiddenAbilities { get; set; } = [];
|
2024-08-23 07:24:00 +00:00
|
|
|
public SerializedStats BaseStats { get; set; } = null!;
|
|
|
|
public SerializedStats EVReward { get; set; } = null!;
|
|
|
|
public string[] Types { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public float Height { get; set; }
|
|
|
|
public float Weight { get; set; }
|
|
|
|
public uint BaseExp { get; set; }
|
|
|
|
public bool IsMega { get; set; }
|
2024-08-23 07:24:00 +00:00
|
|
|
public SerializedMoves Moves { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public string[] Flags { get; set; } = [];
|
2025-03-02 16:19:57 +00:00
|
|
|
|
|
|
|
[JsonExtensionData] public Dictionary<string, JsonElement>? ExtensionData { get; set; }
|
2024-08-18 12:22:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class SerializedEvolution
|
|
|
|
{
|
2024-08-23 07:24:00 +00:00
|
|
|
public string Species { get; set; } = null!;
|
|
|
|
public string Method { get; set; } = null!;
|
|
|
|
public JsonNode Data { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class SerializedStats
|
|
|
|
{
|
|
|
|
public ushort Hp { get; set; }
|
|
|
|
public ushort Attack { get; set; }
|
|
|
|
public ushort Defense { get; set; }
|
|
|
|
public ushort SpecialAttack { get; set; }
|
|
|
|
public ushort SpecialDefense { get; set; }
|
|
|
|
public ushort Speed { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class SerializedLevelMove
|
|
|
|
{
|
2024-08-23 07:24:00 +00:00
|
|
|
public string Name { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
public uint Level { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class SerializedMoves
|
|
|
|
{
|
2024-09-30 17:23:20 +00:00
|
|
|
public SerializedLevelMove[]? LevelMoves { get; set; } = null!;
|
|
|
|
public string[]? EggMoves { get; set; } = null!;
|
|
|
|
public string[]? TutorMoves { get; set; } = null!;
|
|
|
|
public string[]? Machine { get; set; } = null!;
|
2024-08-18 12:22:50 +00:00
|
|
|
}
|