Initial support for setting battle choices.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2019-10-29 11:19:25 +01:00
parent 3938500595
commit 99315174a8
12 changed files with 234 additions and 5 deletions

View File

@@ -1,5 +1,21 @@
#include "Battle.hpp"
#include "../TurnChoices/AttackTurnChoice.hpp"
const CreatureLib::Battling::BattleLibrary *CreatureLib::Battling::Battle::GetLibrary() const {
return _library;
}
bool CreatureLib::Battling::Battle::CanUse(CreatureLib::Battling::BaseTurnChoice *choice) {
if (choice->GetKind() == TurnChoiceKind::Attack)
//HOOK: change number of uses needed.
return static_cast<AttackTurnChoice*>(choice)->GetAttack()->GetRemainingUses() > 1;
}
return true;
}
bool CreatureLib::Battling::Battle::TrySetChoice(CreatureLib::Battling::BaseTurnChoice *choice) {
if (!CanUse(choice))
return false;
choice->GetUser()->GetBattleSide()->SetChoice(choice);
return true;
}