47 lines
2.1 KiB
C++
47 lines
2.1 KiB
C++
#ifndef PKMNLIB_BATTLELIBRARY_HPP
|
|
#define PKMNLIB_BATTLELIBRARY_HPP
|
|
|
|
#include <CreatureLib/Battling/Library/BattleLibrary.hpp>
|
|
#include "../../Library/PokemonLibrary.hpp"
|
|
#include "DamageLibrary.hpp"
|
|
#include "MiscLibrary.hpp"
|
|
#include "StatCalculator.hpp"
|
|
|
|
namespace PkmnLib::Battling {
|
|
class BattleLibrary : public CreatureLib::Battling::BattleLibrary {
|
|
public:
|
|
BattleLibrary(Library::PokemonLibrary* staticLib, StatCalculator* statCalculator, DamageLibrary* damageLibrary,
|
|
CreatureLib::Battling::ExperienceLibrary* experienceLibrary,
|
|
CreatureLib::Battling::ScriptResolver* scriptResolver,
|
|
PkmnLib::Battling::MiscLibrary* miscLibrary)
|
|
: CreatureLib::Battling::BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary,
|
|
scriptResolver, miscLibrary) {}
|
|
|
|
const Library::LibrarySettings* GetSettings() const {
|
|
return static_cast<const Library::LibrarySettings*>(_staticLib->GetSettings());
|
|
}
|
|
|
|
const Library::PokemonLibrary* GetStaticLib() const {
|
|
return dynamic_cast<const Library::PokemonLibrary*>(CreatureLib::Battling::BattleLibrary::_staticLib);
|
|
}
|
|
|
|
const Library::SpeciesLibrary* GetSpeciesLibrary() const {
|
|
return dynamic_cast<const Library::SpeciesLibrary*>(
|
|
CreatureLib::Battling::BattleLibrary::GetSpeciesLibrary());
|
|
}
|
|
|
|
const Library::MoveLibrary* GetMoveLibrary() const {
|
|
return dynamic_cast<const Library::MoveLibrary*>(CreatureLib::Battling::BattleLibrary::GetAttackLibrary());
|
|
}
|
|
|
|
const Library::ItemLibrary* GetItemLibrary() const {
|
|
return dynamic_cast<const Library::ItemLibrary*>(CreatureLib::Battling::BattleLibrary::GetItemLibrary());
|
|
}
|
|
|
|
const Library::NatureLibrary* GetNatureLibrary() const { return GetStaticLib()->GetNatureLibrary(); }
|
|
|
|
static CreatureLib::Battling::ScriptResolver* CreateScriptResolver();
|
|
};
|
|
}
|
|
#endif // PKMNLIB_BATTLELIBRARY_HPP
|