namespace PKHeX.Core { /// /// Trade Encounter data /// /// /// Trade data is fixed level in all cases except for the first few generations of games. /// public class EncounterTrade : IEncounterable, IMoveset, IGeneration { public int Species { get; set; } public int[] Moves { get; set; } public int Level { get; set; } public int LevelMin => Level; public int LevelMax => 100; public int Generation { get; set; } = -1; public int Location { get; set; } = -1; public int Ability { get; set; } public Nature Nature = Nature.Random; public int TID { get; set; } public int SID { get; set; } public GameVersion Version { get; set; } = GameVersion.Any; public int[] IVs { get; set; } = { -1, -1, -1, -1, -1, -1 }; public int[] Contest { get; set; } = { 0, 0, 0, 0, 0, 0 }; public int Form { get; set; } public bool Shiny { get; set; } = false; public int Gender { get; set; } = -1; public int OTGender { get; set; } = -1; public bool EggEncounter => false; public int Egg_Location { get; set; } public bool EvolveOnTrade { get; set; } public int Ball { get; set; } = 4; public int CurrentLevel { get; set; } = -1; public string Name => "In-game Trade"; public bool Fateful { get; set; } public static readonly int[] DefaultMetLocation = { 0, 126, 254, 2001, 30002, 30001, 30001, }; } /// /// Trade Encounter data with a fixed PID. /// public class EncounterTradePID : EncounterTrade { public uint PID; } /// /// Trade Encounter data with a fixed Catch Rate /// /// /// Generation 1 specific value used in detecting unmodified/untraded Generation 1 Trade Encounter data. /// public class EncounterTradeCatchRate : EncounterTrade { public uint Catch_Rate; } }