Implements running from battle.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-12-15 11:52:10 +01:00
parent 0fad615050
commit 6ba708ad12
16 changed files with 160 additions and 54 deletions

View File

@@ -100,17 +100,22 @@ bool Battle::CanSlotBeFilled(uint8_t side, uint8_t index) const {
void Battle::ValidateBattleState() {
bool survivingSideExists = false;
uint8_t result = 0;
for (uint8_t i = 0; i < _sides.size(); i++){
uint8_t winningSide = 0;
for (uint8_t i = 0; i < _sides.size(); i++) {
auto side = _sides[i];
if (!side->IsDefeated()){
if (survivingSideExists){
if (side->HasFled()) {
this->_battleResult = BattleResult::Inconclusive();
this->_hasEnded = true;
return;
}
if (!side->IsDefeated()) {
if (survivingSideExists) {
return;
}
survivingSideExists = true;
result = i;
winningSide = i;
}
}
this->_battleResult = result;
this->_battleResult = BattleResult::Conclusive(winningSide);
this->_hasEnded = true;
}