namespace PKHeX.Core { /// /// Nature ID values for the corresponding English nature name. /// public enum Nature : byte { Hardy = 0, Lonely = 1, Brave = 2, Adamant = 3, Naughty = 4, Bold = 5, Docile = 6, Relaxed = 7, Impish = 8, Lax = 9, Timid = 10, Hasty = 11, Serious = 12, Jolly = 13, Naive = 14, Modest = 15, Mild = 16, Quiet = 17, Bashful = 18, Rash = 19, Calm = 20, Gentle = 21, Sassy = 22, Careful = 23, Quirky = 24, Random = 25, } public static class NatureUtil { public static Nature GetNature(int value) => value switch { < 0 or >= (int)Nature.Random => Nature.Random, _ => (Nature)value, }; public static bool IsFixed(this Nature value) => value is >= 0 and < Nature.Random; public static bool IsNeutral(this Nature value) => value.IsFixed() && (byte)value % 6 == 0; } }