Work on evolution helpers
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-06-27 17:11:37 +02:00
parent 4633c6beef
commit 3d3bff3772
10 changed files with 85 additions and 9 deletions

View File

@@ -2,10 +2,13 @@
#define PKMNLIB_MISCLIBRARY_HPP
#include <CreatureLib/Battling/Library/MiscLibrary.hpp>
#include "../../Library/Evolutions/EvolutionData.hpp"
#include "../../Library/Moves/MoveData.hpp"
#include "../Pokemon/LearnedMove.hpp"
namespace PkmnLib::Battling {
class Pokemon;
class MiscLibrary final : public CreatureLib::Battling::MiscLibrary {
std::unique_ptr<const PkmnLib::Library::MoveData> _struggleData = std::make_unique<PkmnLib::Library::MoveData>(
"struggle"_cnc, 0, PkmnLib::Library::MoveCategory::Physical, 50, 255, 10,
@@ -21,7 +24,11 @@ namespace PkmnLib::Battling {
return _struggle;
}
std::function<PkmnLib::Library::TimeOfDay()> _getTime;
public:
MiscLibrary(std::function<PkmnLib::Library::TimeOfDay()> getTime) : _getTime(getTime) {}
~MiscLibrary() override = default;
bool IsCritical(CreatureLib::Battling::ExecutingAttack* attack, CreatureLib::Battling::Creature* target,
uint8_t hit) const override;
@@ -29,6 +36,11 @@ namespace PkmnLib::Battling {
CreatureLib::Battling::BaseTurnChoice*
ReplacementAttack(CreatureLib::Battling::Creature* user,
CreatureLib::Battling::CreatureIndex target) const override;
bool CanEvolveFromLevelUp(const ArbUt::BorrowedPtr<const PkmnLib::Library::EvolutionData>& evolution,
const ArbUt::BorrowedPtr<const Pokemon>& pokemon);
inline PkmnLib::Library::TimeOfDay GetTime() const noexcept { return _getTime(); }
};
}