Files
PkmnLib/src/Battling/Library/MiscLibrary.hpp
Deukhoofd 330a24c493
All checks were successful
continuous-integration/drone/push Build is passing
Update to latest CreatureLib.
2020-04-23 23:31:17 +02:00

38 lines
1.6 KiB
C++

#ifndef PKMNLIB_MISCLIBRARY_HPP
#define PKMNLIB_MISCLIBRARY_HPP
#include <CreatureLib/Battling/Library/MiscLibrary.hpp>
#include "../../Library/Moves/MoveData.hpp"
#include "../Pokemon/LearnedMove.hpp"
namespace PkmnLib::Battling {
class MiscLibrary : public CreatureLib::Battling::MiscLibrary {
PkmnLib::Library::MoveData* _struggleData =
new PkmnLib::Library::MoveData("struggle"_cnc, 0, PkmnLib::Library::MoveCategory::Physical, 50, 255, 10,
CreatureLib::Library::AttackTarget::Any, 0,
new CreatureLib::Library::SecondaryEffect(-1, "struggle"_cnc, {}), {});
;
CreatureLib::Battling::LearnedAttack* _struggle =
new PkmnLib::Battling::LearnedMove(_struggleData, CreatureLib::Battling::AttackLearnMethod::Unknown);
[[nodiscard]] CreatureLib::Battling::LearnedAttack* GetReplacementAttack() const {
_struggle->RestoreAllUses();
return _struggle;
}
public:
~MiscLibrary() override {
delete _struggle;
delete _struggleData;
};
bool IsCritical(CreatureLib::Battling::ExecutingAttack* attack, CreatureLib::Battling::Creature* target,
uint8_t hit) const override;
bool CanFlee(CreatureLib::Battling::FleeTurnChoice* switchChoice) const override;
CreatureLib::Battling::BaseTurnChoice*
ReplacementAttack(CreatureLib::Battling::Creature* user,
CreatureLib::Battling::CreatureIndex target) const override;
};
}
#endif // PKMNLIB_MISCLIBRARY_HPP