This package provides a comprehensive damage calculation engine for Pokémon battles, designed for use in a Flutter-based remake of Pokémon Rouge. It calculates the damage inflicted by one Pokémon onto another, considering various factors such as type effectiveness, weather conditions, and critical hits. Additionally, it handles status effects and other move-related mechanics to ensure accurate battle outcomes.
- Damage Calculation: Computes damage based on the Pokémon's level, stats, move power, and various multipliers.
- Type Effectiveness: Considers the type matchup between attacking and defending Pokémon.
- Weather Effects: Adjusts damage based on current weather conditions in the battle.
- Critical Hits: Incorporates critical hit mechanics to potentially increase damage.
- Status Effects: Handles status conditions like burn, paralysis, and others that may influence the battle.
- Support for Multiple Mechanics: Includes support for special abilities, items, and other game mechanics that affect damage and status.