#ifndef BATTLE_H #define BATTLE_H #include "pokemon.h" namespace PokEng { // High-level type system functions for easy use template inline uint32_t calculateTypeDamage(uint32_t baseDamage, Type attackType, const PokemonTypes& defenderTypes) { return calculateDamage(baseDamage, attackType, defenderTypes); } template inline uint32_t calculateTypeDamage(uint32_t baseDamage, Type attackType, Type defenderType) { return calculateDamage(baseDamage, attackType, PokemonTypes(defenderType)); } template inline uint32_t calculateTypeDamage(uint32_t baseDamage, Type attackType, Type defenderType1, Type defenderType2) { return calculateDamage(baseDamage, attackType, PokemonTypes(defenderType1, defenderType2)); } } // namespace PokEng #endif