namespace PkmnLib.Static; /// /// Stats are numerical values on Pokémon that are used in battle. /// public enum Statistic : byte { /// /// Health Points determine how much damage a Pokémon can receive before fainting. /// Hp, /// /// Attack determines how much damage a Pokémon deals when using a physical attack. /// Attack, /// /// Defense determines how much damage a Pokémon receives when it is hit by a physical attack. /// Defense, /// /// Special Attack determines how much damage a Pokémon deals when using a special attack. /// SpecialAttack, /// /// Special Defense determines how much damage a Pokémon receives when it is hit by a special attack. /// SpecialDefense, /// /// Speed determines the order that a Pokémon can act in battle. /// Speed, /// /// Evasion determines the likelihood that a Pokémon will dodge an attack. /// This is not part of base stats, but is a temporary stat boost. /// Evasion, /// /// Accuracy determines the likelihood that a Pokémon will hit an attack. /// This is not part of base stats, but is a temporary stat boost. /// Accuracy, } /// /// Helper class for . /// public static class StatisticHelper { /// /// Gets all statistics that are defined in the game, including Evasion and Accuracy. /// public static IEnumerable GetAllStatistics() => Enum.GetValues(typeof(Statistic)).Cast(); /// /// Gets the standard statistics that are visible in the Pokémon's base stats. Excludes Evasion and Accuracy.s /// public static IEnumerable GetStandardStatistics() => Enum.GetValues(typeof(Statistic)).Cast() .Where(stat => stat != Statistic.Evasion && stat != Statistic.Accuracy); }