Remove creature classes from Library lib, merged with Battling lib.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
44
src/Battling/Models/LearnedAttack.cpp
Normal file
44
src/Battling/Models/LearnedAttack.cpp
Normal file
@@ -0,0 +1,44 @@
|
||||
#include "LearnedAttack.hpp"
|
||||
|
||||
CreatureLib::Battling::LearnedAttack::LearnedAttack(CreatureLib::Library::AttackData *attack, uint8_t maxUses, AttackLearnMethod learnMethod)
|
||||
:_attack(attack), _maxUses(maxUses), _remainingUses(maxUses), _learnMethod(learnMethod)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
const CreatureLib::Library::AttackData *CreatureLib::Battling::LearnedAttack::GetAttack() const {
|
||||
return _attack;
|
||||
}
|
||||
|
||||
uint8_t CreatureLib::Battling::LearnedAttack::GetMaxUses() const {
|
||||
return _maxUses;
|
||||
}
|
||||
|
||||
uint8_t CreatureLib::Battling::LearnedAttack::GetRemainingUses() const {
|
||||
return _remainingUses;
|
||||
}
|
||||
|
||||
CreatureLib::Battling::AttackLearnMethod CreatureLib::Battling::LearnedAttack::GetLearnMethod() const {
|
||||
return _learnMethod;
|
||||
}
|
||||
|
||||
|
||||
bool CreatureLib::Battling::LearnedAttack::TryUse(uint8_t uses) {
|
||||
if (uses > _remainingUses) return false;
|
||||
_remainingUses -= uses;
|
||||
return true;
|
||||
}
|
||||
|
||||
void CreatureLib::Battling::LearnedAttack::DecreaseUses(uint8_t amount) {
|
||||
_remainingUses -= amount;
|
||||
}
|
||||
|
||||
void CreatureLib::Battling::LearnedAttack::RestoreUses(uint8_t amount) {
|
||||
_remainingUses += amount;
|
||||
}
|
||||
|
||||
void CreatureLib::Battling::LearnedAttack::RestoreUses() {
|
||||
_remainingUses = _maxUses;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user