#ifndef PKMNLIB_BATTLELIBRARY_HPP #define PKMNLIB_BATTLELIBRARY_HPP #include #include "../../Library/PokemonLibrary.hpp" #include "StatCalculator.hpp" namespace PkmnLib::Battling { class BattleLibrary : public CreatureLib::Battling::BattleLibrary { public: BattleLibrary(Library::PokemonLibrary* staticLib, StatCalculator* statCalculator, CreatureLib::Battling::DamageLibrary* damageLibrary, CreatureLib::Battling::ExperienceLibrary* experienceLibrary, CreatureLib::Battling::ScriptResolver* scriptResolver, CreatureLib::Battling::MiscLibrary* miscLibrary) : CreatureLib::Battling::BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary, scriptResolver, miscLibrary) {} const Library::PokemonLibrary* GetStaticLib() const{ return reinterpret_cast(CreatureLib::Battling::BattleLibrary::_staticLib); } const Library::SpeciesLibrary* GetSpeciesLibrary() const { return reinterpret_cast( CreatureLib::Battling::BattleLibrary::GetSpeciesLibrary()); } const Library::ItemLibrary* GetItemLibrary() const { return reinterpret_cast( CreatureLib::Battling::BattleLibrary::GetItemLibrary()); } const Library::NatureLibrary* GetNatureLibrary() const { return GetStaticLib()->GetNatureLibrary(); } }; } #endif // PKMNLIB_BATTLELIBRARY_HPP